Merge "Ensure animator's interpolator is set" into nyc-dev
diff --git a/Android.mk b/Android.mk
index 6ec434c..9183771 100644
--- a/Android.mk
+++ b/Android.mk
@@ -215,6 +215,7 @@
core/java/android/os/IBatteryPropertiesRegistrar.aidl \
core/java/android/os/ICancellationSignal.aidl \
core/java/android/os/IDeviceIdleController.aidl \
+ core/java/android/os/IHardwarePropertiesManager.aidl \
core/java/android/os/IMaintenanceActivityListener.aidl \
core/java/android/os/IMessenger.aidl \
core/java/android/os/INetworkActivityListener.aidl \
@@ -455,7 +456,7 @@
$(framework_res_source_path)/com/android/internal/R.java
LOCAL_NO_STANDARD_LIBRARIES := true
-LOCAL_JAVA_LIBRARIES := core-oj core-libart conscrypt okhttp core-junit bouncycastle ext
+LOCAL_JAVA_LIBRARIES := core-oj core-libart core-lambda-stubs conscrypt okhttp core-junit bouncycastle ext
LOCAL_STATIC_JAVA_LIBRARIES := framework-protos
LOCAL_MODULE := framework
diff --git a/api/current.txt b/api/current.txt
index 1022ee1..abc9e9a 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -4880,7 +4880,6 @@
method public android.graphics.drawable.Icon getLargeIcon();
method public android.graphics.drawable.Icon getSmallIcon();
method public java.lang.String getSortKey();
- method public android.app.Notification.Topic getTopic();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.media.AudioAttributes AUDIO_ATTRIBUTES_DEFAULT;
field public static final java.lang.String CATEGORY_ALARM = "alarm";
@@ -4944,7 +4943,6 @@
field public static final int PRIORITY_MAX = 2; // 0x2
field public static final int PRIORITY_MIN = -2; // 0xfffffffe
field public static final deprecated int STREAM_DEFAULT = -1; // 0xffffffff
- field public static final java.lang.String TOPIC_DEFAULT = "system_default_topic";
field public static final int VISIBILITY_PRIVATE = 0; // 0x0
field public static final int VISIBILITY_PUBLIC = 1; // 0x1
field public static final int VISIBILITY_SECRET = -1; // 0xffffffff
@@ -5096,7 +5094,6 @@
method public android.app.Notification.Builder setSubText(java.lang.CharSequence);
method public android.app.Notification.Builder setTicker(java.lang.CharSequence);
method public deprecated android.app.Notification.Builder setTicker(java.lang.CharSequence, android.widget.RemoteViews);
- method public android.app.Notification.Builder setTopic(android.app.Notification.Topic);
method public android.app.Notification.Builder setUsesChronometer(boolean);
method public android.app.Notification.Builder setVibrate(long[]);
method public android.app.Notification.Builder setVisibility(int);
@@ -5134,6 +5131,16 @@
method public android.app.PendingIntent getReplyPendingIntent();
}
+ public static class Notification.DecoratedCustomViewStyle extends android.app.Notification.Style {
+ ctor public Notification.DecoratedCustomViewStyle();
+ ctor public Notification.DecoratedCustomViewStyle(android.app.Notification.Builder);
+ }
+
+ public static class Notification.DecoratedMediaCustomViewStyle extends android.app.Notification.MediaStyle {
+ ctor public Notification.DecoratedMediaCustomViewStyle();
+ ctor public Notification.DecoratedMediaCustomViewStyle(android.app.Notification.Builder);
+ }
+
public static abstract interface Notification.Extender {
method public abstract android.app.Notification.Builder extend(android.app.Notification.Builder);
}
@@ -5164,16 +5171,6 @@
field protected android.app.Notification.Builder mBuilder;
}
- public static class Notification.Topic implements android.os.Parcelable {
- ctor public Notification.Topic(java.lang.String, java.lang.CharSequence);
- method public android.app.Notification.Topic clone();
- method public int describeContents();
- method public java.lang.String getId();
- method public java.lang.CharSequence getLabel();
- method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.Notification.Topic> CREATOR;
- }
-
public static final class Notification.WearableExtender implements android.app.Notification.Extender {
ctor public Notification.WearableExtender();
ctor public Notification.WearableExtender(android.app.Notification);
@@ -5236,7 +5233,7 @@
method public android.app.AutomaticZenRule getAutomaticZenRule(java.lang.String);
method public java.util.List<android.app.AutomaticZenRule> getAutomaticZenRules();
method public final int getCurrentInterruptionFilter();
- method public int getImportance(java.lang.String);
+ method public int getImportance();
method public android.app.NotificationManager.Policy getNotificationPolicy();
method public boolean isNotificationPolicyAccessGranted();
method public void notify(int, android.app.Notification);
@@ -19167,9 +19164,9 @@
method public double getDriftInNsPerSec();
method public double getDriftUncertaintyInNsPerSec();
method public long getFullBiasInNs();
+ method public int getHardwareClockDiscontinuityCount();
method public short getLeapSecond();
method public long getTimeInNs();
- method public long getTimeOfLastHwClockDiscontinuityInNs();
method public double getTimeUncertaintyInNs();
method public byte getType();
method public boolean hasBiasInNs();
@@ -19193,9 +19190,9 @@
method public void setDriftInNsPerSec(double);
method public void setDriftUncertaintyInNsPerSec(double);
method public void setFullBiasInNs(long);
+ method public void setHardwareClockDiscontinuityCount(int);
method public void setLeapSecond(short);
method public void setTimeInNs(long);
- method public void setTimeOfLastHwClockDiscontinuityInNs(long);
method public void setTimeUncertaintyInNs(double);
method public void setType(byte);
method public void writeToParcel(android.os.Parcel, int);
@@ -19223,6 +19220,7 @@
method public double getCn0InDbHz();
method public double getCodePhaseInChips();
method public double getCodePhaseUncertaintyInChips();
+ method public byte getConstellationType();
method public double getDopplerShiftInHz();
method public double getDopplerShiftUncertaintyInHz();
method public double getElevationInDeg();
@@ -19230,13 +19228,11 @@
method public byte getLossOfLock();
method public byte getMultipathIndicator();
method public double getPseudorangeInMeters();
- method public double getPseudorangeRateCarrierInMetersPerSec();
- method public double getPseudorangeRateCarrierUncertaintyInMetersPerSec();
method public double getPseudorangeRateInMetersPerSec();
method public double getPseudorangeRateUncertaintyInMetersPerSec();
method public double getPseudorangeUncertaintyInMeters();
- method public long getReceivedGpsTowInNs();
- method public long getReceivedGpsTowUncertaintyInNs();
+ method public long getReceivedSvTimeInNs();
+ method public long getReceivedSvTimeUncertaintyInNs();
method public double getSnrInDb();
method public short getState();
method public short getSvid();
@@ -19293,6 +19289,7 @@
method public void setCn0InDbHz(double);
method public void setCodePhaseInChips(double);
method public void setCodePhaseUncertaintyInChips(double);
+ method public void setConstellationType(byte);
method public void setDopplerShiftInHz(double);
method public void setDopplerShiftUncertaintyInHz(double);
method public void setElevationInDeg(double);
@@ -19300,13 +19297,11 @@
method public void setLossOfLock(byte);
method public void setMultipathIndicator(byte);
method public void setPseudorangeInMeters(double);
- method public void setPseudorangeRateCarrierInMetersPerSec(double);
- method public void setPseudorangeRateCarrierUncertaintyInMetersPerSec(double);
method public void setPseudorangeRateInMetersPerSec(double);
method public void setPseudorangeRateUncertaintyInMetersPerSec(double);
method public void setPseudorangeUncertaintyInMeters(double);
- method public void setReceivedGpsTowInNs(long);
- method public void setReceivedGpsTowUncertaintyInNs(long);
+ method public void setReceivedSvTimeInNs(long);
+ method public void setReceivedSvTimeUncertaintyInNs(long);
method public void setSnrInDb(double);
method public void setState(short);
method public void setSvid(short);
@@ -19367,7 +19362,7 @@
method public short getStatus();
method public short getSubmessageId();
method public short getSvid();
- method public byte getType();
+ method public short getType();
method public void reset();
method public void set(android.location.GnssNavigationMessage);
method public void setData(byte[]);
@@ -19375,14 +19370,19 @@
method public void setStatus(short);
method public void setSubmessageId(short);
method public void setSvid(short);
- method public void setType(byte);
+ method public void setType(short);
method public void writeToParcel(android.os.Parcel, int);
field public static final android.os.Parcelable.Creator<android.location.GnssNavigationMessage> CREATOR;
- field public static final byte MESSAGE_TYPE_CNAV2 = 4; // 0x4
- field public static final byte MESSAGE_TYPE_L1CA = 1; // 0x1
- field public static final byte MESSAGE_TYPE_L2CNAV = 2; // 0x2
- field public static final byte MESSAGE_TYPE_L5CNAV = 3; // 0x3
- field public static final byte MESSAGE_TYPE_UNKNOWN = 0; // 0x0
+ field public static final short MESSAGE_TYPE_BDS_D1 = 1281; // 0x501
+ field public static final short MESSAGE_TYPE_BDS_D2 = 1282; // 0x502
+ field public static final short MESSAGE_TYPE_GAL_F = 1538; // 0x602
+ field public static final short MESSAGE_TYPE_GAL_I = 1537; // 0x601
+ field public static final short MESSAGE_TYPE_GLO_L1CA = 769; // 0x301
+ field public static final short MESSAGE_TYPE_GPS_CNAV2 = 260; // 0x104
+ field public static final short MESSAGE_TYPE_GPS_L1CA = 257; // 0x101
+ field public static final short MESSAGE_TYPE_GPS_L2CNAV = 258; // 0x102
+ field public static final short MESSAGE_TYPE_GPS_L5CNAV = 259; // 0x103
+ field public static final short MESSAGE_TYPE_UNKNOWN = 0; // 0x0
field public static final short STATUS_PARITY_PASSED = 1; // 0x1
field public static final short STATUS_PARITY_REBUILT = 2; // 0x2
field public static final short STATUS_UNKNOWN = 0; // 0x0
@@ -19417,7 +19417,7 @@
public final class GnssStatus {
method public float getAzimuth(int);
- method public int getConstellationType(int);
+ method public byte getConstellationType(int);
method public float getElevation(int);
method public int getNumSatellites();
method public float getSnr(int);
@@ -19425,13 +19425,16 @@
method public boolean hasAlmanac(int);
method public boolean hasEphemeris(int);
method public boolean usedInFix(int);
- field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
- field public static final int CONSTELLATION_GALILEO = 6; // 0x6
- field public static final int CONSTELLATION_GLONASS = 3; // 0x3
- field public static final int CONSTELLATION_GPS = 1; // 0x1
- field public static final int CONSTELLATION_QZSS = 4; // 0x4
- field public static final int CONSTELLATION_SBAS = 2; // 0x2
- field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ field public static final byte CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final byte CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final byte CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final byte CONSTELLATION_GPS = 1; // 0x1
+ field public static final byte CONSTELLATION_QZSS = 4; // 0x4
+ field public static final byte CONSTELLATION_SBAS = 2; // 0x2
+ field public static final byte CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public static abstract class GnssStatus.ConstellationType implements java.lang.annotation.Annotation {
}
public abstract class GnssStatusCallback {
@@ -20975,6 +20978,7 @@
field public static final java.lang.String KEY_MAX_WIDTH = "max-width";
field public static final java.lang.String KEY_MIME = "mime";
field public static final java.lang.String KEY_OPERATING_RATE = "operating-rate";
+ field public static final java.lang.String KEY_PCM_ENCODING = "pcm-encoding";
field public static final java.lang.String KEY_PRIORITY = "priority";
field public static final java.lang.String KEY_PROFILE = "profile";
field public static final java.lang.String KEY_PUSH_BLANK_BUFFERS_ON_STOP = "push-blank-buffers-on-shutdown";
@@ -22549,6 +22553,10 @@
method public void playFromMediaId(java.lang.String, android.os.Bundle);
method public void playFromSearch(java.lang.String, android.os.Bundle);
method public void playFromUri(android.net.Uri, android.os.Bundle);
+ method public void prepare();
+ method public void prepareFromMediaId(java.lang.String, android.os.Bundle);
+ method public void prepareFromSearch(java.lang.String, android.os.Bundle);
+ method public void prepareFromUri(android.net.Uri, android.os.Bundle);
method public void rewind();
method public void seekTo(long);
method public void sendCustomAction(android.media.session.PlaybackState.CustomAction, android.os.Bundle);
@@ -22582,7 +22590,6 @@
method public void setRatingType(int);
method public void setSessionActivity(android.app.PendingIntent);
field public static final int FLAG_HANDLES_MEDIA_BUTTONS = 1; // 0x1
- field public static final int FLAG_HANDLES_PREPARE_ONLY = 4; // 0x4
field public static final int FLAG_HANDLES_TRANSPORT_CONTROLS = 2; // 0x2
}
@@ -22597,6 +22604,10 @@
method public void onPlayFromMediaId(java.lang.String, android.os.Bundle);
method public void onPlayFromSearch(java.lang.String, android.os.Bundle);
method public void onPlayFromUri(android.net.Uri, android.os.Bundle);
+ method public void onPrepare();
+ method public void onPrepareFromMediaId(java.lang.String, android.os.Bundle);
+ method public void onPrepareFromSearch(java.lang.String, android.os.Bundle);
+ method public void onPrepareFromUri(android.net.Uri, android.os.Bundle);
method public void onRewind();
method public void onSeekTo(long);
method public void onSetRating(android.media.Rating);
@@ -22653,6 +22664,10 @@
field public static final long ACTION_PLAY_FROM_SEARCH = 2048L; // 0x800L
field public static final long ACTION_PLAY_FROM_URI = 8192L; // 0x2000L
field public static final long ACTION_PLAY_PAUSE = 512L; // 0x200L
+ field public static final long ACTION_PREPARE = 16384L; // 0x4000L
+ field public static final long ACTION_PREPARE_FROM_MEDIA_ID = 32768L; // 0x8000L
+ field public static final long ACTION_PREPARE_FROM_SEARCH = 65536L; // 0x10000L
+ field public static final long ACTION_PREPARE_FROM_URI = 131072L; // 0x20000L
field public static final long ACTION_REWIND = 8L; // 0x8L
field public static final long ACTION_SEEK_TO = 256L; // 0x100L
field public static final long ACTION_SET_RATING = 128L; // 0x80L
@@ -22661,7 +22676,6 @@
field public static final long ACTION_SKIP_TO_QUEUE_ITEM = 4096L; // 0x1000L
field public static final long ACTION_STOP = 1L; // 0x1L
field public static final android.os.Parcelable.Creator<android.media.session.PlaybackState> CREATOR;
- field public static final java.lang.String EXTRA_PREPARE_ONLY = "android.media.session.extra.PREPARE_ONLY";
field public static final long PLAYBACK_POSITION_UNKNOWN = -1L; // 0xffffffffffffffffL
field public static final int STATE_BUFFERING = 6; // 0x6
field public static final int STATE_CONNECTING = 8; // 0x8
@@ -34591,6 +34605,7 @@
method public final void startActivityAndCollapse(android.content.Intent);
method public final void unlockAndRun(java.lang.Runnable);
field public static final java.lang.String ACTION_QS_TILE = "android.service.quicksettings.action.QS_TILE";
+ field public static final java.lang.String ACTION_QS_TILE_PREFERENCES = "android.service.quicksettings.action.QS_TILE_PREFERENCES";
field public static final int TILE_MODE_ACTIVE = 2; // 0x2
field public static final int TILE_MODE_PASSIVE = 1; // 0x1
}
diff --git a/api/system-current.txt b/api/system-current.txt
index 0ed1ecb..b36d7e8 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -5012,7 +5012,6 @@
method public android.graphics.drawable.Icon getLargeIcon();
method public android.graphics.drawable.Icon getSmallIcon();
method public java.lang.String getSortKey();
- method public android.app.Notification.Topic getTopic();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.media.AudioAttributes AUDIO_ATTRIBUTES_DEFAULT;
field public static final java.lang.String CATEGORY_ALARM = "alarm";
@@ -5076,7 +5075,6 @@
field public static final int PRIORITY_MAX = 2; // 0x2
field public static final int PRIORITY_MIN = -2; // 0xfffffffe
field public static final deprecated int STREAM_DEFAULT = -1; // 0xffffffff
- field public static final java.lang.String TOPIC_DEFAULT = "system_default_topic";
field public static final int VISIBILITY_PRIVATE = 0; // 0x0
field public static final int VISIBILITY_PUBLIC = 1; // 0x1
field public static final int VISIBILITY_SECRET = -1; // 0xffffffff
@@ -5228,7 +5226,6 @@
method public android.app.Notification.Builder setSubText(java.lang.CharSequence);
method public android.app.Notification.Builder setTicker(java.lang.CharSequence);
method public deprecated android.app.Notification.Builder setTicker(java.lang.CharSequence, android.widget.RemoteViews);
- method public android.app.Notification.Builder setTopic(android.app.Notification.Topic);
method public android.app.Notification.Builder setUsesChronometer(boolean);
method public android.app.Notification.Builder setVibrate(long[]);
method public android.app.Notification.Builder setVisibility(int);
@@ -5266,6 +5263,16 @@
method public android.app.PendingIntent getReplyPendingIntent();
}
+ public static class Notification.DecoratedCustomViewStyle extends android.app.Notification.Style {
+ ctor public Notification.DecoratedCustomViewStyle();
+ ctor public Notification.DecoratedCustomViewStyle(android.app.Notification.Builder);
+ }
+
+ public static class Notification.DecoratedMediaCustomViewStyle extends android.app.Notification.MediaStyle {
+ ctor public Notification.DecoratedMediaCustomViewStyle();
+ ctor public Notification.DecoratedMediaCustomViewStyle(android.app.Notification.Builder);
+ }
+
public static abstract interface Notification.Extender {
method public abstract android.app.Notification.Builder extend(android.app.Notification.Builder);
}
@@ -5296,16 +5303,6 @@
field protected android.app.Notification.Builder mBuilder;
}
- public static class Notification.Topic implements android.os.Parcelable {
- ctor public Notification.Topic(java.lang.String, java.lang.CharSequence);
- method public android.app.Notification.Topic clone();
- method public int describeContents();
- method public java.lang.String getId();
- method public java.lang.CharSequence getLabel();
- method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.Notification.Topic> CREATOR;
- }
-
public static final class Notification.WearableExtender implements android.app.Notification.Extender {
ctor public Notification.WearableExtender();
ctor public Notification.WearableExtender(android.app.Notification);
@@ -5368,7 +5365,7 @@
method public android.app.AutomaticZenRule getAutomaticZenRule(java.lang.String);
method public java.util.List<android.app.AutomaticZenRule> getAutomaticZenRules();
method public final int getCurrentInterruptionFilter();
- method public int getImportance(java.lang.String);
+ method public int getImportance();
method public android.app.NotificationManager.Policy getNotificationPolicy();
method public boolean isNotificationPolicyAccessGranted();
method public void notify(int, android.app.Notification);
@@ -20348,9 +20345,9 @@
method public double getDriftInNsPerSec();
method public double getDriftUncertaintyInNsPerSec();
method public long getFullBiasInNs();
+ method public int getHardwareClockDiscontinuityCount();
method public short getLeapSecond();
method public long getTimeInNs();
- method public long getTimeOfLastHwClockDiscontinuityInNs();
method public double getTimeUncertaintyInNs();
method public byte getType();
method public boolean hasBiasInNs();
@@ -20374,9 +20371,9 @@
method public void setDriftInNsPerSec(double);
method public void setDriftUncertaintyInNsPerSec(double);
method public void setFullBiasInNs(long);
+ method public void setHardwareClockDiscontinuityCount(int);
method public void setLeapSecond(short);
method public void setTimeInNs(long);
- method public void setTimeOfLastHwClockDiscontinuityInNs(long);
method public void setTimeUncertaintyInNs(double);
method public void setType(byte);
method public void writeToParcel(android.os.Parcel, int);
@@ -20404,6 +20401,7 @@
method public double getCn0InDbHz();
method public double getCodePhaseInChips();
method public double getCodePhaseUncertaintyInChips();
+ method public byte getConstellationType();
method public double getDopplerShiftInHz();
method public double getDopplerShiftUncertaintyInHz();
method public double getElevationInDeg();
@@ -20411,13 +20409,11 @@
method public byte getLossOfLock();
method public byte getMultipathIndicator();
method public double getPseudorangeInMeters();
- method public double getPseudorangeRateCarrierInMetersPerSec();
- method public double getPseudorangeRateCarrierUncertaintyInMetersPerSec();
method public double getPseudorangeRateInMetersPerSec();
method public double getPseudorangeRateUncertaintyInMetersPerSec();
method public double getPseudorangeUncertaintyInMeters();
- method public long getReceivedGpsTowInNs();
- method public long getReceivedGpsTowUncertaintyInNs();
+ method public long getReceivedSvTimeInNs();
+ method public long getReceivedSvTimeUncertaintyInNs();
method public double getSnrInDb();
method public short getState();
method public short getSvid();
@@ -20474,6 +20470,7 @@
method public void setCn0InDbHz(double);
method public void setCodePhaseInChips(double);
method public void setCodePhaseUncertaintyInChips(double);
+ method public void setConstellationType(byte);
method public void setDopplerShiftInHz(double);
method public void setDopplerShiftUncertaintyInHz(double);
method public void setElevationInDeg(double);
@@ -20481,13 +20478,11 @@
method public void setLossOfLock(byte);
method public void setMultipathIndicator(byte);
method public void setPseudorangeInMeters(double);
- method public void setPseudorangeRateCarrierInMetersPerSec(double);
- method public void setPseudorangeRateCarrierUncertaintyInMetersPerSec(double);
method public void setPseudorangeRateInMetersPerSec(double);
method public void setPseudorangeRateUncertaintyInMetersPerSec(double);
method public void setPseudorangeUncertaintyInMeters(double);
- method public void setReceivedGpsTowInNs(long);
- method public void setReceivedGpsTowUncertaintyInNs(long);
+ method public void setReceivedSvTimeInNs(long);
+ method public void setReceivedSvTimeUncertaintyInNs(long);
method public void setSnrInDb(double);
method public void setState(short);
method public void setSvid(short);
@@ -20548,7 +20543,7 @@
method public short getStatus();
method public short getSubmessageId();
method public short getSvid();
- method public byte getType();
+ method public short getType();
method public void reset();
method public void set(android.location.GnssNavigationMessage);
method public void setData(byte[]);
@@ -20556,14 +20551,19 @@
method public void setStatus(short);
method public void setSubmessageId(short);
method public void setSvid(short);
- method public void setType(byte);
+ method public void setType(short);
method public void writeToParcel(android.os.Parcel, int);
field public static final android.os.Parcelable.Creator<android.location.GnssNavigationMessage> CREATOR;
- field public static final byte MESSAGE_TYPE_CNAV2 = 4; // 0x4
- field public static final byte MESSAGE_TYPE_L1CA = 1; // 0x1
- field public static final byte MESSAGE_TYPE_L2CNAV = 2; // 0x2
- field public static final byte MESSAGE_TYPE_L5CNAV = 3; // 0x3
- field public static final byte MESSAGE_TYPE_UNKNOWN = 0; // 0x0
+ field public static final short MESSAGE_TYPE_BDS_D1 = 1281; // 0x501
+ field public static final short MESSAGE_TYPE_BDS_D2 = 1282; // 0x502
+ field public static final short MESSAGE_TYPE_GAL_F = 1538; // 0x602
+ field public static final short MESSAGE_TYPE_GAL_I = 1537; // 0x601
+ field public static final short MESSAGE_TYPE_GLO_L1CA = 769; // 0x301
+ field public static final short MESSAGE_TYPE_GPS_CNAV2 = 260; // 0x104
+ field public static final short MESSAGE_TYPE_GPS_L1CA = 257; // 0x101
+ field public static final short MESSAGE_TYPE_GPS_L2CNAV = 258; // 0x102
+ field public static final short MESSAGE_TYPE_GPS_L5CNAV = 259; // 0x103
+ field public static final short MESSAGE_TYPE_UNKNOWN = 0; // 0x0
field public static final short STATUS_PARITY_PASSED = 1; // 0x1
field public static final short STATUS_PARITY_REBUILT = 2; // 0x2
field public static final short STATUS_UNKNOWN = 0; // 0x0
@@ -20598,7 +20598,7 @@
public final class GnssStatus {
method public float getAzimuth(int);
- method public int getConstellationType(int);
+ method public byte getConstellationType(int);
method public float getElevation(int);
method public int getNumSatellites();
method public float getSnr(int);
@@ -20606,13 +20606,16 @@
method public boolean hasAlmanac(int);
method public boolean hasEphemeris(int);
method public boolean usedInFix(int);
- field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
- field public static final int CONSTELLATION_GALILEO = 6; // 0x6
- field public static final int CONSTELLATION_GLONASS = 3; // 0x3
- field public static final int CONSTELLATION_GPS = 1; // 0x1
- field public static final int CONSTELLATION_QZSS = 4; // 0x4
- field public static final int CONSTELLATION_SBAS = 2; // 0x2
- field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ field public static final byte CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final byte CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final byte CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final byte CONSTELLATION_GPS = 1; // 0x1
+ field public static final byte CONSTELLATION_QZSS = 4; // 0x4
+ field public static final byte CONSTELLATION_SBAS = 2; // 0x2
+ field public static final byte CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public static abstract class GnssStatus.ConstellationType implements java.lang.annotation.Annotation {
}
public abstract class GnssStatusCallback {
@@ -22475,6 +22478,7 @@
field public static final java.lang.String KEY_MAX_WIDTH = "max-width";
field public static final java.lang.String KEY_MIME = "mime";
field public static final java.lang.String KEY_OPERATING_RATE = "operating-rate";
+ field public static final java.lang.String KEY_PCM_ENCODING = "pcm-encoding";
field public static final java.lang.String KEY_PRIORITY = "priority";
field public static final java.lang.String KEY_PROFILE = "profile";
field public static final java.lang.String KEY_PUSH_BLANK_BUFFERS_ON_STOP = "push-blank-buffers-on-shutdown";
@@ -24122,6 +24126,10 @@
method public void playFromMediaId(java.lang.String, android.os.Bundle);
method public void playFromSearch(java.lang.String, android.os.Bundle);
method public void playFromUri(android.net.Uri, android.os.Bundle);
+ method public void prepare();
+ method public void prepareFromMediaId(java.lang.String, android.os.Bundle);
+ method public void prepareFromSearch(java.lang.String, android.os.Bundle);
+ method public void prepareFromUri(android.net.Uri, android.os.Bundle);
method public void rewind();
method public void seekTo(long);
method public void sendCustomAction(android.media.session.PlaybackState.CustomAction, android.os.Bundle);
@@ -24155,7 +24163,6 @@
method public void setRatingType(int);
method public void setSessionActivity(android.app.PendingIntent);
field public static final int FLAG_HANDLES_MEDIA_BUTTONS = 1; // 0x1
- field public static final int FLAG_HANDLES_PREPARE_ONLY = 4; // 0x4
field public static final int FLAG_HANDLES_TRANSPORT_CONTROLS = 2; // 0x2
}
@@ -24170,6 +24177,10 @@
method public void onPlayFromMediaId(java.lang.String, android.os.Bundle);
method public void onPlayFromSearch(java.lang.String, android.os.Bundle);
method public void onPlayFromUri(android.net.Uri, android.os.Bundle);
+ method public void onPrepare();
+ method public void onPrepareFromMediaId(java.lang.String, android.os.Bundle);
+ method public void onPrepareFromSearch(java.lang.String, android.os.Bundle);
+ method public void onPrepareFromUri(android.net.Uri, android.os.Bundle);
method public void onRewind();
method public void onSeekTo(long);
method public void onSetRating(android.media.Rating);
@@ -24226,6 +24237,10 @@
field public static final long ACTION_PLAY_FROM_SEARCH = 2048L; // 0x800L
field public static final long ACTION_PLAY_FROM_URI = 8192L; // 0x2000L
field public static final long ACTION_PLAY_PAUSE = 512L; // 0x200L
+ field public static final long ACTION_PREPARE = 16384L; // 0x4000L
+ field public static final long ACTION_PREPARE_FROM_MEDIA_ID = 32768L; // 0x8000L
+ field public static final long ACTION_PREPARE_FROM_SEARCH = 65536L; // 0x10000L
+ field public static final long ACTION_PREPARE_FROM_URI = 131072L; // 0x20000L
field public static final long ACTION_REWIND = 8L; // 0x8L
field public static final long ACTION_SEEK_TO = 256L; // 0x100L
field public static final long ACTION_SET_RATING = 128L; // 0x80L
@@ -24234,7 +24249,6 @@
field public static final long ACTION_SKIP_TO_QUEUE_ITEM = 4096L; // 0x1000L
field public static final long ACTION_STOP = 1L; // 0x1L
field public static final android.os.Parcelable.Creator<android.media.session.PlaybackState> CREATOR;
- field public static final java.lang.String EXTRA_PREPARE_ONLY = "android.media.session.extra.PREPARE_ONLY";
field public static final long PLAYBACK_POSITION_UNKNOWN = -1L; // 0xffffffffffffffffL
field public static final int STATE_BUFFERING = 6; // 0x6
field public static final int STATE_CONNECTING = 8; // 0x8
@@ -36983,9 +36997,8 @@
field public static final int REASON_LISTENER_CANCEL_ALL = 11; // 0xb
field public static final int REASON_PACKAGE_BANNED = 7; // 0x7
field public static final int REASON_PACKAGE_CHANGED = 5; // 0x5
- field public static final int REASON_PACKAGE_SUSPENDED = 15; // 0xf
- field public static final int REASON_PROFILE_TURNED_OFF = 16; // 0x10
- field public static final int REASON_TOPIC_BANNED = 14; // 0xe
+ field public static final int REASON_PACKAGE_SUSPENDED = 14; // 0xe
+ field public static final int REASON_PROFILE_TURNED_OFF = 15; // 0xf
field public static final int REASON_USER_STOPPED = 6; // 0x6
field public static final java.lang.String SERVICE_INTERFACE = "android.service.notification.NotificationAssistantService";
}
@@ -37147,6 +37160,7 @@
method public final void startActivityAndCollapse(android.content.Intent);
method public final void unlockAndRun(java.lang.Runnable);
field public static final java.lang.String ACTION_QS_TILE = "android.service.quicksettings.action.QS_TILE";
+ field public static final java.lang.String ACTION_QS_TILE_PREFERENCES = "android.service.quicksettings.action.QS_TILE_PREFERENCES";
field public static final int TILE_MODE_ACTIVE = 2; // 0x2
field public static final int TILE_MODE_PASSIVE = 1; // 0x1
}
@@ -48561,6 +48575,7 @@
method public abstract void onConfigurationChanged(android.content.res.Configuration);
method public abstract android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo);
method public abstract void onDetachedFromWindow();
+ method public abstract boolean onDragEvent(android.view.DragEvent);
method public abstract void onDraw(android.graphics.Canvas);
method public abstract void onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
method public abstract void onFinishTemporaryDetach();
diff --git a/api/test-current.txt b/api/test-current.txt
index e7f86aa..3878fbf 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -4880,7 +4880,6 @@
method public android.graphics.drawable.Icon getLargeIcon();
method public android.graphics.drawable.Icon getSmallIcon();
method public java.lang.String getSortKey();
- method public android.app.Notification.Topic getTopic();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.media.AudioAttributes AUDIO_ATTRIBUTES_DEFAULT;
field public static final java.lang.String CATEGORY_ALARM = "alarm";
@@ -4944,7 +4943,6 @@
field public static final int PRIORITY_MAX = 2; // 0x2
field public static final int PRIORITY_MIN = -2; // 0xfffffffe
field public static final deprecated int STREAM_DEFAULT = -1; // 0xffffffff
- field public static final java.lang.String TOPIC_DEFAULT = "system_default_topic";
field public static final int VISIBILITY_PRIVATE = 0; // 0x0
field public static final int VISIBILITY_PUBLIC = 1; // 0x1
field public static final int VISIBILITY_SECRET = -1; // 0xffffffff
@@ -5096,7 +5094,6 @@
method public android.app.Notification.Builder setSubText(java.lang.CharSequence);
method public android.app.Notification.Builder setTicker(java.lang.CharSequence);
method public deprecated android.app.Notification.Builder setTicker(java.lang.CharSequence, android.widget.RemoteViews);
- method public android.app.Notification.Builder setTopic(android.app.Notification.Topic);
method public android.app.Notification.Builder setUsesChronometer(boolean);
method public android.app.Notification.Builder setVibrate(long[]);
method public android.app.Notification.Builder setVisibility(int);
@@ -5134,6 +5131,16 @@
method public android.app.PendingIntent getReplyPendingIntent();
}
+ public static class Notification.DecoratedCustomViewStyle extends android.app.Notification.Style {
+ ctor public Notification.DecoratedCustomViewStyle();
+ ctor public Notification.DecoratedCustomViewStyle(android.app.Notification.Builder);
+ }
+
+ public static class Notification.DecoratedMediaCustomViewStyle extends android.app.Notification.MediaStyle {
+ ctor public Notification.DecoratedMediaCustomViewStyle();
+ ctor public Notification.DecoratedMediaCustomViewStyle(android.app.Notification.Builder);
+ }
+
public static abstract interface Notification.Extender {
method public abstract android.app.Notification.Builder extend(android.app.Notification.Builder);
}
@@ -5164,16 +5171,6 @@
field protected android.app.Notification.Builder mBuilder;
}
- public static class Notification.Topic implements android.os.Parcelable {
- ctor public Notification.Topic(java.lang.String, java.lang.CharSequence);
- method public android.app.Notification.Topic clone();
- method public int describeContents();
- method public java.lang.String getId();
- method public java.lang.CharSequence getLabel();
- method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.Notification.Topic> CREATOR;
- }
-
public static final class Notification.WearableExtender implements android.app.Notification.Extender {
ctor public Notification.WearableExtender();
ctor public Notification.WearableExtender(android.app.Notification);
@@ -5236,7 +5233,7 @@
method public android.app.AutomaticZenRule getAutomaticZenRule(java.lang.String);
method public java.util.List<android.app.AutomaticZenRule> getAutomaticZenRules();
method public final int getCurrentInterruptionFilter();
- method public int getImportance(java.lang.String);
+ method public int getImportance();
method public android.app.NotificationManager.Policy getNotificationPolicy();
method public boolean isNotificationPolicyAccessGranted();
method public void notify(int, android.app.Notification);
@@ -19175,9 +19172,9 @@
method public double getDriftInNsPerSec();
method public double getDriftUncertaintyInNsPerSec();
method public long getFullBiasInNs();
+ method public int getHardwareClockDiscontinuityCount();
method public short getLeapSecond();
method public long getTimeInNs();
- method public long getTimeOfLastHwClockDiscontinuityInNs();
method public double getTimeUncertaintyInNs();
method public byte getType();
method public boolean hasBiasInNs();
@@ -19201,9 +19198,9 @@
method public void setDriftInNsPerSec(double);
method public void setDriftUncertaintyInNsPerSec(double);
method public void setFullBiasInNs(long);
+ method public void setHardwareClockDiscontinuityCount(int);
method public void setLeapSecond(short);
method public void setTimeInNs(long);
- method public void setTimeOfLastHwClockDiscontinuityInNs(long);
method public void setTimeUncertaintyInNs(double);
method public void setType(byte);
method public void writeToParcel(android.os.Parcel, int);
@@ -19231,6 +19228,7 @@
method public double getCn0InDbHz();
method public double getCodePhaseInChips();
method public double getCodePhaseUncertaintyInChips();
+ method public byte getConstellationType();
method public double getDopplerShiftInHz();
method public double getDopplerShiftUncertaintyInHz();
method public double getElevationInDeg();
@@ -19238,13 +19236,11 @@
method public byte getLossOfLock();
method public byte getMultipathIndicator();
method public double getPseudorangeInMeters();
- method public double getPseudorangeRateCarrierInMetersPerSec();
- method public double getPseudorangeRateCarrierUncertaintyInMetersPerSec();
method public double getPseudorangeRateInMetersPerSec();
method public double getPseudorangeRateUncertaintyInMetersPerSec();
method public double getPseudorangeUncertaintyInMeters();
- method public long getReceivedGpsTowInNs();
- method public long getReceivedGpsTowUncertaintyInNs();
+ method public long getReceivedSvTimeInNs();
+ method public long getReceivedSvTimeUncertaintyInNs();
method public double getSnrInDb();
method public short getState();
method public short getSvid();
@@ -19301,6 +19297,7 @@
method public void setCn0InDbHz(double);
method public void setCodePhaseInChips(double);
method public void setCodePhaseUncertaintyInChips(double);
+ method public void setConstellationType(byte);
method public void setDopplerShiftInHz(double);
method public void setDopplerShiftUncertaintyInHz(double);
method public void setElevationInDeg(double);
@@ -19308,13 +19305,11 @@
method public void setLossOfLock(byte);
method public void setMultipathIndicator(byte);
method public void setPseudorangeInMeters(double);
- method public void setPseudorangeRateCarrierInMetersPerSec(double);
- method public void setPseudorangeRateCarrierUncertaintyInMetersPerSec(double);
method public void setPseudorangeRateInMetersPerSec(double);
method public void setPseudorangeRateUncertaintyInMetersPerSec(double);
method public void setPseudorangeUncertaintyInMeters(double);
- method public void setReceivedGpsTowInNs(long);
- method public void setReceivedGpsTowUncertaintyInNs(long);
+ method public void setReceivedSvTimeInNs(long);
+ method public void setReceivedSvTimeUncertaintyInNs(long);
method public void setSnrInDb(double);
method public void setState(short);
method public void setSvid(short);
@@ -19375,7 +19370,7 @@
method public short getStatus();
method public short getSubmessageId();
method public short getSvid();
- method public byte getType();
+ method public short getType();
method public void reset();
method public void set(android.location.GnssNavigationMessage);
method public void setData(byte[]);
@@ -19383,14 +19378,19 @@
method public void setStatus(short);
method public void setSubmessageId(short);
method public void setSvid(short);
- method public void setType(byte);
+ method public void setType(short);
method public void writeToParcel(android.os.Parcel, int);
field public static final android.os.Parcelable.Creator<android.location.GnssNavigationMessage> CREATOR;
- field public static final byte MESSAGE_TYPE_CNAV2 = 4; // 0x4
- field public static final byte MESSAGE_TYPE_L1CA = 1; // 0x1
- field public static final byte MESSAGE_TYPE_L2CNAV = 2; // 0x2
- field public static final byte MESSAGE_TYPE_L5CNAV = 3; // 0x3
- field public static final byte MESSAGE_TYPE_UNKNOWN = 0; // 0x0
+ field public static final short MESSAGE_TYPE_BDS_D1 = 1281; // 0x501
+ field public static final short MESSAGE_TYPE_BDS_D2 = 1282; // 0x502
+ field public static final short MESSAGE_TYPE_GAL_F = 1538; // 0x602
+ field public static final short MESSAGE_TYPE_GAL_I = 1537; // 0x601
+ field public static final short MESSAGE_TYPE_GLO_L1CA = 769; // 0x301
+ field public static final short MESSAGE_TYPE_GPS_CNAV2 = 260; // 0x104
+ field public static final short MESSAGE_TYPE_GPS_L1CA = 257; // 0x101
+ field public static final short MESSAGE_TYPE_GPS_L2CNAV = 258; // 0x102
+ field public static final short MESSAGE_TYPE_GPS_L5CNAV = 259; // 0x103
+ field public static final short MESSAGE_TYPE_UNKNOWN = 0; // 0x0
field public static final short STATUS_PARITY_PASSED = 1; // 0x1
field public static final short STATUS_PARITY_REBUILT = 2; // 0x2
field public static final short STATUS_UNKNOWN = 0; // 0x0
@@ -19425,7 +19425,7 @@
public final class GnssStatus {
method public float getAzimuth(int);
- method public int getConstellationType(int);
+ method public byte getConstellationType(int);
method public float getElevation(int);
method public int getNumSatellites();
method public float getSnr(int);
@@ -19433,13 +19433,16 @@
method public boolean hasAlmanac(int);
method public boolean hasEphemeris(int);
method public boolean usedInFix(int);
- field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
- field public static final int CONSTELLATION_GALILEO = 6; // 0x6
- field public static final int CONSTELLATION_GLONASS = 3; // 0x3
- field public static final int CONSTELLATION_GPS = 1; // 0x1
- field public static final int CONSTELLATION_QZSS = 4; // 0x4
- field public static final int CONSTELLATION_SBAS = 2; // 0x2
- field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ field public static final byte CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final byte CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final byte CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final byte CONSTELLATION_GPS = 1; // 0x1
+ field public static final byte CONSTELLATION_QZSS = 4; // 0x4
+ field public static final byte CONSTELLATION_SBAS = 2; // 0x2
+ field public static final byte CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public static abstract class GnssStatus.ConstellationType implements java.lang.annotation.Annotation {
}
public abstract class GnssStatusCallback {
@@ -19545,8 +19548,8 @@
method public void clearTestProviderStatus(java.lang.String);
method public java.util.List<java.lang.String> getAllProviders();
method public java.lang.String getBestProvider(android.location.Criteria, boolean);
+ method public int getGnssYearOfHardware();
method public deprecated android.location.GpsStatus getGpsStatus(android.location.GpsStatus);
- method public int getGpsYearOfHardware();
method public android.location.Location getLastKnownLocation(java.lang.String);
method public android.location.LocationProvider getProvider(java.lang.String);
method public java.util.List<java.lang.String> getProviders(boolean);
@@ -20984,6 +20987,7 @@
field public static final java.lang.String KEY_MAX_WIDTH = "max-width";
field public static final java.lang.String KEY_MIME = "mime";
field public static final java.lang.String KEY_OPERATING_RATE = "operating-rate";
+ field public static final java.lang.String KEY_PCM_ENCODING = "pcm-encoding";
field public static final java.lang.String KEY_PRIORITY = "priority";
field public static final java.lang.String KEY_PROFILE = "profile";
field public static final java.lang.String KEY_PUSH_BLANK_BUFFERS_ON_STOP = "push-blank-buffers-on-shutdown";
@@ -22558,6 +22562,10 @@
method public void playFromMediaId(java.lang.String, android.os.Bundle);
method public void playFromSearch(java.lang.String, android.os.Bundle);
method public void playFromUri(android.net.Uri, android.os.Bundle);
+ method public void prepare();
+ method public void prepareFromMediaId(java.lang.String, android.os.Bundle);
+ method public void prepareFromSearch(java.lang.String, android.os.Bundle);
+ method public void prepareFromUri(android.net.Uri, android.os.Bundle);
method public void rewind();
method public void seekTo(long);
method public void sendCustomAction(android.media.session.PlaybackState.CustomAction, android.os.Bundle);
@@ -22591,7 +22599,6 @@
method public void setRatingType(int);
method public void setSessionActivity(android.app.PendingIntent);
field public static final int FLAG_HANDLES_MEDIA_BUTTONS = 1; // 0x1
- field public static final int FLAG_HANDLES_PREPARE_ONLY = 4; // 0x4
field public static final int FLAG_HANDLES_TRANSPORT_CONTROLS = 2; // 0x2
}
@@ -22606,6 +22613,10 @@
method public void onPlayFromMediaId(java.lang.String, android.os.Bundle);
method public void onPlayFromSearch(java.lang.String, android.os.Bundle);
method public void onPlayFromUri(android.net.Uri, android.os.Bundle);
+ method public void onPrepare();
+ method public void onPrepareFromMediaId(java.lang.String, android.os.Bundle);
+ method public void onPrepareFromSearch(java.lang.String, android.os.Bundle);
+ method public void onPrepareFromUri(android.net.Uri, android.os.Bundle);
method public void onRewind();
method public void onSeekTo(long);
method public void onSetRating(android.media.Rating);
@@ -22662,6 +22673,10 @@
field public static final long ACTION_PLAY_FROM_SEARCH = 2048L; // 0x800L
field public static final long ACTION_PLAY_FROM_URI = 8192L; // 0x2000L
field public static final long ACTION_PLAY_PAUSE = 512L; // 0x200L
+ field public static final long ACTION_PREPARE = 16384L; // 0x4000L
+ field public static final long ACTION_PREPARE_FROM_MEDIA_ID = 32768L; // 0x8000L
+ field public static final long ACTION_PREPARE_FROM_SEARCH = 65536L; // 0x10000L
+ field public static final long ACTION_PREPARE_FROM_URI = 131072L; // 0x20000L
field public static final long ACTION_REWIND = 8L; // 0x8L
field public static final long ACTION_SEEK_TO = 256L; // 0x100L
field public static final long ACTION_SET_RATING = 128L; // 0x80L
@@ -22670,7 +22685,6 @@
field public static final long ACTION_SKIP_TO_QUEUE_ITEM = 4096L; // 0x1000L
field public static final long ACTION_STOP = 1L; // 0x1L
field public static final android.os.Parcelable.Creator<android.media.session.PlaybackState> CREATOR;
- field public static final java.lang.String EXTRA_PREPARE_ONLY = "android.media.session.extra.PREPARE_ONLY";
field public static final long PLAYBACK_POSITION_UNKNOWN = -1L; // 0xffffffffffffffffL
field public static final int STATE_BUFFERING = 6; // 0x6
field public static final int STATE_CONNECTING = 8; // 0x8
@@ -34606,6 +34620,7 @@
method public final void startActivityAndCollapse(android.content.Intent);
method public final void unlockAndRun(java.lang.Runnable);
field public static final java.lang.String ACTION_QS_TILE = "android.service.quicksettings.action.QS_TILE";
+ field public static final java.lang.String ACTION_QS_TILE_PREFERENCES = "android.service.quicksettings.action.QS_TILE_PREFERENCES";
field public static final int TILE_MODE_ACTIVE = 2; // 0x2
field public static final int TILE_MODE_PASSIVE = 1; // 0x1
}
diff --git a/cmds/hid/jni/Android.mk b/cmds/hid/jni/Android.mk
index 8163a9d..d41d39d 100644
--- a/cmds/hid/jni/Android.mk
+++ b/cmds/hid/jni/Android.mk
@@ -18,6 +18,6 @@
LOCAL_MODULE := libhidcommand_jni
LOCAL_MODULE_TAGS := optional
-LOCAL_CFLAGS += -Wall
+LOCAL_CFLAGS += -Wall -Wextra -Werror
include $(BUILD_SHARED_LIBRARY)
diff --git a/cmds/hid/jni/com_android_commands_hid_Device.cpp b/cmds/hid/jni/com_android_commands_hid_Device.cpp
index 4278e7d..1ea33ce 100644
--- a/cmds/hid/jni/com_android_commands_hid_Device.cpp
+++ b/cmds/hid/jni/com_android_commands_hid_Device.cpp
@@ -49,7 +49,7 @@
jmethodID onDeviceError;
} gDeviceCallbackClassInfo;
-static int handleLooperEvents(int fd, int events, void* data) {
+static int handleLooperEvents(int /* fd */, int events, void* data) {
Device* d = reinterpret_cast<Device*>(data);
return d->handleEvents(events);
}
@@ -183,7 +183,7 @@
return data;
}
-static jlong openDevice(JNIEnv* env, jclass clazz, jstring rawName, jint id, jint vid, jint pid,
+static jlong openDevice(JNIEnv* env, jclass /* clazz */, jstring rawName, jint id, jint vid, jint pid,
jbyteArray rawDescriptor, jobject queue, jobject callback) {
ScopedUtfChars name(env, rawName);
if (name.c_str() == nullptr) {
@@ -202,7 +202,7 @@
return reinterpret_cast<jlong>(d);
}
-static void sendReport(JNIEnv* env, jclass clazz, jlong ptr,jbyteArray rawReport) {
+static void sendReport(JNIEnv* env, jclass /* clazz */, jlong ptr,jbyteArray rawReport) {
size_t size;
std::unique_ptr<uint8_t[]> report = getData(env, rawReport, size);
uhid::Device* d = reinterpret_cast<uhid::Device*>(ptr);
@@ -211,7 +211,7 @@
}
}
-static void closeDevice(JNIEnv* env, jclass clazz, jlong ptr) {
+static void closeDevice(JNIEnv* /* env */, jclass /* clazz */, jlong ptr) {
uhid::Device* d = reinterpret_cast<uhid::Device*>(ptr);
if (d) {
delete d;
diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java
index 04979ef..bb36a3e 100644
--- a/core/java/android/app/ActivityManagerNative.java
+++ b/core/java/android/app/ActivityManagerNative.java
@@ -1532,6 +1532,14 @@
return true;
}
+ case SET_LENIENT_BACKGROUND_CHECK_TRANSACTION: {
+ data.enforceInterface(IActivityManager.descriptor);
+ boolean enabled = data.readInt() != 0;
+ setLenientBackgroundCheck(enabled);
+ reply.writeNoException();
+ return true;
+ }
+
case ENTER_SAFE_MODE_TRANSACTION: {
data.enforceInterface(IActivityManager.descriptor);
enterSafeMode();
@@ -4855,6 +4863,17 @@
data.recycle();
reply.recycle();
}
+ public void setLenientBackgroundCheck(boolean enabled) throws RemoteException
+ {
+ Parcel data = Parcel.obtain();
+ Parcel reply = Parcel.obtain();
+ data.writeInterfaceToken(IActivityManager.descriptor);
+ data.writeInt(enabled ? 1 : 0);
+ mRemote.transact(SET_LENIENT_BACKGROUND_CHECK_TRANSACTION, data, reply, 0);
+ reply.readException();
+ data.recycle();
+ reply.recycle();
+ }
public void enterSafeMode() throws RemoteException {
Parcel data = Parcel.obtain();
data.writeInterfaceToken(IActivityManager.descriptor);
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 04883a9..02b94de 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -4774,6 +4774,12 @@
}
}
+ // Keep in sync with installd (frameworks/native/cmds/installd/commands.cpp).
+ private static File getPrimaryProfileFile(String packageName) {
+ return new File("/data/misc/profiles/cur/" + UserHandle.myUserId() +
+ "/" + packageName + "/primary.prof");
+ }
+
private static void setupJitProfileSupport(LoadedApk loadedApk, File cacheDir) {
if (!SystemProperties.getBoolean("dalvik.vm.usejitprofiles", false)) {
return;
@@ -4793,10 +4799,7 @@
return;
}
- // Add an extension to the file name to better reveal its intended use.
- // Keep in sync with BackgroundDexOptService.
- final String profileExtension = ".prof";
- final File profileFile = new File(cacheDir, loadedApk.mPackageName + profileExtension);
+ final File profileFile = getPrimaryProfileFile(loadedApk.mPackageName);
if (!profileFile.exists()) {
FileDescriptor fd = null;
try {
@@ -4805,7 +4808,7 @@
Os.fchmod(fd, permissions);
Os.fchown(fd, appInfo.uid, appInfo.uid);
} catch (ErrnoException e) {
- Log.w(TAG, "Unable to create jit profile file " + profileFile, e);
+ Log.v(TAG, "Unable to create jit profile file " + profileFile, e);
try {
Os.unlink(profileFile.getAbsolutePath());
} catch (ErrnoException unlinkErr) {
diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java
index f0453e9..93452fd 100644
--- a/core/java/android/app/AppOpsManager.java
+++ b/core/java/android/app/AppOpsManager.java
@@ -1265,6 +1265,14 @@
}
/** @hide */
+ public void setUserRestriction(int code, boolean restricted, IBinder token) {
+ try {
+ mService.setUserRestriction(code, restricted, token, mContext.getUserId());
+ } catch (RemoteException e) {
+ }
+ }
+
+ /** @hide */
public void setMode(int code, int uid, String packageName, int mode) {
try {
mService.setMode(code, uid, packageName, mode);
diff --git a/core/java/android/app/IActivityManager.java b/core/java/android/app/IActivityManager.java
index ca86c18..e4d6835 100644
--- a/core/java/android/app/IActivityManager.java
+++ b/core/java/android/app/IActivityManager.java
@@ -307,6 +307,7 @@
public void setAlwaysFinish(boolean enabled) throws RemoteException;
public void setActivityController(IActivityController watcher)
throws RemoteException;
+ public void setLenientBackgroundCheck(boolean enabled) throws RemoteException;
public void enterSafeMode() throws RemoteException;
@@ -978,4 +979,5 @@
int SUPPORTS_LOCAL_VOICE_INTERACTION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 365;
int NOTIFY_PINNED_STACK_ANIMATION_ENDED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 366;
int REMOVE_STACK = IBinder.FIRST_CALL_TRANSACTION + 367;
+ int SET_LENIENT_BACKGROUND_CHECK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+368;
}
diff --git a/core/java/android/app/INotificationManager.aidl b/core/java/android/app/INotificationManager.aidl
index 3c8dfce..8be00aa 100644
--- a/core/java/android/app/INotificationManager.aidl
+++ b/core/java/android/app/INotificationManager.aidl
@@ -48,16 +48,13 @@
boolean areNotificationsEnabledForPackage(String pkg, int uid);
boolean areNotificationsEnabled(String pkg);
- ParceledListSlice getTopics(String pkg, int uid);
- void setVisibilityOverride(String pkg, int uid, in Notification.Topic topic, int visibility);
- int getVisibilityOverride(String pkg, int uid, in Notification.Topic topic);
- void setPriority(String pkg, int uid, in Notification.Topic topic, int priority);
- int getPriority(String pkg, int uid, in Notification.Topic topic);
- void setImportance(String pkg, int uid, in Notification.Topic topic, int importance);
- int getImportance(String pkg, int uid, in Notification.Topic topic);
- int getTopicImportance(String pkg, String topicId);
- boolean doesUserUseTopics(String pkg, int uid);
- boolean hasBannedTopics(String pkg, int uid);
+ void setVisibilityOverride(String pkg, int uid, int visibility);
+ int getVisibilityOverride(String pkg, int uid);
+ void setPriority(String pkg, int uid, int priority);
+ int getPriority(String pkg, int uid);
+ void setImportance(String pkg, int uid, int importance);
+ int getImportance(String pkg, int uid);
+ int getPackageImportance(String pkg);
// TODO: Remove this when callers have been migrated to the equivalent
// INotificationListener method.
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index 52631d1..402c112 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -895,6 +895,11 @@
*/
public static final String EXTRA_BUILDER_APPLICATION_INFO = "android.appInfo";
+ /**
+ * @hide
+ */
+ public static final String EXTRA_CONTAINS_CUSTOM_VIEW = "android.contains.customView";
+
private Icon mSmallIcon;
private Icon mLargeIcon;
@@ -1366,98 +1371,6 @@
public Notification publicVersion;
/**
- * Structure to encapsulate a topic that is shown in Notification settings.
- * It must include an id and label.
- */
- public static class Topic implements Parcelable {
- private final String id;
- private final CharSequence label;
-
- public Topic(String id, CharSequence label) {
- this.id = id;
- this.label = safeCharSequence(label);
- }
-
- private Topic(Parcel in) {
- if (in.readInt() != 0) {
- id = in.readString();
- } else {
- id = null;
- }
- label = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
- }
-
- public String getId() {
- return id;
- }
-
- public CharSequence getLabel() {
- return label;
- }
-
- @Override
- public String toString() {
- return new StringBuilder(Topic.class.getSimpleName()).append('[')
- .append("id=").append(id)
- .append(",label=").append(label)
- .append(']').toString();
- }
-
- @Override
- public boolean equals(Object o) {
- if (!(o instanceof Topic)) return false;
- if (o == this) return true;
- final Topic other = (Topic) o;
- return Objects.equals(other.id, id)
- && Objects.equals(other.label, label);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(id, label);
- }
-
- @Override
- public Topic clone() {
- return new Topic(id, label);
- }
-
- @Override
- public int describeContents() {
- return 0;
- }
-
- @Override
- public void writeToParcel(Parcel out, int flags) {
- if (id != null) {
- out.writeInt(1);
- out.writeString(id);
- } else {
- out.writeInt(0);
- }
- TextUtils.writeToParcel(label, out, flags);
- }
- public static final Parcelable.Creator<Topic> CREATOR =
- new Parcelable.Creator<Topic>() {
- public Topic createFromParcel(Parcel in) {
- return new Topic(in);
- }
- public Topic[] newArray(int size) {
- return new Topic[size];
- }
- };
- }
-
- @SystemApi
- public static final String TOPIC_DEFAULT = "system_default_topic";
-
- private Topic topic;
-
- public Topic getTopic() {
- return topic;
- }
-
- /**
* Constructs a Notification object with default values.
* You might want to consider using {@link Builder} instead.
*/
@@ -1583,10 +1496,6 @@
}
color = parcel.readInt();
-
- if (parcel.readInt() != 0) {
- topic = Topic.CREATOR.createFromParcel(parcel);
- }
}
@Override
@@ -1687,10 +1596,6 @@
that.color = this.color;
- if (this.topic != null) {
- that.topic = this.topic.clone();
- }
-
if (!heavy) {
that.lightenPayload(); // will clean out extras
}
@@ -1871,13 +1776,6 @@
}
parcel.writeInt(color);
-
- if (topic != null) {
- parcel.writeInt(1);
- topic.writeToParcel(parcel, 0);
- } else {
- parcel.writeInt(0);
- }
}
/**
@@ -2020,10 +1918,6 @@
sb.append(" publicVersion=");
sb.append(publicVersion.toString());
}
- if (topic != null) {
- sb.append("topic=");
- sb.append(topic.toString());
- }
sb.append(")");
return sb.toString();
}
@@ -2995,19 +2889,6 @@
return this;
}
- /**
- * Sets the topic of this notification. Topics are typically displayed in Notification
- * settings.
- * <p>
- * Every topic must have an id and a textual label.
- *
- * @param topic The topic to add.
- */
- public Builder setTopic(Topic topic) {
- mN.topic = topic;
- return this;
- }
-
private Drawable getProfileBadgeDrawable() {
// Note: This assumes that the current user can read the profile badge of the
// originating user.
@@ -3353,7 +3234,7 @@
* 3. Standard template view
*/
public RemoteViews makeContentView() {
- if (mN.contentView != null) {
+ if (mN.contentView != null && (mStyle == null || !mStyle.displayCustomViewInline())) {
return mN.contentView;
} else if (mStyle != null) {
final RemoteViews styleView = mStyle.makeContentView();
@@ -3369,7 +3250,8 @@
*/
public RemoteViews makeBigContentView() {
RemoteViews result = null;
- if (mN.bigContentView != null) {
+ if (mN.bigContentView != null
+ && (mStyle == null || !mStyle.displayCustomViewInline())) {
return mN.bigContentView;
} else if (mStyle != null) {
result = mStyle.makeBigContentView();
@@ -3410,7 +3292,8 @@
* Construct a RemoteViews for the final heads-up notification layout.
*/
public RemoteViews makeHeadsUpContentView() {
- if (mN.headsUpContentView != null) {
+ if (mN.headsUpContentView != null
+ && (mStyle == null || !mStyle.displayCustomViewInline())) {
return mN.headsUpContentView;
} else if (mStyle != null) {
final RemoteViews styleView = mStyle.makeHeadsUpContentView();
@@ -3547,6 +3430,10 @@
mN.extras.putStringArray(EXTRA_PEOPLE,
mPersonList.toArray(new String[mPersonList.size()]));
}
+ if (mN.bigContentView != null || mN.contentView != null
+ || mN.headsUpContentView != null) {
+ mN.extras.putBoolean(EXTRA_CONTAINS_CUSTOM_VIEW, true);
+ }
return mN;
}
@@ -3571,8 +3458,9 @@
}
private static Class<? extends Style> getNotificationStyleClass(String templateClass) {
- Class<? extends Style>[] classes = new Class[]{
- BigTextStyle.class, BigPictureStyle.class, InboxStyle.class, MediaStyle.class};
+ Class<? extends Style>[] classes = new Class[] {
+ BigTextStyle.class, BigPictureStyle.class, InboxStyle.class, MediaStyle.class,
+ DecoratedCustomViewStyle.class, DecoratedMediaCustomViewStyle.class };
for (Class<? extends Style> innerClass : classes) {
if (templateClass.equals(innerClass.getName())) {
return innerClass;
@@ -3877,6 +3765,14 @@
public boolean hasSummaryInHeader() {
return true;
}
+
+ /**
+ * @hide
+ * @return Whether custom content views are displayed inline in the style
+ */
+ public boolean displayCustomViewInline() {
+ return false;
+ }
}
/**
@@ -4250,6 +4146,7 @@
final float density = mBuilder.mContext.getResources().getDisplayMetrics().density;
int topPadding = (int) (5 * density);
int bottomPadding = (int) (13 * density);
+ boolean first = true;
while (i < mTexts.size() && i < rowIds.length) {
CharSequence str = mTexts.get(i);
if (str != null && !str.equals("")) {
@@ -4261,23 +4158,26 @@
}
contentView.setViewPadding(rowIds[i], 0, topPadding, 0,
i == rowIds.length - 1 || i == mTexts.size() - 1 ? bottomPadding : 0);
+ handleInboxImageMargin(contentView, rowIds[i], first);
+ first = false;
}
i++;
}
- handleInboxImageMargin(contentView, rowIds[0]);
return contentView;
}
- private void handleInboxImageMargin(RemoteViews contentView, int id) {
- final int max = mBuilder.mN.extras.getInt(EXTRA_PROGRESS_MAX, 0);
- final boolean ind = mBuilder.mN.extras.getBoolean(EXTRA_PROGRESS_INDETERMINATE);
- boolean hasProgress = max != 0 || ind;
+ private void handleInboxImageMargin(RemoteViews contentView, int id, boolean first) {
int endMargin = 0;
- if (mTexts.size() > 0 && mBuilder.mN.mLargeIcon != null && !hasProgress) {
- endMargin = mBuilder.mContext.getResources().getDimensionPixelSize(
- R.dimen.notification_content_picture_margin);
+ if (first) {
+ final int max = mBuilder.mN.extras.getInt(EXTRA_PROGRESS_MAX, 0);
+ final boolean ind = mBuilder.mN.extras.getBoolean(EXTRA_PROGRESS_INDETERMINATE);
+ boolean hasProgress = max != 0 || ind;
+ if (mBuilder.mN.mLargeIcon != null && !hasProgress) {
+ endMargin = mBuilder.mContext.getResources().getDimensionPixelSize(
+ R.dimen.notification_content_picture_margin);
+ }
}
contentView.setViewLayoutMarginEnd(id, endMargin);
}
@@ -4460,13 +4360,11 @@
}
handleImage(view);
// handle the content margin
- int endMargin;
+ int endMargin = mBuilder.mContext.getResources().getDimensionPixelSize(
+ R.dimen.notification_content_margin_end);;
if (mBuilder.mN.mLargeIcon != null) {
- endMargin = mBuilder.mContext.getResources().getDimensionPixelSize(
- R.dimen.notification_content_picture_margin_media);
- } else {
- endMargin = mBuilder.mContext.getResources().getDimensionPixelSize(
- R.dimen.notification_content_margin_end);
+ endMargin += mBuilder.mContext.getResources().getDimensionPixelSize(
+ R.dimen.notification_content_picture_margin);
}
view.setViewLayoutMarginEnd(R.id.notification_main_column, endMargin);
return view;
@@ -4513,6 +4411,214 @@
}
}
+ /**
+ * Notification style for custom views that are decorated by the system
+ *
+ * <p>Instead of providing a notification that is completely custom, a developer can set this
+ * style and still obtain system decorations like the notification header with the expand
+ * affordance and actions.
+ *
+ * <p>Use {@link android.app.Notification.Builder#setCustomContentView(RemoteViews)},
+ * {@link android.app.Notification.Builder#setCustomBigContentView(RemoteViews)} and
+ * {@link android.app.Notification.Builder#setCustomHeadsUpContentView(RemoteViews)} to set the
+ * corresponding custom views to display.
+ *
+ * To use this style with your Notification, feed it to
+ * {@link Notification.Builder#setStyle(android.app.Notification.Style)} like so:
+ * <pre class="prettyprint">
+ * Notification noti = new Notification.Builder()
+ * .setSmallIcon(R.drawable.ic_stat_player)
+ * .setLargeIcon(albumArtBitmap))
+ * .setCustomContentView(contentView);
+ * .setStyle(<b>new Notification.DecoratedCustomViewStyle()</b>)
+ * .build();
+ * </pre>
+ */
+ public static class DecoratedCustomViewStyle extends Style {
+
+ public DecoratedCustomViewStyle() {
+ }
+
+ public DecoratedCustomViewStyle(Builder builder) {
+ setBuilder(builder);
+ }
+
+ /**
+ * @hide
+ */
+ public boolean displayCustomViewInline() {
+ return true;
+ }
+
+ /**
+ * @hide
+ */
+ @Override
+ public RemoteViews makeContentView() {
+ return makeStandardTemplateWithCustomContent(mBuilder.mN.contentView);
+ }
+
+ /**
+ * @hide
+ */
+ @Override
+ public RemoteViews makeBigContentView() {
+ return makeDecoratedBigContentView();
+ }
+
+ /**
+ * @hide
+ */
+ @Override
+ public RemoteViews makeHeadsUpContentView() {
+ return makeDecoratedHeadsUpContentView();
+ }
+
+ private RemoteViews makeDecoratedHeadsUpContentView() {
+ RemoteViews headsUpContentView = mBuilder.mN.headsUpContentView == null
+ ? mBuilder.mN.contentView
+ : mBuilder.mN.headsUpContentView;
+ if (mBuilder.mActions.size() == 0) {
+ return makeStandardTemplateWithCustomContent(headsUpContentView);
+ }
+ RemoteViews remoteViews = mBuilder.applyStandardTemplateWithActions(
+ mBuilder.getBigBaseLayoutResource());
+ buildIntoRemoteViewContent(remoteViews, headsUpContentView);
+ return remoteViews;
+ }
+
+ private RemoteViews makeStandardTemplateWithCustomContent(RemoteViews customContent) {
+ RemoteViews remoteViews = mBuilder.applyStandardTemplate(
+ mBuilder.getBaseLayoutResource());
+ buildIntoRemoteViewContent(remoteViews, customContent);
+ return remoteViews;
+ }
+
+ private RemoteViews makeDecoratedBigContentView() {
+ RemoteViews bigContentView = mBuilder.mN.bigContentView == null
+ ? mBuilder.mN.contentView
+ : mBuilder.mN.bigContentView;
+ if (mBuilder.mActions.size() == 0) {
+ return makeStandardTemplateWithCustomContent(bigContentView);
+ }
+ RemoteViews remoteViews = mBuilder.applyStandardTemplateWithActions(
+ mBuilder.getBigBaseLayoutResource());
+ buildIntoRemoteViewContent(remoteViews, bigContentView);
+ return remoteViews;
+ }
+
+ private void buildIntoRemoteViewContent(RemoteViews remoteViews,
+ RemoteViews customContent) {
+ remoteViews.removeAllViews(R.id.notification_main_column);
+ remoteViews.addView(R.id.notification_main_column, customContent);
+ // also update the end margin if there is an image
+ int endMargin = mBuilder.mContext.getResources().getDimensionPixelSize(
+ R.dimen.notification_content_margin_end);
+ if (mBuilder.mN.mLargeIcon != null) {
+ endMargin += mBuilder.mContext.getResources().getDimensionPixelSize(
+ R.dimen.notification_content_picture_margin);
+ }
+ remoteViews.setViewLayoutMarginEnd(R.id.notification_main_column, endMargin);
+ }
+ }
+
+ /**
+ * Notification style for media custom views that are decorated by the system
+ *
+ * <p>Instead of providing a media notification that is completely custom, a developer can set
+ * this style and still obtain system decorations like the notification header with the expand
+ * affordance and actions.
+ *
+ * <p>Use {@link android.app.Notification.Builder#setCustomContentView(RemoteViews)},
+ * {@link android.app.Notification.Builder#setCustomBigContentView(RemoteViews)} and
+ * {@link android.app.Notification.Builder#setCustomHeadsUpContentView(RemoteViews)} to set the
+ * corresponding custom views to display.
+ *
+ * To use this style with your Notification, feed it to
+ * {@link Notification.Builder#setStyle(android.app.Notification.Style)} like so:
+ * <pre class="prettyprint">
+ * Notification noti = new Notification.Builder()
+ * .setSmallIcon(R.drawable.ic_stat_player)
+ * .setLargeIcon(albumArtBitmap))
+ * .setCustomContentView(contentView);
+ * .setStyle(<b>new Notification.DecoratedMediaCustomViewStyle()</b>
+ * .setMediaSession(mySession))
+ * .build();
+ * </pre>
+ *
+ * @see android.app.Notification.DecoratedCustomViewStyle
+ * @see android.app.Notification.MediaStyle
+ */
+ public static class DecoratedMediaCustomViewStyle extends MediaStyle {
+
+ public DecoratedMediaCustomViewStyle() {
+ }
+
+ public DecoratedMediaCustomViewStyle(Builder builder) {
+ setBuilder(builder);
+ }
+
+ /**
+ * @hide
+ */
+ public boolean displayCustomViewInline() {
+ return true;
+ }
+
+ /**
+ * @hide
+ */
+ @Override
+ public RemoteViews makeContentView() {
+ RemoteViews remoteViews = super.makeContentView();
+ return buildIntoRemoteView(remoteViews, R.id.notification_content_container,
+ mBuilder.mN.contentView);
+ }
+
+ /**
+ * @hide
+ */
+ @Override
+ public RemoteViews makeBigContentView() {
+ RemoteViews customRemoteView = mBuilder.mN.bigContentView != null
+ ? mBuilder.mN.bigContentView
+ : mBuilder.mN.contentView;
+ return makeBigContentViewWithCustomContent(customRemoteView);
+ }
+
+ private RemoteViews makeBigContentViewWithCustomContent(RemoteViews customRemoteView) {
+ RemoteViews remoteViews = super.makeBigContentView();
+ if (remoteViews != null) {
+ return buildIntoRemoteView(remoteViews, R.id.notification_main_column,
+ customRemoteView);
+ } else if (customRemoteView != mBuilder.mN.contentView){
+ remoteViews = super.makeContentView();
+ return buildIntoRemoteView(remoteViews, R.id.notification_content_container,
+ customRemoteView);
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * @hide
+ */
+ @Override
+ public RemoteViews makeHeadsUpContentView() {
+ RemoteViews customRemoteView = mBuilder.mN.headsUpContentView != null
+ ? mBuilder.mN.headsUpContentView
+ : mBuilder.mN.contentView;
+ return makeBigContentViewWithCustomContent(customRemoteView);
+ }
+
+ private RemoteViews buildIntoRemoteView(RemoteViews remoteViews, int id,
+ RemoteViews customContent) {
+ remoteViews.removeAllViews(id);
+ remoteViews.addView(id, customContent);
+ return remoteViews;
+ }
+ }
+
// When adding a new Style subclass here, don't forget to update
// Builder.getNotificationStyleClass.
diff --git a/core/java/android/app/NotificationManager.java b/core/java/android/app/NotificationManager.java
index ff2cfd6..324a0ab 100644
--- a/core/java/android/app/NotificationManager.java
+++ b/core/java/android/app/NotificationManager.java
@@ -507,11 +507,10 @@
return false;
}
- public int getImportance(String topicId) {
- Preconditions.checkNotNull(topicId);
+ public int getImportance() {
INotificationManager service = getService();
try {
- return service.getTopicImportance(mContext.getPackageName(), topicId);
+ return service.getPackageImportance(mContext.getPackageName());
} catch (RemoteException e) {
}
return NotificationListenerService.Ranking.IMPORTANCE_UNSPECIFIED;
diff --git a/core/java/android/app/SystemServiceRegistry.java b/core/java/android/app/SystemServiceRegistry.java
index 5eed781..52fba3b 100644
--- a/core/java/android/app/SystemServiceRegistry.java
+++ b/core/java/android/app/SystemServiceRegistry.java
@@ -89,6 +89,7 @@
import android.os.DropBoxManager;
import android.os.HardwarePropertiesManager;
import android.os.IBinder;
+import android.os.IHardwarePropertiesManager;
import android.os.IPowerManager;
import android.os.IUserManager;
import android.os.PowerManager;
@@ -715,7 +716,14 @@
new CachedServiceFetcher<HardwarePropertiesManager>() {
@Override
public HardwarePropertiesManager createService(ContextImpl ctx) {
- return new HardwarePropertiesManager();
+ IBinder b = ServiceManager.getService(Context.HARDWARE_PROPERTIES_SERVICE);
+ IHardwarePropertiesManager service =
+ IHardwarePropertiesManager.Stub.asInterface(b);
+ if (service == null) {
+ Log.wtf(TAG, "Failed to get hardwareproperties service.");
+ return null;
+ }
+ return new HardwarePropertiesManager(ctx, service);
}});
registerService(Context.SOUND_TRIGGER_SERVICE, SoundTriggerManager.class,
diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java
index 1875e61..c3512ec 100644
--- a/core/java/android/app/WallpaperManager.java
+++ b/core/java/android/app/WallpaperManager.java
@@ -282,6 +282,10 @@
}
public Bitmap peekWallpaperBitmap(Context context, boolean returnDefault) {
+ return peekWallpaperBitmap(context, returnDefault, context.getUserId());
+ }
+
+ public Bitmap peekWallpaperBitmap(Context context, boolean returnDefault, int userId) {
synchronized (this) {
if (mService != null) {
try {
@@ -300,7 +304,7 @@
}
mWallpaper = null;
try {
- mWallpaper = getCurrentWallpaperLocked(context);
+ mWallpaper = getCurrentWallpaperLocked(userId);
} catch (OutOfMemoryError e) {
Log.w(TAG, "No memory load current wallpaper", e);
}
@@ -323,7 +327,7 @@
}
}
- private Bitmap getCurrentWallpaperLocked(Context context) {
+ private Bitmap getCurrentWallpaperLocked(int userId) {
if (mService == null) {
Log.w(TAG, "WallpaperService not running");
return null;
@@ -332,7 +336,7 @@
try {
Bundle params = new Bundle();
ParcelFileDescriptor fd = mService.getWallpaper(this, FLAG_SET_SYSTEM,
- params, context.getUserId());
+ params, userId);
if (fd != null) {
try {
BitmapFactory.Options options = new BitmapFactory.Options();
@@ -644,7 +648,16 @@
* @hide
*/
public Bitmap getBitmap() {
- return sGlobals.peekWallpaperBitmap(mContext, true);
+ return getBitmapAsUser(mContext.getUserId());
+ }
+
+ /**
+ * Like {@link #getDrawable()} but returns a Bitmap for the provided user.
+ *
+ * @hide
+ */
+ public Bitmap getBitmapAsUser(int userId) {
+ return sGlobals.peekWallpaperBitmap(mContext, true, userId);
}
/**
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index ae63a2f..820e0e8 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -1059,6 +1059,9 @@
* by the application that owns the administration component; if you
* try to remove someone else's component, a security exception will be
* thrown.
+ *
+ * <p>Note that the operation is not synchronous and the admin might still be active (as
+ * indicated by {@link #getActiveAdmins()}) by the time this method returns.
*/
public void removeActiveAdmin(@NonNull ComponentName admin) {
if (mService != null) {
diff --git a/core/java/android/hardware/display/DisplayManagerInternal.java b/core/java/android/hardware/display/DisplayManagerInternal.java
index aa697ea..13ba6cc 100644
--- a/core/java/android/hardware/display/DisplayManagerInternal.java
+++ b/core/java/android/hardware/display/DisplayManagerInternal.java
@@ -211,6 +211,9 @@
public int dozeScreenBrightness;
public int dozeScreenState;
+ // If true, use twilight to affect the brightness.
+ public boolean useTwilight;
+
public DisplayPowerRequest() {
policy = POLICY_BRIGHT;
useProximitySensor = false;
@@ -242,6 +245,7 @@
boostScreenBrightness = other.boostScreenBrightness;
dozeScreenBrightness = other.dozeScreenBrightness;
dozeScreenState = other.dozeScreenState;
+ useTwilight = other.useTwilight;
}
@Override
@@ -262,7 +266,8 @@
&& lowPowerMode == other.lowPowerMode
&& boostScreenBrightness == other.boostScreenBrightness
&& dozeScreenBrightness == other.dozeScreenBrightness
- && dozeScreenState == other.dozeScreenState;
+ && dozeScreenState == other.dozeScreenState
+ && useTwilight == other.useTwilight;
}
@Override
@@ -282,7 +287,8 @@
+ ", lowPowerMode=" + lowPowerMode
+ ", boostScreenBrightness=" + boostScreenBrightness
+ ", dozeScreenBrightness=" + dozeScreenBrightness
- + ", dozeScreenState=" + Display.stateToString(dozeScreenState);
+ + ", dozeScreenState=" + Display.stateToString(dozeScreenState)
+ + ", useTwilight=" + useTwilight;
}
public static String policyToString(int policy) {
diff --git a/core/java/android/net/NetworkUtils.java b/core/java/android/net/NetworkUtils.java
index 4487cab..c6d919f 100644
--- a/core/java/android/net/NetworkUtils.java
+++ b/core/java/android/net/NetworkUtils.java
@@ -57,90 +57,6 @@
public native static int resetConnections(String interfaceName, int mask);
/**
- * Start the DHCP client daemon, in order to have it request addresses
- * for the named interface. This returns {@code true} if the DHCPv4 daemon
- * starts, {@code false} otherwise. This call blocks until such time as a
- * result is available or the default discovery timeout has been reached.
- * Callers should check {@link #getDhcpResults} to determine whether DHCP
- * succeeded or failed, and if it succeeded, to fetch the {@link DhcpResults}.
- * @param interfaceName the name of the interface to configure
- * @return {@code true} for success, {@code false} for failure
- */
- public native static boolean startDhcp(String interfaceName);
-
- /**
- * Initiate renewal on the DHCP client daemon for the named interface. This
- * returns {@code true} if the DHCPv4 daemon has been notified, {@code false}
- * otherwise. This call blocks until such time as a result is available or
- * the default renew timeout has been reached. Callers should check
- * {@link #getDhcpResults} to determine whether DHCP succeeded or failed,
- * and if it succeeded, to fetch the {@link DhcpResults}.
- * @param interfaceName the name of the interface to configure
- * @return {@code true} for success, {@code false} for failure
- */
- public native static boolean startDhcpRenew(String interfaceName);
-
- /**
- * Start the DHCP client daemon, in order to have it request addresses
- * for the named interface, and then configure the interface with those
- * addresses. This call blocks until it obtains a result (either success
- * or failure) from the daemon.
- * @param interfaceName the name of the interface to configure
- * @param dhcpResults if the request succeeds, this object is filled in with
- * the IP address information.
- * @return {@code true} for success, {@code false} for failure
- */
- public static boolean runDhcp(String interfaceName, DhcpResults dhcpResults) {
- return startDhcp(interfaceName) && getDhcpResults(interfaceName, dhcpResults);
- }
-
- /**
- * Initiate renewal on the DHCP client daemon. This call blocks until it obtains
- * a result (either success or failure) from the daemon.
- * @param interfaceName the name of the interface to configure
- * @param dhcpResults if the request succeeds, this object is filled in with
- * the IP address information.
- * @return {@code true} for success, {@code false} for failure
- */
- public static boolean runDhcpRenew(String interfaceName, DhcpResults dhcpResults) {
- return startDhcpRenew(interfaceName) && getDhcpResults(interfaceName, dhcpResults);
- }
-
- /**
- * Fetch results from the DHCP client daemon. This call returns {@code true} if
- * if there are results available to be read, {@code false} otherwise.
- * @param interfaceName the name of the interface to configure
- * @param dhcpResults if the request succeeds, this object is filled in with
- * the IP address information.
- * @return {@code true} for success, {@code false} for failure
- */
- public native static boolean getDhcpResults(String interfaceName, DhcpResults dhcpResults);
-
- /**
- * Shut down the DHCP client daemon.
- * @param interfaceName the name of the interface for which the daemon
- * should be stopped
- * @return {@code true} for success, {@code false} for failure
- */
- public native static boolean stopDhcp(String interfaceName);
-
- /**
- * Release the current DHCP lease.
- * @param interfaceName the name of the interface for which the lease should
- * be released
- * @return {@code true} for success, {@code false} for failure
- */
- public native static boolean releaseDhcpLease(String interfaceName);
-
- /**
- * Return the last DHCP-related error message that was recorded.
- * <p/>NOTE: This string is not localized, but currently it is only
- * used in logging.
- * @return the most recent error message, if any
- */
- public native static String getDhcpError();
-
- /**
* Attaches a socket filter that accepts DHCP packets to the given socket.
*/
public native static void attachDhcpFilter(FileDescriptor fd) throws SocketException;
diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java
index b33e807..a738b2e 100644
--- a/core/java/android/os/BatteryStats.java
+++ b/core/java/android/os/BatteryStats.java
@@ -2827,7 +2827,7 @@
final long wifiOnTime = getWifiOnTime(rawRealtime, which);
final long wifiRunningTime = getGlobalWifiRunningTime(rawRealtime, which);
dumpLine(pw, 0 /* uid */, category, GLOBAL_WIFI_DATA, wifiOnTime / 1000,
- wifiRunningTime / 1000, /* legacy fields follow, keep at 0 */ 0, 0, 0, 0);
+ wifiRunningTime / 1000, /* legacy fields follow, keep at 0 */ 0, 0, 0);
dumpControllerActivityLine(pw, 0 /* uid */, category, GLOBAL_WIFI_CONTROLLER_DATA,
getWifiControllerActivity(), which);
diff --git a/core/java/android/os/CpuUsageInfo.aidl b/core/java/android/os/CpuUsageInfo.aidl
new file mode 100644
index 0000000..f81aefe
--- /dev/null
+++ b/core/java/android/os/CpuUsageInfo.aidl
@@ -0,0 +1,18 @@
+/* Copyright 2016, 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 android.os;
+
+parcelable CpuUsageInfo;
diff --git a/core/java/android/os/HardwarePropertiesManager.java b/core/java/android/os/HardwarePropertiesManager.java
index bc317b6..c72a6481 100644
--- a/core/java/android/os/HardwarePropertiesManager.java
+++ b/core/java/android/os/HardwarePropertiesManager.java
@@ -17,10 +17,12 @@
import android.annotation.IntDef;
import android.annotation.NonNull;
+import android.content.Context;
+import android.util.Log;
+
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
-
/**
* The HardwarePropertiesManager class provides a mechanism of accessing hardware state of a
* device: CPU, GPU and battery temperatures, CPU usage per core, fan speed, etc.
@@ -29,11 +31,7 @@
private static final String TAG = HardwarePropertiesManager.class.getSimpleName();
- private static native void nativeInit();
-
- private static native float[] nativeGetFanSpeeds();
- private static native float[] nativeGetDeviceTemperatures(int type);
- private static native CpuUsageInfo[] nativeGetCpuUsages();
+ private final IHardwarePropertiesManager mService;
@Retention(RetentionPolicy.SOURCE)
@IntDef({
@@ -54,9 +52,13 @@
/** Temperature of battery in Celsius. */
public static final int DEVICE_TEMPERATURE_BATTERY = 2;
+ /** Calling app context. */
+ private final Context mContext;
+
/** @hide */
- public HardwarePropertiesManager() {
- nativeInit();
+ public HardwarePropertiesManager(Context context, IHardwarePropertiesManager service) {
+ mContext = context;
+ mService = service;
}
/**
@@ -68,13 +70,19 @@
* Empty if platform doesn't provide the queried temperature.
*
* @throws IllegalArgumentException if an incorrect temperature type is queried.
+ * @throws SecurityException if a non profile or device owner tries to call this method.
*/
public @NonNull float[] getDeviceTemperatures(@DeviceTemperatureType int type) {
switch (type) {
case DEVICE_TEMPERATURE_CPU:
case DEVICE_TEMPERATURE_GPU:
case DEVICE_TEMPERATURE_BATTERY:
- return nativeGetDeviceTemperatures(type);
+ try {
+ return mService.getDeviceTemperatures(mContext.getOpPackageName(), type);
+ } catch (RemoteException e) {
+ Log.w(TAG, "Could not get device temperatures", e);
+ return new float[0];
+ }
default:
throw new IllegalArgumentException();
}
@@ -85,18 +93,32 @@
*
* @return an array of {@link android.os.CpuUsageInfo} for each core.
* Empty if CPU usage is not supported on this system.
+ *
+ * @throws SecurityException if a non profile or device owner tries to call this method.
*/
public @NonNull CpuUsageInfo[] getCpuUsages() {
- return nativeGetCpuUsages();
+ try {
+ return mService.getCpuUsages(mContext.getOpPackageName());
+ } catch (RemoteException e) {
+ Log.w(TAG, "Could not get CPU usages", e);
+ return new CpuUsageInfo[0];
+ }
}
/**
* Return an array of fan speeds in RPM.
*
- * @return an arrat of float fan speeds. Empty if there is no fans or fan speed
- * not supported on this system.
+ * @return an array of float fan speeds in RPM. Empty if there are no fans or fan speed is not
+ * supported on this system.
+ *
+ * @throws SecurityException if a non profile or device owner tries to call this method.
*/
public @NonNull float[] getFanSpeeds() {
- return nativeGetFanSpeeds();
+ try {
+ return mService.getFanSpeeds(mContext.getOpPackageName());
+ } catch (RemoteException e) {
+ Log.w(TAG, "Could not get fan speeds", e);
+ return new float[0];
+ }
}
}
diff --git a/core/java/android/os/IHardwarePropertiesManager.aidl b/core/java/android/os/IHardwarePropertiesManager.aidl
new file mode 100644
index 0000000..bcf0dc8
--- /dev/null
+++ b/core/java/android/os/IHardwarePropertiesManager.aidl
@@ -0,0 +1,28 @@
+/*
+**
+** Copyright 2016, 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 android.os;
+
+import android.os.CpuUsageInfo;
+
+/** @hide */
+
+interface IHardwarePropertiesManager {
+ float[] getDeviceTemperatures(String callingPackage, int type);
+ CpuUsageInfo[] getCpuUsages(String callingPackage);
+ float[] getFanSpeeds(String callingPackage);
+}
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index ec81050..770cde7 100755
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -114,6 +114,21 @@
"android.settings.LOCATION_SOURCE_SETTINGS";
/**
+ * Activity Action: Show settings to allow configuration of users.
+ * <p>
+ * In some cases, a matching Activity may not exist, so ensure you
+ * safeguard against this.
+ * <p>
+ * Input: Nothing.
+ * <p>
+ * Output: Nothing.
+ * @hide
+ */
+ @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
+ public static final String ACTION_USER_SETTINGS =
+ "android.settings.USER_SETTINGS";
+
+ /**
* Activity Action: Show settings to allow configuration of wireless controls
* such as Wi-Fi, Bluetooth and Mobile networks.
* <p>
@@ -5924,6 +5939,52 @@
"camera_double_tap_power_gesture_disabled";
/**
+
+ /**
+ * Behavior of twilight on the device.
+ * One of {@link #TWILIGHT_MODE_LOCKED_OFF}, {@link #TWILIGHT_MODE_LOCKED_ON}
+ * or {@link #TWILIGHT_MODE_AUTO}.
+ * @hide
+ */
+ public static final String TWILIGHT_MODE = "twilight_mode";
+
+ /**
+ * Twilight mode always off.
+ * @hide
+ */
+ public static final int TWILIGHT_MODE_LOCKED_OFF = 0;
+
+ /**
+ * Twilight mode always on.
+ * @hide
+ */
+ public static final int TWILIGHT_MODE_LOCKED_ON = 1;
+
+ /**
+ * Twilight mode auto.
+ * @hide
+ */
+ public static final int TWILIGHT_MODE_AUTO = 2;
+
+ /**
+ * Twilight mode auto, temporarily overriden to on.
+ * @hide
+ */
+ public static final int TWILIGHT_MODE_AUTO_OVERRIDE_OFF = 3;
+
+ /**
+ * Twilight mode auto, temporarily overriden to off.
+ * @hide
+ */
+ public static final int TWILIGHT_MODE_AUTO_OVERRIDE_ON = 4;
+
+ /**
+ * Whether brightness should automatically adjust based on twilight state.
+ * @hide
+ */
+ public static final String BRIGHTNESS_USE_TWILIGHT = "brightness_use_twilight";
+
+ /**
* This are the settings to be backed up.
*
* NOTE: Settings are backed up and restored in the order they appear
@@ -7783,13 +7844,20 @@
public static final String LOW_POWER_MODE_TRIGGER_LEVEL = "low_power_trigger_level";
/**
- * If 1, the activity manager will aggressively finish activities and
+ * If not 0, the activity manager will aggressively finish activities and
* processes as soon as they are no longer needed. If 0, the normal
* extended lifetime is used.
*/
public static final String ALWAYS_FINISH_ACTIVITIES = "always_finish_activities";
/**
+ * @hide
+ * If not 0, the activity manager will implement a looser version of background
+ * check that is more compatible with existing apps.
+ */
+ public static final String LENIENT_BACKGROUND_CHECK = "lenient_background_check";
+
+ /**
* Use Dock audio output for media:
* 0 = disabled
* 1 = enabled
diff --git a/core/java/android/service/notification/NotificationAssistantService.java b/core/java/android/service/notification/NotificationAssistantService.java
index fb58f4e..b5387f1 100644
--- a/core/java/android/service/notification/NotificationAssistantService.java
+++ b/core/java/android/service/notification/NotificationAssistantService.java
@@ -97,14 +97,11 @@
/** Notification was canceled because it was an invisible member of a group. */
public static final int REASON_GROUP_OPTIMIZATION = 13;
- /** Notification was canceled by the user banning the topic. */
- public static final int REASON_TOPIC_BANNED = 14;
-
/** Notification was canceled by the device administrator suspending the package. */
- public static final int REASON_PACKAGE_SUSPENDED = 15;
+ public static final int REASON_PACKAGE_SUSPENDED = 14;
/** Notification was canceled by the owning managed profile being turned off. */
- public static final int REASON_PROFILE_TURNED_OFF = 16;
+ public static final int REASON_PROFILE_TURNED_OFF = 15;
public class Adjustment {
int mImportance;
diff --git a/core/java/android/service/quicksettings/TileService.java b/core/java/android/service/quicksettings/TileService.java
index 0cf1175..553d539 100644
--- a/core/java/android/service/quicksettings/TileService.java
+++ b/core/java/android/service/quicksettings/TileService.java
@@ -16,6 +16,8 @@
package android.service.quicksettings;
import android.Manifest;
+import android.annotation.SdkConstant;
+import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.SystemApi;
import android.app.Dialog;
import android.app.Service;
@@ -74,6 +76,14 @@
public class TileService extends Service {
/**
+ * An activity that provides a user interface for adjusting TileService preferences.
+ * Optional but recommended for apps that implement a TileService.
+ */
+ @SdkConstant(SdkConstantType.INTENT_CATEGORY)
+ public static final String ACTION_QS_TILE_PREFERENCES
+ = "android.service.quicksettings.action.QS_TILE_PREFERENCES";
+
+ /**
* Action that identifies a Service as being a TileService.
*/
public static final String ACTION_QS_TILE = "android.service.quicksettings.action.QS_TILE";
diff --git a/core/java/android/text/style/ReplacementSpan.java b/core/java/android/text/style/ReplacementSpan.java
index 26c725f..07190b2 100644
--- a/core/java/android/text/style/ReplacementSpan.java
+++ b/core/java/android/text/style/ReplacementSpan.java
@@ -16,18 +16,49 @@
package android.text.style;
+import android.annotation.IntRange;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.graphics.Paint;
import android.graphics.Canvas;
import android.text.TextPaint;
public abstract class ReplacementSpan extends MetricAffectingSpan {
- public abstract int getSize(Paint paint, CharSequence text,
- int start, int end,
- Paint.FontMetricsInt fm);
- public abstract void draw(Canvas canvas, CharSequence text,
- int start, int end, float x,
- int top, int y, int bottom, Paint paint);
+ /**
+ * Returns the width of the span. Extending classes can set the height of the span by updating
+ * attributes of {@link android.graphics.Paint.FontMetricsInt}. If the span covers the whole
+ * text, and the height is not set,
+ * {@link #draw(Canvas, CharSequence, int, int, float, int, int, int, Paint)} will not be
+ * called for the span.
+ *
+ * @param paint Paint instance.
+ * @param text Current text.
+ * @param start Start character index for span.
+ * @param end End character index for span.
+ * @param fm Font metrics, can be null.
+ * @return Width of the span.
+ */
+ public abstract int getSize(@NonNull Paint paint, CharSequence text,
+ @IntRange(from = 0) int start, @IntRange(from = 0) int end,
+ @Nullable Paint.FontMetricsInt fm);
+
+ /**
+ * Draws the span into the canvas.
+ *
+ * @param canvas Canvas into which the span should be rendered.
+ * @param text Current text.
+ * @param start Start character index for span.
+ * @param end End character index for span.
+ * @param x Edge of the replacement closest to the leading margin.
+ * @param top Top of the line.
+ * @param y Baseline.
+ * @param bottom Bottom of the line.
+ * @param paint Paint instance.
+ */
+ public abstract void draw(@NonNull Canvas canvas, CharSequence text,
+ @IntRange(from = 0) int start, @IntRange(from = 0) int end, float x,
+ int top, int y, int bottom, @NonNull Paint paint);
/**
* This method does nothing, since ReplacementSpans are measured
diff --git a/core/java/android/view/AccessibilityInteractionController.java b/core/java/android/view/AccessibilityInteractionController.java
index 664c02a..c7b1d03 100644
--- a/core/java/android/view/AccessibilityInteractionController.java
+++ b/core/java/android/view/AccessibilityInteractionController.java
@@ -1053,6 +1053,7 @@
private void prefetchPredecessorsOfVirtualNode(AccessibilityNodeInfo root,
View providerHost, AccessibilityNodeProvider provider,
List<AccessibilityNodeInfo> outInfos) {
+ final int initialResultSize = outInfos.size();
long parentNodeId = root.getParentNodeId();
int accessibilityViewId = AccessibilityNodeInfo.getAccessibilityViewId(parentNodeId);
while (accessibilityViewId != AccessibilityNodeInfo.UNDEFINED_ITEM_ID) {
@@ -1071,6 +1072,12 @@
AccessibilityNodeProvider.HOST_VIEW_ID);
}
if (parent == null) {
+ // Going up the parent relation we found a null predecessor,
+ // so remove these disconnected nodes form the result.
+ final int currentResultSize = outInfos.size();
+ for (int i = currentResultSize - 1; i >= initialResultSize; i--) {
+ outInfos.remove(i);
+ }
// Couldn't obtain the parent, which means we have a
// disconnected sub-tree. Abort prefetch immediately.
return;
diff --git a/core/java/android/view/IDockedStackListener.aidl b/core/java/android/view/IDockedStackListener.aidl
index 77fa7e2..cbc8dbd 100644
--- a/core/java/android/view/IDockedStackListener.aidl
+++ b/core/java/android/view/IDockedStackListener.aidl
@@ -33,4 +33,13 @@
* Called when the docked stack gets created or removed.
*/
void onDockedStackExistsChanged(boolean exists);
+
+ /**
+ * Called when window manager decides to minimize the docked stack. The divider should make
+ * itself not interactable and shrink a bit in this state.
+ *
+ * @param minimized Whether the docked stack is currently minimized.
+ * @param animDuration The duration of the animation for changing the minimized state.
+ */
+ void onDockedStackMinimizedChanged(boolean minimized, long animDuration);
}
diff --git a/core/java/android/view/WindowManagerPolicy.java b/core/java/android/view/WindowManagerPolicy.java
index 609c471..a8b7a7b 100644
--- a/core/java/android/view/WindowManagerPolicy.java
+++ b/core/java/android/view/WindowManagerPolicy.java
@@ -631,7 +631,7 @@
/**
* Return the display width available after excluding any screen
- * decorations that can never be removed. That is, system bar or
+ * decorations that could never be removed in Honeycomb. That is, system bar or
* button bar.
*/
public int getNonDecorDisplayWidth(int fullWidth, int fullHeight, int rotation,
@@ -639,7 +639,7 @@
/**
* Return the display height available after excluding any screen
- * decorations that can never be removed. That is, system bar or
+ * decorations that could never be removed in Honeycomb. That is, system bar or
* button bar.
*/
public int getNonDecorDisplayHeight(int fullWidth, int fullHeight, int rotation,
@@ -1350,4 +1350,16 @@
*/
public void getStableInsetsLw(int displayRotation, int displayWidth, int displayHeight,
Rect outInsets);
+
+ /**
+ * Calculates the insets for the areas that could never be removed in Honeycomb, i.e. system
+ * bar or button bar. See {@link #getNonDecorDisplayWidth}.
+ *
+ * @param displayRotation the current display rotation
+ * @param displayWidth the current display width
+ * @param displayHeight the current display height
+ * @param outInsets the insets to return
+ */
+ public void getNonDecorInsetsLw(int displayRotation, int displayWidth, int displayHeight,
+ Rect outInsets);
}
diff --git a/core/java/android/view/animation/ClipRectTBAnimation.java b/core/java/android/view/animation/ClipRectTBAnimation.java
deleted file mode 100644
index 06f86ce..0000000
--- a/core/java/android/view/animation/ClipRectTBAnimation.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2015 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 android.view.animation;
-
-import android.graphics.Rect;
-
-/**
- * Special case of ClipRectAnimation that animates only the top/bottom
- * dimensions of the clip, picking up the other dimensions from whatever is
- * set on the transform already.
- *
- * @hide
- */
-public class ClipRectTBAnimation extends ClipRectAnimation {
-
- /**
- * Constructor. Passes in 0 for Left/Right parameters of ClipRectAnimation
- */
- public ClipRectTBAnimation(int fromT, int fromB, int toT, int toB) {
- super(0, fromT, 0, fromB, 0, toT, 0, toB);
- }
-
- /**
- * Calculates and sets clip rect on given transformation. It uses existing values
- * on the Transformation for Left/Right clip parameters.
- */
- @Override
- protected void applyTransformation(float it, Transformation tr) {
- Rect oldClipRect = tr.getClipRect();
- tr.setClipRect(oldClipRect.left, mFromRect.top + (int) ((mToRect.top - mFromRect.top) * it),
- oldClipRect.right,
- mFromRect.bottom + (int) ((mToRect.bottom - mFromRect.bottom) * it));
- }
-
-}
diff --git a/core/java/android/view/inputmethod/InputMethodInfo.java b/core/java/android/view/inputmethod/InputMethodInfo.java
index d97f8af..281babe 100644
--- a/core/java/android/view/inputmethod/InputMethodInfo.java
+++ b/core/java/android/view/inputmethod/InputMethodInfo.java
@@ -428,18 +428,6 @@
}
}
- /**
- * @return {@code true} if the {@link android.inputmethodservice.InputMethodService} is marked
- * to be Encryption-Aware.
- * @hide
- */
- public boolean isEncryptionAware() {
- if (mService == null || mService.serviceInfo == null) {
- return false;
- }
- return mService.serviceInfo.encryptionAware;
- }
-
public void dump(Printer pw, String prefix) {
pw.println(prefix + "mId=" + mId
+ " mSettingsActivityName=" + mSettingsActivityName
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 0f58ba3..647d4dc 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -39,6 +39,7 @@
import android.security.KeyChain;
import android.util.AttributeSet;
import android.util.Log;
+import android.view.DragEvent;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
@@ -2528,6 +2529,11 @@
}
@Override
+ public boolean onDragEvent(DragEvent event) {
+ return mProvider.getViewDelegate().onDragEvent(event);
+ }
+
+ @Override
protected void onVisibilityChanged(View changedView, int visibility) {
super.onVisibilityChanged(changedView, visibility);
// This method may be called in the constructor chain, before the WebView provider is
diff --git a/core/java/android/webkit/WebViewProvider.java b/core/java/android/webkit/WebViewProvider.java
index 3ce034c..94d231c 100644
--- a/core/java/android/webkit/WebViewProvider.java
+++ b/core/java/android/webkit/WebViewProvider.java
@@ -30,6 +30,7 @@
import android.os.Bundle;
import android.os.Message;
import android.print.PrintDocumentAdapter;
+import android.view.DragEvent;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
@@ -334,6 +335,8 @@
public InputConnection onCreateInputConnection(EditorInfo outAttrs);
+ public boolean onDragEvent(DragEvent event);
+
public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event);
public boolean onKeyDown(int keyCode, KeyEvent event);
diff --git a/core/java/android/widget/AbsSeekBar.java b/core/java/android/widget/AbsSeekBar.java
index 9a68593..34f3a47 100644
--- a/core/java/android/widget/AbsSeekBar.java
+++ b/core/java/android/widget/AbsSeekBar.java
@@ -694,7 +694,7 @@
final int halfH = h >= 0 ? h / 2 : 1;
mTickMark.setBounds(-halfW, -halfH, halfW, halfH);
- final int spacing = (getWidth() - mPaddingLeft - mPaddingRight) / count;
+ final float spacing = (getWidth() - mPaddingLeft - mPaddingRight) / (float) count;
final int saveCount = canvas.save();
canvas.translate(mPaddingLeft, getHeight() / 2);
for (int i = 0; i <= count; i++) {
diff --git a/core/java/com/android/internal/app/IAppOpsService.aidl b/core/java/com/android/internal/app/IAppOpsService.aidl
index 9fa2c23..b13be97 100644
--- a/core/java/com/android/internal/app/IAppOpsService.aidl
+++ b/core/java/com/android/internal/app/IAppOpsService.aidl
@@ -44,6 +44,7 @@
int checkAudioOperation(int code, int usage, int uid, String packageName);
void setAudioRestriction(int code, int usage, int uid, int mode, in String[] exceptionPackages);
- void setUserRestrictions(in Bundle restrictions, int userHandle);
+ void setUserRestrictions(in Bundle restrictions, IBinder token, int userHandle);
+ void setUserRestriction(int code, boolean restricted, IBinder token, int userHandle);
void removeUser(int userHandle);
}
diff --git a/core/java/com/android/internal/policy/DockedDividerUtils.java b/core/java/com/android/internal/policy/DockedDividerUtils.java
index 00c65bd..c68e506 100644
--- a/core/java/com/android/internal/policy/DockedDividerUtils.java
+++ b/core/java/com/android/internal/policy/DockedDividerUtils.java
@@ -17,9 +17,9 @@
package com.android.internal.policy;
import android.graphics.Rect;
-import android.view.WindowManager;
import static android.view.WindowManager.DOCKED_BOTTOM;
+import static android.view.WindowManager.DOCKED_INVALID;
import static android.view.WindowManager.DOCKED_LEFT;
import static android.view.WindowManager.DOCKED_RIGHT;
import static android.view.WindowManager.DOCKED_TOP;
@@ -35,46 +35,61 @@
int displayWidth, int displayHeight, int dividerSize) {
outRect.set(0, 0, displayWidth, displayHeight);
switch (dockSide) {
- case WindowManager.DOCKED_LEFT:
+ case DOCKED_LEFT:
outRect.right = position;
break;
- case WindowManager.DOCKED_TOP:
+ case DOCKED_TOP:
outRect.bottom = position;
break;
- case WindowManager.DOCKED_RIGHT:
+ case DOCKED_RIGHT:
outRect.left = position + dividerSize;
break;
- case WindowManager.DOCKED_BOTTOM:
+ case DOCKED_BOTTOM:
outRect.top = position + dividerSize;
break;
}
- sanitizeStackBounds(outRect);
+ sanitizeStackBounds(outRect, dockSide == DOCKED_LEFT || dockSide == DOCKED_TOP);
}
- public static void sanitizeStackBounds(Rect bounds) {
- if (bounds.left >= bounds.right) {
- bounds.left = bounds.right - 1;
- }
- if (bounds.top >= bounds.bottom) {
- bounds.top = bounds.bottom - 1;
- }
- if (bounds.right <= bounds.left) {
- bounds.right = bounds.left + 1;
- }
- if (bounds.bottom <= bounds.top) {
- bounds.bottom = bounds.top + 1;
+ /**
+ * Makes sure that the bounds are always valid, i. e. they are at least one pixel high and wide.
+ *
+ * @param bounds The bounds to sanitize.
+ * @param topLeft Pass true if the bounds are at the top/left of the screen, false if they are
+ * at the bottom/right. This is used to determine in which direction to extend
+ * the bounds.
+ */
+ public static void sanitizeStackBounds(Rect bounds, boolean topLeft) {
+
+ // If the bounds are either on the top or left of the screen, rather move it further to the
+ // left/top to make it more offscreen. If they are on the bottom or right, push them off the
+ // screen by moving it even more to the bottom/right.
+ if (topLeft) {
+ if (bounds.left >= bounds.right) {
+ bounds.left = bounds.right - 1;
+ }
+ if (bounds.top >= bounds.bottom) {
+ bounds.top = bounds.bottom - 1;
+ }
+ } else {
+ if (bounds.right <= bounds.left) {
+ bounds.right = bounds.left + 1;
+ }
+ if (bounds.bottom <= bounds.top) {
+ bounds.bottom = bounds.top + 1;
+ }
}
}
public static int calculatePositionForBounds(Rect bounds, int dockSide, int dividerSize) {
switch (dockSide) {
- case WindowManager.DOCKED_LEFT:
+ case DOCKED_LEFT:
return bounds.right;
- case WindowManager.DOCKED_TOP:
+ case DOCKED_TOP:
return bounds.bottom;
- case WindowManager.DOCKED_RIGHT:
+ case DOCKED_RIGHT:
return bounds.left - dividerSize;
- case WindowManager.DOCKED_BOTTOM:
+ case DOCKED_BOTTOM:
return bounds.top - dividerSize;
default:
return 0;
@@ -109,16 +124,16 @@
public static int invertDockSide(int dockSide) {
switch (dockSide) {
- case WindowManager.DOCKED_LEFT:
- return WindowManager.DOCKED_RIGHT;
- case WindowManager.DOCKED_TOP:
- return WindowManager.DOCKED_BOTTOM;
- case WindowManager.DOCKED_RIGHT:
- return WindowManager.DOCKED_LEFT;
- case WindowManager.DOCKED_BOTTOM:
- return WindowManager.DOCKED_TOP;
+ case DOCKED_LEFT:
+ return DOCKED_RIGHT;
+ case DOCKED_TOP:
+ return DOCKED_BOTTOM;
+ case DOCKED_RIGHT:
+ return DOCKED_LEFT;
+ case DOCKED_BOTTOM:
+ return DOCKED_TOP;
default:
- return WindowManager.DOCKED_INVALID;
+ return DOCKED_INVALID;
}
}
}
diff --git a/core/java/com/android/internal/widget/MediaNotificationView.java b/core/java/com/android/internal/widget/MediaNotificationView.java
index b45fd06..6bba1b3 100644
--- a/core/java/com/android/internal/widget/MediaNotificationView.java
+++ b/core/java/com/android/internal/widget/MediaNotificationView.java
@@ -21,6 +21,7 @@
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.RemoteViews;
@@ -31,16 +32,16 @@
* @hide
*/
@RemoteViews.RemoteView
-public class MediaNotificationView extends RelativeLayout {
+public class MediaNotificationView extends FrameLayout {
private final int mMaxImageSize;
- private final int mImageMarginBottom;
private final int mImageMinTopMargin;
private final int mNotificationContentMarginEnd;
private final int mNotificationContentImageMarginEnd;
private ImageView mRightIcon;
private View mActions;
private View mHeader;
+ private View mMainColumn;
public MediaNotificationView(Context context) {
this(context, null);
@@ -61,39 +62,49 @@
if (hasIcon && mode != MeasureSpec.UNSPECIFIED) {
measureChild(mActions, widthMeasureSpec, heightMeasureSpec);
int size = MeasureSpec.getSize(widthMeasureSpec);
- int height = MeasureSpec.getSize(heightMeasureSpec);
size = size - mActions.getMeasuredWidth();
ViewGroup.MarginLayoutParams layoutParams =
(MarginLayoutParams) mRightIcon.getLayoutParams();
- size -= layoutParams.getMarginEnd();
+ int imageEndMargin = layoutParams.getMarginEnd();
+ size -= imageEndMargin;
size = Math.min(size, mMaxImageSize);
size = Math.max(size, mRightIcon.getMinimumWidth());
layoutParams.width = size;
layoutParams.height = size;
- // because we can't allign it to the bottom with a margin, we add a topmargin to it
- layoutParams.topMargin = height - size - mImageMarginBottom;
- // If the topMargin is high enough we can also remove the header constraint!
- if (layoutParams.topMargin >= mImageMinTopMargin) {
- resetHeaderIndention();
- } else {
- int paddingEnd = mNotificationContentImageMarginEnd;
- ViewGroup.MarginLayoutParams headerParams =
- (MarginLayoutParams) mHeader.getLayoutParams();
- headerParams.setMarginEnd(size + layoutParams.getMarginEnd());
- if (mHeader.getPaddingEnd() != paddingEnd) {
- mHeader.setPadding(
- isLayoutRtl() ? paddingEnd : mHeader.getPaddingLeft(),
- mHeader.getPaddingTop(),
- isLayoutRtl() ? mHeader.getPaddingLeft() : paddingEnd,
- mHeader.getPaddingBottom());
- mHeader.setLayoutParams(headerParams);
- }
- }
mRightIcon.setLayoutParams(layoutParams);
- } else if (!hasIcon && mHeader.getPaddingEnd() != mNotificationContentMarginEnd) {
- resetHeaderIndention();
+
+ // lets ensure that the main column doesn't run into the image
+ ViewGroup.MarginLayoutParams mainParams
+ = (MarginLayoutParams) mMainColumn.getLayoutParams();
+ int marginEnd = size + imageEndMargin + mNotificationContentMarginEnd;
+ if (marginEnd != mainParams.getMarginEnd()) {
+ mainParams.setMarginEnd(marginEnd);
+ mMainColumn.setLayoutParams(mainParams);
+ }
+
}
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+ ViewGroup.MarginLayoutParams iconParams =
+ (MarginLayoutParams) mRightIcon.getLayoutParams();
+ int topMargin = getMeasuredHeight() - mRightIcon.getMeasuredHeight()
+ - iconParams.bottomMargin;
+ // If the topMargin is high enough we can also remove the header constraint!
+ if (!hasIcon || topMargin >= mImageMinTopMargin) {
+ resetHeaderIndention();
+ } else {
+ int paddingEnd = mNotificationContentImageMarginEnd;
+ ViewGroup.MarginLayoutParams headerParams =
+ (MarginLayoutParams) mHeader.getLayoutParams();
+ headerParams.setMarginEnd(mRightIcon.getMeasuredWidth() + iconParams.getMarginEnd());
+ if (mHeader.getPaddingEnd() != paddingEnd) {
+ mHeader.setPadding(
+ isLayoutRtl() ? paddingEnd : mHeader.getPaddingLeft(),
+ mHeader.getPaddingTop(),
+ isLayoutRtl() ? mHeader.getPaddingLeft() : paddingEnd,
+ mHeader.getPaddingBottom());
+ mHeader.setLayoutParams(headerParams);
+ }
+ }
}
private void resetHeaderIndention() {
@@ -115,8 +126,6 @@
super(context, attrs, defStyleAttr, defStyleRes);
mMaxImageSize = context.getResources().getDimensionPixelSize(
com.android.internal.R.dimen.media_notification_expanded_image_max_size);
- mImageMarginBottom = context.getResources().getDimensionPixelSize(
- com.android.internal.R.dimen.media_notification_expanded_image_margin_bottom);
mImageMinTopMargin = (int) (context.getResources().getDimensionPixelSize(
com.android.internal.R.dimen.notification_content_margin_top)
+ getResources().getDisplayMetrics().density * 2);
@@ -132,5 +141,6 @@
mRightIcon = (ImageView) findViewById(com.android.internal.R.id.right_icon);
mActions = findViewById(com.android.internal.R.id.media_actions);
mHeader = findViewById(com.android.internal.R.id.notification_header);
+ mMainColumn = findViewById(com.android.internal.R.id.notification_main_column);
}
}
diff --git a/core/jni/Android.mk b/core/jni/Android.mk
index 1b6b53a..8b686b7 100644
--- a/core/jni/Android.mk
+++ b/core/jni/Android.mk
@@ -177,8 +177,7 @@
com_android_internal_net_NetworkStatsFactory.cpp \
com_android_internal_os_Zygote.cpp \
com_android_internal_util_VirtualRefBasePtr.cpp \
- com_android_internal_view_animation_NativeInterpolatorFactoryHelper.cpp \
- android_os_HardwarePropertiesManager.cpp
+ com_android_internal_view_animation_NativeInterpolatorFactoryHelper.cpp
LOCAL_C_INCLUDES += \
$(JNI_H_INCLUDE) \
diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp
index 223fc1a..017fb53 100644
--- a/core/jni/AndroidRuntime.cpp
+++ b/core/jni/AndroidRuntime.cpp
@@ -198,7 +198,6 @@
extern int register_com_android_internal_net_NetworkStatsFactory(JNIEnv *env);
extern int register_com_android_internal_os_Zygote(JNIEnv *env);
extern int register_com_android_internal_util_VirtualRefBasePtr(JNIEnv *env);
-extern int register_android_os_HardwarePropertiesManager(JNIEnv *env);
static AndroidRuntime* gCurRuntime = NULL;
@@ -1390,7 +1389,6 @@
REG_JNI(register_android_animation_PropertyValuesHolder),
REG_JNI(register_com_android_internal_content_NativeLibraryHelper),
REG_JNI(register_com_android_internal_net_NetworkStatsFactory),
- REG_JNI(register_android_os_HardwarePropertiesManager),
};
diff --git a/core/jni/android_net_NetUtils.cpp b/core/jni/android_net_NetUtils.cpp
index ba0876d..defb88a 100644
--- a/core/jni/android_net_NetUtils.cpp
+++ b/core/jni/android_net_NetUtils.cpp
@@ -39,23 +39,6 @@
int ifc_enable(const char *ifname);
int ifc_disable(const char *ifname);
int ifc_reset_connections(const char *ifname, int reset_mask);
-
-int dhcp_start(const char * const ifname);
-int dhcp_start_renew(const char * const ifname);
-int dhcp_get_results(const char * const ifname,
- const char *ipaddr,
- const char *gateway,
- uint32_t *prefixLength,
- const char *dns[],
- const char *server,
- uint32_t *lease,
- const char *vendorInfo,
- const char *domains,
- const char *mtu);
-
-int dhcp_stop(const char *ifname);
-int dhcp_release_lease(const char *ifname);
-char *dhcp_get_errmsg();
}
#define NETUTILS_PKG_NAME "android/net/NetworkUtils"
@@ -64,22 +47,6 @@
static const uint16_t kDhcpClientPort = 68;
-/*
- * The following remembers the jfieldID's of the fields
- * of the DhcpInfo Java object, so that we don't have
- * to look them up every time.
- */
-static struct fieldIds {
- jmethodID clear;
- jmethodID setIpAddress;
- jmethodID setGateway;
- jmethodID addDns;
- jmethodID setDomains;
- jmethodID setServerAddress;
- jmethodID setLeaseDuration;
- jmethodID setVendorInfo;
-} dhcpResultsFieldIds;
-
static jint android_net_utils_resetConnections(JNIEnv* env, jobject clazz,
jstring ifname, jint mask)
{
@@ -95,137 +62,6 @@
return (jint)result;
}
-static jboolean android_net_utils_getDhcpResults(JNIEnv* env, jobject clazz, jstring ifname,
- jobject dhcpResults)
-{
- int result;
- char ipaddr[PROPERTY_VALUE_MAX];
- uint32_t prefixLength;
- char gateway[PROPERTY_VALUE_MAX];
- char dns1[PROPERTY_VALUE_MAX];
- char dns2[PROPERTY_VALUE_MAX];
- char dns3[PROPERTY_VALUE_MAX];
- char dns4[PROPERTY_VALUE_MAX];
- const char *dns[5] = {dns1, dns2, dns3, dns4, NULL};
- char server[PROPERTY_VALUE_MAX];
- uint32_t lease;
- char vendorInfo[PROPERTY_VALUE_MAX];
- char domains[PROPERTY_VALUE_MAX];
- char mtu[PROPERTY_VALUE_MAX];
-
- const char *nameStr = env->GetStringUTFChars(ifname, NULL);
- if (nameStr == NULL) return (jboolean)false;
-
- result = ::dhcp_get_results(nameStr, ipaddr, gateway, &prefixLength,
- dns, server, &lease, vendorInfo, domains, mtu);
- if (result != 0) {
- ALOGD("dhcp_get_results failed : %s (%s)", nameStr, ::dhcp_get_errmsg());
- }
-
- env->ReleaseStringUTFChars(ifname, nameStr);
- if (result == 0) {
- env->CallVoidMethod(dhcpResults, dhcpResultsFieldIds.clear);
-
- // set the linkAddress
- // dhcpResults->addLinkAddress(inetAddress, prefixLength)
- result = env->CallBooleanMethod(dhcpResults, dhcpResultsFieldIds.setIpAddress,
- env->NewStringUTF(ipaddr), prefixLength);
- }
-
- if (result == 0) {
- // set the gateway
- result = env->CallBooleanMethod(dhcpResults,
- dhcpResultsFieldIds.setGateway, env->NewStringUTF(gateway));
- }
-
- if (result == 0) {
- // dhcpResults->addDns(new InetAddress(dns1))
- result = env->CallBooleanMethod(dhcpResults,
- dhcpResultsFieldIds.addDns, env->NewStringUTF(dns1));
- }
-
- if (result == 0) {
- env->CallVoidMethod(dhcpResults, dhcpResultsFieldIds.setDomains,
- env->NewStringUTF(domains));
-
- result = env->CallBooleanMethod(dhcpResults,
- dhcpResultsFieldIds.addDns, env->NewStringUTF(dns2));
-
- if (result == 0) {
- result = env->CallBooleanMethod(dhcpResults,
- dhcpResultsFieldIds.addDns, env->NewStringUTF(dns3));
- if (result == 0) {
- result = env->CallBooleanMethod(dhcpResults,
- dhcpResultsFieldIds.addDns, env->NewStringUTF(dns4));
- }
- }
- }
-
- if (result == 0) {
- // dhcpResults->setServerAddress(new InetAddress(server))
- result = env->CallBooleanMethod(dhcpResults, dhcpResultsFieldIds.setServerAddress,
- env->NewStringUTF(server));
- }
-
- if (result == 0) {
- // dhcpResults->setLeaseDuration(lease)
- env->CallVoidMethod(dhcpResults,
- dhcpResultsFieldIds.setLeaseDuration, lease);
-
- // dhcpResults->setVendorInfo(vendorInfo)
- env->CallVoidMethod(dhcpResults, dhcpResultsFieldIds.setVendorInfo,
- env->NewStringUTF(vendorInfo));
- }
- return (jboolean)(result == 0);
-}
-
-static jboolean android_net_utils_startDhcp(JNIEnv* env, jobject clazz, jstring ifname)
-{
- const char *nameStr = env->GetStringUTFChars(ifname, NULL);
- if (nameStr == NULL) return (jboolean)false;
- if (::dhcp_start(nameStr) != 0) {
- ALOGD("dhcp_start failed : %s", nameStr);
- return (jboolean)false;
- }
- return (jboolean)true;
-}
-
-static jboolean android_net_utils_startDhcpRenew(JNIEnv* env, jobject clazz, jstring ifname)
-{
- const char *nameStr = env->GetStringUTFChars(ifname, NULL);
- if (nameStr == NULL) return (jboolean)false;
- if (::dhcp_start_renew(nameStr) != 0) {
- ALOGD("dhcp_start_renew failed : %s", nameStr);
- return (jboolean)false;
- }
- return (jboolean)true;
-}
-
-static jboolean android_net_utils_stopDhcp(JNIEnv* env, jobject clazz, jstring ifname)
-{
- int result;
-
- const char *nameStr = env->GetStringUTFChars(ifname, NULL);
- result = ::dhcp_stop(nameStr);
- env->ReleaseStringUTFChars(ifname, nameStr);
- return (jboolean)(result == 0);
-}
-
-static jboolean android_net_utils_releaseDhcpLease(JNIEnv* env, jobject clazz, jstring ifname)
-{
- int result;
-
- const char *nameStr = env->GetStringUTFChars(ifname, NULL);
- result = ::dhcp_release_lease(nameStr);
- env->ReleaseStringUTFChars(ifname, nameStr);
- return (jboolean)(result == 0);
-}
-
-static jstring android_net_utils_getDhcpError(JNIEnv* env, jobject clazz)
-{
- return env->NewStringUTF(::dhcp_get_errmsg());
-}
-
static void android_net_utils_attachDhcpFilter(JNIEnv *env, jobject clazz, jobject javaFd)
{
int fd = jniGetFDFromFileDescriptor(env, javaFd);
@@ -305,12 +141,6 @@
static const JNINativeMethod gNetworkUtilMethods[] = {
/* name, signature, funcPtr */
{ "resetConnections", "(Ljava/lang/String;I)I", (void *)android_net_utils_resetConnections },
- { "startDhcp", "(Ljava/lang/String;)Z", (void *)android_net_utils_startDhcp },
- { "startDhcpRenew", "(Ljava/lang/String;)Z", (void *)android_net_utils_startDhcpRenew },
- { "getDhcpResults", "(Ljava/lang/String;Landroid/net/DhcpResults;)Z", (void *)android_net_utils_getDhcpResults },
- { "stopDhcp", "(Ljava/lang/String;)Z", (void *)android_net_utils_stopDhcp },
- { "releaseDhcpLease", "(Ljava/lang/String;)Z", (void *)android_net_utils_releaseDhcpLease },
- { "getDhcpError", "()Ljava/lang/String;", (void*) android_net_utils_getDhcpError },
{ "bindProcessToNetwork", "(I)Z", (void*) android_net_utils_bindProcessToNetwork },
{ "getBoundNetworkForProcess", "()I", (void*) android_net_utils_getBoundNetworkForProcess },
{ "bindProcessToNetworkForHostResolution", "(I)Z", (void*) android_net_utils_bindProcessToNetworkForHostResolution },
@@ -322,24 +152,6 @@
int register_android_net_NetworkUtils(JNIEnv* env)
{
- jclass dhcpResultsClass = FindClassOrDie(env, "android/net/DhcpResults");
-
- dhcpResultsFieldIds.clear = GetMethodIDOrDie(env, dhcpResultsClass, "clear", "()V");
- dhcpResultsFieldIds.setIpAddress =GetMethodIDOrDie(env, dhcpResultsClass, "setIpAddress",
- "(Ljava/lang/String;I)Z");
- dhcpResultsFieldIds.setGateway = GetMethodIDOrDie(env, dhcpResultsClass, "setGateway",
- "(Ljava/lang/String;)Z");
- dhcpResultsFieldIds.addDns = GetMethodIDOrDie(env, dhcpResultsClass, "addDns",
- "(Ljava/lang/String;)Z");
- dhcpResultsFieldIds.setDomains = GetMethodIDOrDie(env, dhcpResultsClass, "setDomains",
- "(Ljava/lang/String;)V");
- dhcpResultsFieldIds.setServerAddress = GetMethodIDOrDie(env, dhcpResultsClass,
- "setServerAddress", "(Ljava/lang/String;)Z");
- dhcpResultsFieldIds.setLeaseDuration = GetMethodIDOrDie(env, dhcpResultsClass,
- "setLeaseDuration", "(I)V");
- dhcpResultsFieldIds.setVendorInfo = GetMethodIDOrDie(env, dhcpResultsClass, "setVendorInfo",
- "(Ljava/lang/String;)V");
-
return RegisterMethodsOrDie(env, NETUTILS_PKG_NAME, gNetworkUtilMethods,
NELEM(gNetworkUtilMethods));
}
diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp
index 4194aa4..612f4df 100644
--- a/core/jni/com_android_internal_os_Zygote.cpp
+++ b/core/jni/com_android_internal_os_Zygote.cpp
@@ -608,8 +608,12 @@
jlong capabilities = 0;
// Grant CAP_WAKE_ALARM to the Bluetooth process.
+ // Additionally, allow bluetooth to open packet sockets so it can start the DHCP client.
+ // TODO: consider making such functionality an RPC to netd.
if (multiuser_get_app_id(uid) == AID_BLUETOOTH) {
capabilities |= (1LL << CAP_WAKE_ALARM);
+ capabilities |= (1LL << CAP_NET_RAW);
+ capabilities |= (1LL << CAP_NET_BIND_SERVICE);
}
// Grant CAP_BLOCK_SUSPEND to processes that belong to GID "wakelock"
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 9b989b9..eeff00f 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -452,6 +452,8 @@
<protected-broadcast android:name="android.bluetooth.input.profile.action.HANDSHAKE" />
<protected-broadcast android:name="android.bluetooth.input.profile.action.REPORT" />
+ <protected-broadcast android:name="android.intent.action.TWILIGHT_CHANGED" />
+
<!-- ====================================================================== -->
<!-- RUNTIME PERMISSIONS -->
<!-- ====================================================================== -->
@@ -2006,6 +2008,12 @@
<permission android:name="android.permission.UPDATE_APP_OPS_STATS"
android:protectionLevel="signature|privileged|installer" />
+ <!-- Allows an application to update the user app op restrictions.
+ Not for use by third party apps.
+ @hide -->
+ <permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS"
+ android:protectionLevel="signature|installer" />
+
<!-- @SystemApi Allows an application to open windows that are for use by parts
of the system user interface.
<p>Not for use by third-party applications.
diff --git a/core/res/res/layout/notification_template_material_big_media.xml b/core/res/res/layout/notification_template_material_big_media.xml
index aa78eff..a5ed187 100644
--- a/core/res/res/layout/notification_template_material_big_media.xml
+++ b/core/res/res/layout/notification_template_material_big_media.xml
@@ -19,41 +19,45 @@
<com.android.internal.widget.MediaNotificationView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/status_bar_latest_event_content"
android:layout_width="match_parent"
- android:layout_height="126dp"
+ android:layout_height="wrap_content"
android:background="#00000000"
android:tag="bigMediaNarrow"
>
<include layout="@layout/notification_template_header"
android:layout_width="match_parent"
android:layout_height="48dp"
- android:layout_alignParentStart="true"/>
+ android:layout_gravity="start"/>
<LinearLayout
- android:id="@+id/notification_main_column"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/notification_content_margin_top"
- android:layout_marginStart="@dimen/notification_content_margin_start"
- android:layout_marginBottom="@dimen/notification_content_margin_bottom"
- android:layout_marginEnd="@dimen/notification_content_margin_end"
- android:layout_toStartOf="@id/right_icon"
- android:minHeight="@dimen/notification_min_content_height"
android:orientation="vertical"
>
- <include layout="@layout/notification_template_part_line1" />
- <include layout="@layout/notification_template_text" />
- </LinearLayout>
- <LinearLayout
- android:id="@+id/media_actions"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:layout_alignParentStart="true"
- android:paddingStart="8dp"
- android:paddingBottom="8dp"
- android:orientation="horizontal"
- android:layoutDirection="ltr"
- >
- <!-- media buttons will be added here -->
+ <LinearLayout
+ android:id="@+id/notification_main_column"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/notification_content_margin_top"
+ android:layout_marginStart="@dimen/notification_content_margin_start"
+ android:layout_marginBottom="@dimen/notification_content_margin_bottom"
+ android:layout_marginEnd="@dimen/notification_content_margin_end"
+ android:minHeight="@dimen/notification_min_content_height"
+ android:orientation="vertical"
+ >
+ <include layout="@layout/notification_template_part_line1" />
+ <include layout="@layout/notification_template_text" />
+ </LinearLayout>
+ <LinearLayout
+ android:id="@+id/media_actions"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="-15dp"
+ android:paddingStart="8dp"
+ android:paddingBottom="8dp"
+ android:orientation="horizontal"
+ android:layoutDirection="ltr"
+ >
+ <!-- media buttons will be added here -->
+ </LinearLayout>
</LinearLayout>
<ImageView android:id="@+id/right_icon"
@@ -61,9 +65,8 @@
android:layout_height="@dimen/media_notification_expanded_image_max_size"
android:minWidth="40dp"
android:layout_marginEnd="16dp"
- android:layout_marginTop="16dp"
- android:layout_alignParentEnd="true"
- android:layout_alignParentTop="true"
+ android:layout_marginBottom="16dp"
+ android:layout_gravity="bottom|end"
android:scaleType="centerCrop"
/>
</com.android.internal.widget.MediaNotificationView>
diff --git a/core/res/res/layout/notification_template_material_media.xml b/core/res/res/layout/notification_template_material_media.xml
index aea9b44..cda0636 100644
--- a/core/res/res/layout/notification_template_material_media.xml
+++ b/core/res/res/layout/notification_template_material_media.xml
@@ -36,6 +36,7 @@
android:tag="media"
>
<LinearLayout
+ android:id="@+id/notification_content_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="fill_vertical"
@@ -45,7 +46,6 @@
android:orientation="vertical"
>
<include layout="@layout/notification_template_part_line1"/>
- <include layout="@layout/notification_template_progress"/>
<include layout="@layout/notification_template_text"/>
</LinearLayout>
<LinearLayout
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index 6b158dc..0af7d15 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Stel terug en herbegin program"</string>
<string name="aerr_report" msgid="5371800241488400617">"Stuur terugvoer"</string>
<string name="aerr_close" msgid="2991640326563991340">"Maak toe"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Demp"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Demp totdat toestel herbegin"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Wag"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Maak program toe"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Raak vir meer opsies."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB-ontfouter gekoppel"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Raak om USB-ontfouting te deaktiveer."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Deel foutverslag?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Deel tans foutverslag …"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Jou IT-administrateur het \'n foutverslag versoek om met die foutsporing van hierdie toestel te help. Programme en data sal dalk gedeel word en jou toestel sal dalk tydelik stadiger wees."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Jou IT-administrateur het \'n foutverslag versoek om met die foutsporing van hierdie toestel te help. Programme en data sal dalk gedeel word."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Dit sal jou toestel dalk tydelik stadiger maak"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"AANVAAR"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"WEIER"</string>
<string name="select_input_method" msgid="8547250819326693584">"Verander sleutelbord"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> gekies</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> gekies</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Diverse"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Jy stel die belangrikheid van hierdie kennisgewings."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Dit is belangrik as gevolg van die mense wat betrokke is."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Laat <xliff:g id="APP">%1$s</xliff:g> toe om \'n nuwe gebruiker met <xliff:g id="ACCOUNT">%2$s</xliff:g> te skep?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Laat <xliff:g id="APP">%1$s</xliff:g> toe om \'n nuwe gebruiker met <xliff:g id="ACCOUNT">%2$s</xliff:g> te skep (\'n gebruiker met hierdie rekening bestaan reeds)?"</string>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index 5332c62..12136b1 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"ዳግም ያቀናብሩ እና መተግበሪያ ዳግም ያስጀምሩት"</string>
<string name="aerr_report" msgid="5371800241488400617">"ግብረመልስ ይላኩ"</string>
<string name="aerr_close" msgid="2991640326563991340">"ዝጋ"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"ድምጽ-ከል አድርግ"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"መሣሪያ ዳግም እስኪጀመር ድረስ ድምጽ ያጥፉ"</string>
<string name="aerr_wait" msgid="3199956902437040261">"ጠብቅ"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"መተግበሪያን ዝጋ"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"ለተጨማሪ አማራጮች ነካ ያድርጉ።"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB አድስ ተያይዟል"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB ማረሚያ ላለማንቃት ዳስስ።"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"የሳንካ ሪፖርት ይጋራ?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"የሳንካ ሪፖርትን በማጋራት ላይ…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"የእርስዎ አይቲ አስተዳዳሪ ለዚህ መሣሪያ መላ ለመፈለግ እንዲያግዝ የሳንካ ሪፖርት ጠይቀዋል። መተግበሪያዎች እና ውሂብ ሊጋሩ ይችላሉ። ይሄ መሣሪያዎን ለጊዜው ሊያዘገየው ይችላል።"</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"የእርስዎ አይቲ አስተዳዳሪ ለዚህ መሣሪያ መላ ለመፈለግ የሳንካ ሪፖርት ጠይቀዋል። መተግበሪያዎች እና ውሂብ ሊጋሩ ይችላሉ።"</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"ይሄ መሣሪያዎን ለጊዜው ሊያዘገየው ይችላል"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ተቀበል"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ውድቅ አድርግ"</string>
<string name="select_input_method" msgid="8547250819326693584">"ቁልፍ ሰሌዳ ይቀይሩ"</string>
@@ -1543,8 +1538,8 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ተመርጧል</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ተመርጠዋል</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"የተለያዩ"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"የእነዚህን ማሳወቂያዎች አስፈላጊነት አዘጋጅተዋል።"</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"ይሄ በሚሳተፉ ሰዎች ምክንያት አስፈላጊ ነው።"</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g> በ<xliff:g id="ACCOUNT">%2$s</xliff:g> አዲስ ተጠቃሚ እንዲፈጥር ይፈቀድለት?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="APP">%1$s</xliff:g> በ<xliff:g id="ACCOUNT">%2$s</xliff:g> አዲስ ተጠቃሚ እንዲፈጥር ይፈቀድለት (ይህ መለያ ያለው ተጠቃሚ አስቀድሞ አለ)?"</string>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index e592fb9..647fce7 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -941,7 +941,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"إعادة ضبط التطبيق وإعادة تشغيله"</string>
<string name="aerr_report" msgid="5371800241488400617">"إرسال تعليقات"</string>
<string name="aerr_close" msgid="2991640326563991340">"إغلاق"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"تجاهل"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"التعطيل حتى إعادة تشغيل الجهاز"</string>
<string name="aerr_wait" msgid="3199956902437040261">"انتظار"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"إغلاق التطبيق"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1085,16 +1085,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"المس للحصول على مزيد من الخيارات."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"تم توصيل تصحيح أخطاء USB"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"المس لتعطيل تصحيح أخطاء USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"هل تريد مشاركة تقرير الخطأ؟"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"جارٍ مشاركة تقرير الخطأ…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"طلب مشرف تكنولوجيا المعلومات الحصول على تقرير خطأ للمساعدة في تحرِّي مشكلة هذا الجهاز وإصلاحها. قد تتم مشاركة التطبيقات والبيانات. وقد يؤدي هذا إلى حدوث بطء مؤقت في جهازك."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"طلب مشرف تكنولوجيا المعلومات الحصول على تقرير خطأ للمساعدة في تحرِّي مشكلة هذا الجهاز وإصلاحها. قد تتم مشاركة التطبيقات والبيانات."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"قد يؤدي هذا إلى حدوث بطء مؤقت في جهازك"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"قبول"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"رفض"</string>
<string name="select_input_method" msgid="8547250819326693584">"تغيير لوحة المفاتيح"</string>
@@ -1619,8 +1614,7 @@
<item quantity="other">تم تحديد <xliff:g id="COUNT_1">%1$d</xliff:g> من العناصر</item>
<item quantity="one">تم تحديد <xliff:g id="COUNT_0">%1$d</xliff:g> عنصر</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"متنوعة"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"لقد عيَّنت أهمية هذه الإشعارات."</string>
+ <string name="importance_from_user" msgid="7318955817386549931">"لقد عيَّنت أهمية هذه الإشعارات."</string>
<string name="importance_from_person" msgid="9160133597262938296">"هذه الرسالة مهمة نظرًا لأهمية الأشخاص المعنيين."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"هل تسمح لـ <xliff:g id="APP">%1$s</xliff:g> بإنشاء مستخدم جديد باستخدام <xliff:g id="ACCOUNT">%2$s</xliff:g>؟"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"هل تسمح لـ <xliff:g id="APP">%1$s</xliff:g> بإنشاء مستخدم جديد باستخدام <xliff:g id="ACCOUNT">%2$s</xliff:g> (يوجد مستخدم بهذا الحساب مسبقًا)؟"</string>
diff --git a/core/res/res/values-az-rAZ/strings.xml b/core/res/res/values-az-rAZ/strings.xml
index 7313063..35c6f2f 100644
--- a/core/res/res/values-az-rAZ/strings.xml
+++ b/core/res/res/values-az-rAZ/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Tətbiqi sıfırlayın və yenidən başladın"</string>
<string name="aerr_report" msgid="5371800241488400617">"Geri əlaqə göndərin"</string>
<string name="aerr_close" msgid="2991640326563991340">"Bağla"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Susdur"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Cihaz yeniden başladılana kimi səssiz edin"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Gözləyin"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Tətbiqi qapadın"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Əlavə seçimlər üçün toxunun."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB sazlama qoşuludur"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB debaqı deaktivasiya etmək üçün toxunun."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Baq hesabatı paylaşılsın?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Baq hesabatı paylaşılır..."</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"IT admininiz bu cihazda nasazlıqların aşkarlanması üçün baq hesabatı sorğusu göndərdi. Tətbiqlər və data paylaşıla və cihazınız surəti müvəqqəti azala bilər."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"IT admininiz bu cihazda nasazlıqların aşkarlanması üçün baq hesabatı sorğusu göndərdi. Tətbiqlər və data paylaşıla bilər."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Bu cihazınızın sürətini müvəqqəti olaraq azalda bilər"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"QƏBUL EDİN"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"RƏDD ET"</string>
<string name="select_input_method" msgid="8547250819326693584">"Klaviaturanı dəyişin"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> seçilib</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> seçilib</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Müxtəlif"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Bildirişlərin əhəmiyyətini Siz ayarlaryırsınız."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"İnsanlar cəlb olunduğu üçün bu vacibdir."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g> tətbiqinə <xliff:g id="ACCOUNT">%2$s</xliff:g> hesabı ilə yeni İstifadəçi yaratmağa icazə verilsin?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="APP">%1$s</xliff:g> tətbiqinə<xliff:g id="ACCOUNT">%2$s</xliff:g> (bu hesab ilə İstifadəçi artıq mövcuddur) hesabı ilə yeni İstifadəçi yaratmağa icazə verilsin?"</string>
diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml
index 3206faa..88f82bc 100644
--- a/core/res/res/values-b+sr+Latn/strings.xml
+++ b/core/res/res/values-b+sr+Latn/strings.xml
@@ -923,7 +923,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Resetuj i ponovo pokreni aplikaciju"</string>
<string name="aerr_report" msgid="5371800241488400617">"Pošaljite povratne informacije"</string>
<string name="aerr_close" msgid="2991640326563991340">"Zatvori"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Ignoriši"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Ignoriši dok se uređaj ne pokrene ponovo"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Čekaj"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Zatvori aplikaciju"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1061,16 +1061,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Dodirnite za još opcija."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Otklanjanje grešaka sa USB-a je uspostavljeno"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Dodirnite da biste onemogućili otklanjanje grešaka sa USB-a."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Želite li da podelite izveštaj o grešci?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Deli se izveštaj o grešci…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"IT administrator je zatražio izveštaj o grešci radi lakšeg rešavanja problema u vezi sa ovim uređajem. Aplikacije i podaci mogu da se dele, a uređaj će se privremeno usporiti."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"IT administrator je zatražio izveštaj o grešci radi lakšeg rešavanja problema u vezi sa ovim uređajem. Aplikacije i podaci mogu da se dele."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Ovo će privremeno usporiti uređaj"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"PRIHVATI"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ODBIJ"</string>
<string name="select_input_method" msgid="8547250819326693584">"Promenite tastaturu"</string>
@@ -1562,8 +1557,8 @@
<item quantity="few">Izabrane su <xliff:g id="COUNT_1">%1$d</xliff:g> stavke</item>
<item quantity="other">Izabrano je <xliff:g id="COUNT_1">%1$d</xliff:g> stavki</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Razno"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Vi podešavate važnost ovih obaveštenja."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Ovo je važno zbog ljudi koji učestvuju."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Želite li da dozvolite aplikaciji <xliff:g id="APP">%1$s</xliff:g> da napravi novog korisnika za <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Želite li da dozvolite aplikaciji <xliff:g id="APP">%1$s</xliff:g> da napravi novog korisnika za <xliff:g id="ACCOUNT">%2$s</xliff:g> (korisnik sa ovim nalogom već postoji)?"</string>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index a5255a6..45b02c3 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Нулиране и рестартиране на приложението"</string>
<string name="aerr_report" msgid="5371800241488400617">"Изпращане на отзиви"</string>
<string name="aerr_close" msgid="2991640326563991340">"Затваряне"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Спиране"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Спиране, докато устройството се рестартира"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Изчакване"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Затваряне на приложението"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Докоснете за още опции."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Отстраняване на грешки през USB"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Докоснете за деактивиране"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Да се сподели ли сигналът за програмна грешка?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Сигналът за програмна грешка се споделя…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Системният ви администратор поиска сигнал за програмна грешка с цел отстраняване на неизправностите на устройството. Възможно е да бъдат споделени приложения и данни и работата на устройството ви временно да се забави."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Системният ви администратор поиска сигнал за програмна грешка с цел отстраняване на неизправностите на това устройство. Възможно е да бъдат споделени приложения и данни."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Това може временно да забави работата на устройството ви"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ПРИЕМАМ"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ОТХВЪРЛЯМ"</string>
<string name="select_input_method" msgid="8547250819326693584">"Промяна на клавиатурата"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other">Избрахте <xliff:g id="COUNT_1">%1$d</xliff:g></item>
<item quantity="one">Избрахте <xliff:g id="COUNT_0">%1$d</xliff:g></item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Други"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Зададохте важността на тези известия."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Това е важно заради участващите хора."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Да се разреши ли на <xliff:g id="APP">%1$s</xliff:g> да създаде нов потребител с профила <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Да се разреши ли на <xliff:g id="APP">%1$s</xliff:g> да създаде нов потребител с профила <xliff:g id="ACCOUNT">%2$s</xliff:g> (вече съществува потребител с този профил)?"</string>
diff --git a/core/res/res/values-bn-rBD/strings.xml b/core/res/res/values-bn-rBD/strings.xml
index eacfd3b..affc7a7 100644
--- a/core/res/res/values-bn-rBD/strings.xml
+++ b/core/res/res/values-bn-rBD/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"পুনরায় সেট করুন এবং অ্যাপ্লিকেশান পুনরায় আরম্ভ করুন"</string>
<string name="aerr_report" msgid="5371800241488400617">"প্রতিক্রিয়া পাঠান"</string>
<string name="aerr_close" msgid="2991640326563991340">"বন্ধ করুন"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"নিঃশব্দ করুন"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"ডিভাইসটি পুনরায় আরম্ভ না হওয়া পর্যন্ত নিঃশব্দ করুন"</string>
<string name="aerr_wait" msgid="3199956902437040261">"অপেক্ষা করুন"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"অ্যাপ্লিকেশান বন্ধ করুন"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"আরো বিকল্পের জন্য স্পর্শ করুন৷"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB ডিবাগিং সংযুক্ত হয়েছে"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB ডিবাগিং অক্ষম করতে স্পর্শ করুন৷"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"ত্রুটির প্রতিবেদন শেয়ার করবেন?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"ত্রুটির প্রতিবেদন শেয়ার করা হচ্ছে..."</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"আপনার আইটি প্রশাসক এই ডিভাইসটির সমস্যা নিবারণে সহায়তা করতে একটি ত্রুটির প্রতিবেদন চেয়েছেন৷ অ্যাপ্লিকেশানগুলি এবং ডেটা শেয়ার করা হতে পারে এবং আপনার ডিভাইসটিকে অস্থায়ীভাবে ধীর করে দিতে পারে৷"</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"আপনার আইটি প্রশাসক এই ডিভাইসটির সমস্যা নিবারণে সহায়তা করতে একটি ত্রুটির প্রতিবেদন চেয়েছেন৷ অ্যাপ্লিকেশান এবং ডেটা শেয়ার করা হতে পারে৷"</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"এটি অস্থায়ীভাবে আপনার ডিভাইসটিকে ধীর করে দিতে পারে"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"স্বীকার করুন"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"অস্বীকার করুন"</string>
<string name="select_input_method" msgid="8547250819326693584">"কীবোর্ড পরিবর্তন করুন"</string>
@@ -1543,8 +1538,8 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g>টি নির্বাচন করা হয়েছে</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>টি নির্বাচন করা হয়েছে</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"বিবিধ"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"আপনি এই বিজ্ঞপ্তিগুলির গুরুত্ব সেট করেছেন।"</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"লোকজন জড়িত থাকার কারণে এটি গুরুত্বপূর্ণ।"</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g> কে <xliff:g id="ACCOUNT">%2$s</xliff:g> এর সাথে একজন নতুন ব্যবহারকারী তৈরি করার অনুমতি দেবেন কি?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="APP">%1$s</xliff:g> কে <xliff:g id="ACCOUNT">%2$s</xliff:g> (একজন ব্যবহারকারী এই অ্যাকাউন্টে ইতিমধ্যেই বিদ্যমান আছেন) এর সাথে একজন নতুন ব্যবহারকারী তৈরি করার অনুমতি দেবেন কি?"</string>
diff --git a/core/res/res/values-bs-rBA/strings.xml b/core/res/res/values-bs-rBA/strings.xml
index 84e2826..2bd1021 100644
--- a/core/res/res/values-bs-rBA/strings.xml
+++ b/core/res/res/values-bs-rBA/strings.xml
@@ -923,7 +923,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Vrati aplikaciju na zadano i pokreni ponovo"</string>
<string name="aerr_report" msgid="5371800241488400617">"Pošalji povratne informacije"</string>
<string name="aerr_close" msgid="2991640326563991340">"Zatvori"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Zanemari"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Isključiti zvuk dok se uređaj ponovo ne pokrene"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Sačekaj"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Zatvori aplikaciju"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1061,16 +1061,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Dodirnite za više opcija."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Uređaj za USB otklanjanje grešaka povezan"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Dodirnite da biste onemogućili USB otklanjanje grešaka."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Podijeliti izvještaj o grešci?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Dijeljenje izvještaja o grešci..."</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Vaš IT administrator je zatražio izvještaj o grešci kako bi pomogao riješiti problem na ovom uređaju. To može uzrokovati dijeljenje aplikacija i podataka te privremeno usporiti vaš uređaj."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Vaš IT administrator je zatražio izvještaj o grešci kako bi pomogao u rješavanju problema ovog uređaja. Aplikacije i podaci se mogu dijeliti."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"To može privremeno usporiti vaš uređaj"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"PRIHVATI"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ODBACI"</string>
<string name="select_input_method" msgid="8547250819326693584">"Promijeni tastaturu"</string>
@@ -1562,8 +1557,8 @@
<item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> stavke su odabrane</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> stavki je odabrano</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Razno"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Vi postavljate značaj ovih oabvještenja."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Ovo je značajno zbog osoba koje su uključene."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Da li dozvoljate da <xliff:g id="APP">%1$s</xliff:g> kreira novog korisnika za nalog <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Da li dozvoljavate da <xliff:g id="APP">%1$s</xliff:g> kreira novog korisnika za <xliff:g id="ACCOUNT">%2$s</xliff:g> (Korisnik sa ovim nalogom već postoji)?"</string>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index f9ecd06..8103b13 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Restableix i reinicia l\'aplicació"</string>
<string name="aerr_report" msgid="5371800241488400617">"Envia suggeriments"</string>
<string name="aerr_close" msgid="2991640326563991340">"Tanca"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Silencia"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Silencia fins que es reiniciï el dispositiu"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Espera"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Tanca l\'aplicació"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Toca per veure més opcions."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Depuració USB activada"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Toca per desactivar la depuració USB"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Vols compartir l\'informe d\'errors?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"S\'està compartint l\'informe d\'errors…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"L\'administrador de TI ha sol·licitat un informe d\'errors per resoldre els problemes d\'aquest dispositiu. És possible que es comparteixin aplicacions i dades, i que el dispositiu funcioni més a poc a poc durant una estona."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"El teu administrador de TI ha sol·licitat un informe d\'errors per resoldre els problemes d\'aquest dispositiu. És possible que es comparteixin aplicacions i dades."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"És possible que el dispositiu funcioni més a poc a poc durant una estona"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ACCEPTA"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"REBUTJA"</string>
<string name="select_input_method" msgid="8547250819326693584">"Canvia el teclat"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other">Seleccionats: <xliff:g id="COUNT_1">%1$d</xliff:g></item>
<item quantity="one">Seleccionats: <xliff:g id="COUNT_0">%1$d</xliff:g></item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Altres"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Tu has definit la importància d\'aquestes notificacions."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Aquest missatge és important per les persones implicades."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Concedeixes permís a <xliff:g id="APP">%1$s</xliff:g> per crear un usuari amb el compte <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Concedeixes permís a <xliff:g id="APP">%1$s</xliff:g> per crear un usuari amb el compte <xliff:g id="ACCOUNT">%2$s</xliff:g>? (Ja hi ha un usuari amb aquest compte.)"</string>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index 19f8864..f537149 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -929,7 +929,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Obnovit a restartovat aplikaci"</string>
<string name="aerr_report" msgid="5371800241488400617">"Odeslat zpětnou vazbu"</string>
<string name="aerr_close" msgid="2991640326563991340">"Zavřít"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Ignorovat"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Ignorovat do restartu zařízení"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Počkat"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Zavřít aplikaci"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1069,16 +1069,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Klepnutím zobrazíte další možnosti."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Ladění přes USB připojeno"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Dotykem zakážete ladění USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Sdílet zprávu o chybě?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Sdílení zprávy o chybě…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Administrátor IT si vyžádal zprávu o chybě, aby mohl problém odstranit. Mohou být sdíleny aplikace a data a zařízení se může dočasně zpomalit."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Administrátor IT si vyžádal zprávu o chybě, aby mohl problém odstranit. Aplikace a data mohou být sdílena."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Zařízení se může dočasně zpomalit"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"PŘIJMOUT"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ODMÍTNOUT"</string>
<string name="select_input_method" msgid="8547250819326693584">"Změna klávesnice"</string>
@@ -1581,8 +1576,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> položek</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> položka</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Různé"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Důležitost oznámení určujete vy."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Tato zpráva je důležitá kvůli lidem zapojeným do konverzace."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Povolit aplikaci <xliff:g id="APP">%1$s</xliff:g> vytvořit nového uživatele s účtem <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Povolit aplikaci <xliff:g id="APP">%1$s</xliff:g> vytvořit nového uživatele s účtem <xliff:g id="ACCOUNT">%2$s</xliff:g>? (Uživatel s tímto účtem již existuje.)"</string>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index 6c36d86..022ec3c 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Nulstil og genstart appen"</string>
<string name="aerr_report" msgid="5371800241488400617">"Send feedback"</string>
<string name="aerr_close" msgid="2991640326563991340">"Luk"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Ignorer"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Ignorer, indtil enheden genstarter"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Vent"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Luk app"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,13 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Tryk for at se flere muligheder."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB-fejlretning er tilsluttet"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Tryk for at deaktivere USB-fejlretning."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Vil du dele fejlrapporten?"</string>
+ <!-- no translation found for sharing_remote_bugreport_notification_title (7572089031496651372) -->
<skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
+ <!-- no translation found for share_remote_bugreport_notification_message (752583906074230920) -->
<skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Din it-administrator har anmodet om en fejlrapport for bedre at kunne finde og rette fejlen på enheden. Apps og data deles muligvis."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Dette kan midlertidigt gøre enheden langsommere"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ACCEPTÉR"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"AFVIS"</string>
<string name="select_input_method" msgid="8547250819326693584">"Skift tastatur"</string>
@@ -1543,8 +1540,8 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g>valgt</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> valgt</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Diverse"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Du angiver, hvor vigtige disse underretninger er."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Dette er vigtigt på grund af de personer, det handler om."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Vil du give <xliff:g id="APP">%1$s</xliff:g> tilladelse til at oprette en ny bruger med <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Vil du give <xliff:g id="APP">%1$s</xliff:g> tilladelse til at oprette en ny bruger med <xliff:g id="ACCOUNT">%2$s</xliff:g> (der findes allerede en bruger med denne konto)?"</string>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index b68c7a1..c620467 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"App zurücksetzen und neu starten"</string>
<string name="aerr_report" msgid="5371800241488400617">"Feedback geben"</string>
<string name="aerr_close" msgid="2991640326563991340">"Schließen"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Ignorieren"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Bis zum Neustart des Geräts ausblenden"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Warten"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"App schließen"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Für weitere Optionen tippen"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB-Debugging"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Zum Deaktivieren berühren"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Fehlerbericht teilen?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Fehlerbericht wird geteilt…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Dein IT-Administrator hat einen Fehlerbericht zur Fehlerbehebung dieses Geräts angefordert. Apps und Daten werden unter Umständen geteilt und dein Gerät wird möglicherweise vorübergehend langsamer."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Dein IT-Administrator hat einen Fehlerbericht zur Fehlerbehebung dieses Geräts angefordert. Apps und Daten werden unter Umständen geteilt."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Dadurch wird dein Gerät möglicherweise vorübergehend langsamer"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"AKZEPTIEREN"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ABLEHNEN"</string>
<string name="select_input_method" msgid="8547250819326693584">"Tastatur ändern"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ausgewählt</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ausgewählt</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Sonstige"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Du legst die Wichtigkeit dieser Benachrichtigungen fest."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Diese Benachrichtigung ist aufgrund der beteiligten Personen wichtig."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Möchtest du zulassen, dass <xliff:g id="APP">%1$s</xliff:g> einen neuen Nutzer mit <xliff:g id="ACCOUNT">%2$s</xliff:g> erstellt?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Möchtest du zulassen, dass <xliff:g id="APP">%1$s</xliff:g> einen neuen Nutzer mit <xliff:g id="ACCOUNT">%2$s</xliff:g> erstellt? Dieses Konto wird jedoch bereits von einem anderen Nutzer verwendet."</string>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index 63d49b1..e62f519 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Επαναφορά και επανεκκίνηση εφαρμογής"</string>
<string name="aerr_report" msgid="5371800241488400617">"Αποστολή σχολίων"</string>
<string name="aerr_close" msgid="2991640326563991340">"Κλείσιμο"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Σίγαση"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Σίγαση μέχρι την επανεκκίνηση της συσκευής"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Αναμονή"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Κλείσιμο εφαρμογής"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Αγγίξτε για περισσότερες επιλογές."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Συνδέθηκε ο εντοπισμός σφαλμάτων USB"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Απεν. του εντοπ. σφαλμάτων USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Κοινή χρήση αναφοράς σφάλματος;"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Κοινή χρήση αναφοράς σφάλματος…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Ο διαχειριστής σας IT ζήτησε μια αναφορά σφάλματος για να συμβάλει στην αντιμετώπιση του προβλήματος αυτής της συσκευής. Ενδέχεται να γίνει κοινή χρήση των εφαρμογών και να επιβραδυνθεί προσωρινά τη λειτουργία της συσκευής σας."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Ο διαχειριστής σας IT ζήτησε μια αναφορά σφάλματος για να συμβάλει στην αντιμετώπιση του προβλήματος αυτής της συσκευής. Ενδέχεται να γίνει κοινή χρήση των εφαρμογών και των δεδομένων."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Αυτή η διαδικασία ενδέχεται να επιβραδύνει προσωρινά τη λειτουργία της συσκευής σας"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ΑΠΟΔΟΧΗ"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ΑΠΟΡΡΙΨΗ"</string>
<string name="select_input_method" msgid="8547250819326693584">"Αλλαγή πληκτρολογίου"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other">Επιλέχτηκαν <xliff:g id="COUNT_1">%1$d</xliff:g></item>
<item quantity="one">Επιλέχτηκε <xliff:g id="COUNT_0">%1$d</xliff:g></item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Διάφορα"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Μπορείτε να ρυθμίσετε τη βαρύτητα αυτών των ειδοποιήσεων."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Αυτό είναι σημαντικό λόγω των ατόμων που συμμετέχουν."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Να επιτραπεί στην εφαρμογή <xliff:g id="APP">%1$s</xliff:g> να δημιουργήσει έναν νέο χρήστη με το λογαριασμό <xliff:g id="ACCOUNT">%2$s</xliff:g>;"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Να επιτραπεί στην εφαρμογή <xliff:g id="APP">%1$s</xliff:g> να δημιουργήσει έναν νέο χρήστη με το λογαριασμό <xliff:g id="ACCOUNT">%2$s</xliff:g> (υπάρχει ήδη χρήστης με αυτόν το λογαριασμό);"</string>
diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml
index 7a709b6..2f50031 100644
--- a/core/res/res/values-en-rAU/strings.xml
+++ b/core/res/res/values-en-rAU/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Reset and restart app"</string>
<string name="aerr_report" msgid="5371800241488400617">"Sending feedback"</string>
<string name="aerr_close" msgid="2991640326563991340">"Close"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Mute"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Mute until device restarts"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Wait"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Close app"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Touch for more options."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB debugging connected"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Touch to disable USB debugging."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Share bug report?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Sharing bug report…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Your IT admin requested a bug report to help troubleshoot this device. Apps and data may be shared and your device may temporarily slow down."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Your IT admin requested a bug report to help troubleshoot this device. Apps and data may be shared."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"This may temporarily slow down your device"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ACCEPT"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"DECLINE"</string>
<string name="select_input_method" msgid="8547250819326693584">"Change keyboard"</string>
@@ -1543,8 +1538,7 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> selected</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> selected</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Miscellaneous"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"You set the importance of these notifications."</string>
+ <string name="importance_from_user" msgid="7318955817386549931">"You set the importance of these notifications."</string>
<string name="importance_from_person" msgid="9160133597262938296">"This is important because of the people involved."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Allow <xliff:g id="APP">%1$s</xliff:g> to create a new User with <xliff:g id="ACCOUNT">%2$s</xliff:g> ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Allow <xliff:g id="APP">%1$s</xliff:g> to create a new User with <xliff:g id="ACCOUNT">%2$s</xliff:g> (a User with this account already exists) ?"</string>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index 7a709b6..2f50031 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Reset and restart app"</string>
<string name="aerr_report" msgid="5371800241488400617">"Sending feedback"</string>
<string name="aerr_close" msgid="2991640326563991340">"Close"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Mute"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Mute until device restarts"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Wait"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Close app"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Touch for more options."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB debugging connected"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Touch to disable USB debugging."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Share bug report?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Sharing bug report…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Your IT admin requested a bug report to help troubleshoot this device. Apps and data may be shared and your device may temporarily slow down."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Your IT admin requested a bug report to help troubleshoot this device. Apps and data may be shared."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"This may temporarily slow down your device"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ACCEPT"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"DECLINE"</string>
<string name="select_input_method" msgid="8547250819326693584">"Change keyboard"</string>
@@ -1543,8 +1538,7 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> selected</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> selected</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Miscellaneous"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"You set the importance of these notifications."</string>
+ <string name="importance_from_user" msgid="7318955817386549931">"You set the importance of these notifications."</string>
<string name="importance_from_person" msgid="9160133597262938296">"This is important because of the people involved."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Allow <xliff:g id="APP">%1$s</xliff:g> to create a new User with <xliff:g id="ACCOUNT">%2$s</xliff:g> ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Allow <xliff:g id="APP">%1$s</xliff:g> to create a new User with <xliff:g id="ACCOUNT">%2$s</xliff:g> (a User with this account already exists) ?"</string>
diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml
index 7a709b6..2f50031 100644
--- a/core/res/res/values-en-rIN/strings.xml
+++ b/core/res/res/values-en-rIN/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Reset and restart app"</string>
<string name="aerr_report" msgid="5371800241488400617">"Sending feedback"</string>
<string name="aerr_close" msgid="2991640326563991340">"Close"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Mute"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Mute until device restarts"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Wait"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Close app"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Touch for more options."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB debugging connected"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Touch to disable USB debugging."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Share bug report?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Sharing bug report…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Your IT admin requested a bug report to help troubleshoot this device. Apps and data may be shared and your device may temporarily slow down."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Your IT admin requested a bug report to help troubleshoot this device. Apps and data may be shared."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"This may temporarily slow down your device"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ACCEPT"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"DECLINE"</string>
<string name="select_input_method" msgid="8547250819326693584">"Change keyboard"</string>
@@ -1543,8 +1538,7 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> selected</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> selected</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Miscellaneous"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"You set the importance of these notifications."</string>
+ <string name="importance_from_user" msgid="7318955817386549931">"You set the importance of these notifications."</string>
<string name="importance_from_person" msgid="9160133597262938296">"This is important because of the people involved."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Allow <xliff:g id="APP">%1$s</xliff:g> to create a new User with <xliff:g id="ACCOUNT">%2$s</xliff:g> ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Allow <xliff:g id="APP">%1$s</xliff:g> to create a new User with <xliff:g id="ACCOUNT">%2$s</xliff:g> (a User with this account already exists) ?"</string>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index 465eceb..b7f1077 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Restablecer y reiniciar la app"</string>
<string name="aerr_report" msgid="5371800241488400617">"Enviar comentarios"</string>
<string name="aerr_close" msgid="2991640326563991340">"Cerrar"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Silenciar"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Silenciar hasta que se reinicie el dispositivo"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Esperar"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Cerrar app"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -971,8 +971,8 @@
<string name="volume_icon_description_incall" msgid="8890073218154543397">"Volumen de la llamada"</string>
<string name="volume_icon_description_media" msgid="4217311719665194215">"Volumen de los medios"</string>
<string name="volume_icon_description_notification" msgid="7044986546477282274">"Volumen de notificación"</string>
- <string name="ringtone_default" msgid="3789758980357696936">"Tono de llamada predeterminado"</string>
- <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Tono de llamada predeterminado (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string>
+ <string name="ringtone_default" msgid="3789758980357696936">"Tono predeterminado"</string>
+ <string name="ringtone_default_with_actual" msgid="8129563480895990372">"Tono predeterminado (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string>
<string name="ringtone_silent" msgid="7937634392408977062">"Ninguno"</string>
<string name="ringtone_picker_title" msgid="3515143939175119094">"Tonos de llamada"</string>
<string name="ringtone_unknown" msgid="5477919988701784788">"Tono de llamada desconocido"</string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Toca para ver más opciones."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Depuración por USB conectada"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Toca para desactivar la depuración por USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"¿Compartir informe de errores?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Compartiendo informe de errores…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"El administrador de TI solicitó un informe de errores para ayudar a solucionar los problemas de este dispositivo. Es posible que se compartan apps y datos, y que el dispositivo se ralentice temporalmente."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"El administrador de TI solicitó un informe de errores para ayudar a solucionar los problemas de este dispositivo. Es posible que se compartan apps y datos."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Es posible que tu dispositivo se ralentice temporalmente"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ACEPTAR"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"RECHAZAR"</string>
<string name="select_input_method" msgid="8547250819326693584">"Cambiar el teclado"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> elementos seleccionados</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> elemento seleccionado</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Varios"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Estableciste la importancia de estas notificaciones."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Es importante debido a las personas involucradas."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"¿Quieres permitir que <xliff:g id="APP">%1$s</xliff:g> cree un usuario nuevo con <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"¿Quieres permitir que <xliff:g id="APP">%1$s</xliff:g> cree un usuario nuevo con <xliff:g id="ACCOUNT">%2$s</xliff:g>? (Ya existe un usuario con esta cuenta)"</string>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index 2a0e000..a165810 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Restablecer y reiniciar aplicación"</string>
<string name="aerr_report" msgid="5371800241488400617">"Enviar sugerencias"</string>
<string name="aerr_close" msgid="2991640326563991340">"Cerrar"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Silenciar"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Silenciar hasta que se reinicie el dispositivo"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Esperar"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Cerrar aplicación"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Toca para obtener más opciones"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Depuración USB habilitada"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Toca aquí para inhabilitarla"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"¿Compartir informe de errores?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Compartiendo informe de errores…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Tu administrador de TI ha solicitado un informe de errores para solucionar problemas de este dispositivo. Es posible que se compartan las aplicaciones y los datos. Puede que el dispositivo funcione más lento de forma temporal."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Tu administrador de TI ha solicitado un informe de errores para solucionar problemas de este dispositivo. Es posible que se compartan las aplicaciones y los datos."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Puede que el dispositivo funcione más lento de forma temporal"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ACEPTAR"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"RECHAZAR"</string>
<string name="select_input_method" msgid="8547250819326693584">"Cambiar teclado"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> seleccionados</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> seleccionado</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Varios"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Tú determinas la importancia de estas notificaciones."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Esto es importante por los usuarios implicados."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"¿Permitir que <xliff:g id="APP">%1$s</xliff:g> cree un usuario con la cuenta <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"¿Permitir que <xliff:g id="APP">%1$s</xliff:g> cree un usuario con la cuenta <xliff:g id="ACCOUNT">%2$s</xliff:g> (ya existe un usuario con esta cuenta)?"</string>
diff --git a/core/res/res/values-et-rEE/strings.xml b/core/res/res/values-et-rEE/strings.xml
index 15ba404..94b809d 100644
--- a/core/res/res/values-et-rEE/strings.xml
+++ b/core/res/res/values-et-rEE/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Lähtesta ja taaskäivita rakendus"</string>
<string name="aerr_report" msgid="5371800241488400617">"Saada tagasiside"</string>
<string name="aerr_close" msgid="2991640326563991340">"Sule"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Vaigista"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Vaigista, kuni seade taaskäivitatakse"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Oota"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Sule rakendus"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,13 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Puudutage rohkemate valikute kuvamiseks."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB-silumine ühendatud"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Puudutage USB-silumise keelamiseks."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Kas jagada veaaruannet?"</string>
+ <!-- no translation found for sharing_remote_bugreport_notification_title (7572089031496651372) -->
<skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
+ <!-- no translation found for share_remote_bugreport_notification_message (752583906074230920) -->
<skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"IT-administraator taotles veaaruannet, mis aitaks seadmes vigu otsida. Rakendusi ja andmeid võidakse jagada."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"See võib ajutiselt teie seadet aeglustada"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"NÕUSTU"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"KEELDU"</string>
<string name="select_input_method" msgid="8547250819326693584">"Klaviatuuri muutmine"</string>
@@ -1543,8 +1540,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> on valitud</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> on valitud</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Mitmesugust"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Teie määrasite nende märguannete tähtsuse."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"See on tähtis osalevate inimeste tõttu."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Kas lubada rakendusel <xliff:g id="APP">%1$s</xliff:g> luua uus kasutaja kontoga <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Kas lubada rakendusel <xliff:g id="APP">%1$s</xliff:g> luua uus kasutaja kontoga <xliff:g id="ACCOUNT">%2$s</xliff:g> (selle kontoga kasutaja on juba olemas)?"</string>
diff --git a/core/res/res/values-eu-rES/strings.xml b/core/res/res/values-eu-rES/strings.xml
index b8fa962..83adc5d 100644
--- a/core/res/res/values-eu-rES/strings.xml
+++ b/core/res/res/values-eu-rES/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Berrezarri eta berrabiarazi aplikazioa"</string>
<string name="aerr_report" msgid="5371800241488400617">"Bidali iritzia"</string>
<string name="aerr_close" msgid="2991640326563991340">"Itxi"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Ezkutatu"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Ezkutatu gailua berrabiarazi arte"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Itxaron"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Itxi aplikazioa"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Ukitu aukera gehiago ikusteko."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB arazketa konektatuta"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB arazketa desgaitzeko, ukitu hau."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Akatsen txostena partekatu nahi duzu?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Akatsen txostena partekatzen…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"IKT administratzaileak akatsen txostena eskatu du gailuko arazoa konpontzen laguntzeko. Baliteke aplikazioak eta datuak partekatzea, eta agian motelago ibiliko da gailua aldi batez."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"IKT administratzaileak akatsen txostena eskatu du gailuko arazoa konpontzen laguntzeko. Baliteke aplikazioak eta datuak partekatzea."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Agian motelago ibiliko da gailua aldi batez"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ONARTU"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"BAZTERTU"</string>
<string name="select_input_method" msgid="8547250819326693584">"Aldatu teklatua"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> hautatuta</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> hautatuta</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Askotarikoak"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Zuk ezarri zenuen jakinarazpen hauen garrantzia."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Garrantzitsua da eragiten dien pertsonengatik."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g> aplikazioari <xliff:g id="ACCOUNT">%2$s</xliff:g> kontua duen erabiltzailea sortzea baimendu nahi diozu?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="APP">%1$s</xliff:g> aplikazioari <xliff:g id="ACCOUNT">%2$s</xliff:g> kontua duen erabiltzailea sortzea baimendu nahi diozu? (Badago kontu hori duen erabiltzaile bat)"</string>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index 02eafe9..c2c81a0 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"بازنشانی و راهاندازی مجدد برنامه"</string>
<string name="aerr_report" msgid="5371800241488400617">"ارسال بازخورد"</string>
<string name="aerr_close" msgid="2991640326563991340">"بستن"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"بیصدا کردن"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"صامت کردن تا وقتی دستگاه راهاندازی مجدد شود"</string>
<string name="aerr_wait" msgid="3199956902437040261">"انتظار"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"بستن برنامه"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"برای گزینههای بیشتر لمس کنید."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"اشکالزدایی USB متصل شد"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"غیرفعالکردن اشکالزداییUSB: با لمس آن."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"گزارش اشکال به اشتراک گذاشته شود؟"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"درحال اشتراکگذاری گزارش اشکال…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"سرپرست فناوری اطلاعات شما برای کمک به عیبیابی این دستگاه، درخواست گزارش اشکال کرده است. ممکن است برنامهها و دادهها به اشتراک گذاشته شوند و سرعت دستگاهتان بهطور موقت کاهش یابد."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"سرپرست فناوری اطلاعات شما برای کمک به عیبیابی این دستگاه، گزارش اشکال درخواست کرده است. ممکن است برنامهها و دادهها به اشتراک گذاشته شوند."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"ممکن است سرعت دستگاهتان بهطور موقت کاهش یابد"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"پذیرفتن"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"نپذیرفتن"</string>
<string name="select_input_method" msgid="8547250819326693584">"تغییر صفحهکلید"</string>
@@ -1543,8 +1538,8 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> انتخاب شد</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> انتخاب شد</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"متفرقه"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"شما اهمیت این اعلانها را تنظیم میکنید."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"به دلیل افراد درگیر مهم است."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"به <xliff:g id="APP">%1$s</xliff:g> امکان داده شود کاربر جدیدی با <xliff:g id="ACCOUNT">%2$s</xliff:g> اضافه کند؟"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"به <xliff:g id="APP">%1$s</xliff:g> امکان داده شود کاربر جدیدی با <xliff:g id="ACCOUNT">%2$s</xliff:g> ایجاد کند (کاربری با این حساب از قبل وجود دارد)؟"</string>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index 812565a..e0daffa 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Nollaa sovellus ja käynnistä uudelleen"</string>
<string name="aerr_report" msgid="5371800241488400617">"Lähetä palautetta"</string>
<string name="aerr_close" msgid="2991640326563991340">"Sulje"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Ohita"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Mykistä laitteen uudelleenkäynnistykseen asti"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Odota"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Sulje sovellus"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Lisää vaihtoehtoja koskettamalla"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB-vianetsintä yhdistetty"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Sulje USB-vianetsintä koskettamalla."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Jaetaanko virheraportti?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Jaetaan virheraporttia…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Järjestelmänvalvoja pyysi virheraporttia voidakseen auttaa laitteen vianetsinnässä. Sovelluksia ja tietoja voidaan jakaa, ja laitteen toiminta voi hidastua väliaikaisesti."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Järjestelmänvalvoja pyysi virheraporttia voidakseen auttaa laitteen vianetsinnässä. Sovelluksia ja tietoja voidaan jakaa."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Tämä voi hidastaa laitteen toimintaa väliaikaisesti."</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"HYVÄKSY"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"HYLKÄÄ"</string>
<string name="select_input_method" msgid="8547250819326693584">"Vaihda näppäimistö"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> valittu</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> valittu</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Muut"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Voit valita näiden ilmoitusten tärkeyden."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Tämä on tärkeää siihen liittyvien ihmisten perusteella."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Myönnetäänkö sovellukselle <xliff:g id="APP">%1$s</xliff:g> oikeus luoda käyttäjä tilille <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Myönnetäänkö sovellukselle <xliff:g id="APP">%1$s</xliff:g> oikeus luoda käyttäjä tilille <xliff:g id="ACCOUNT">%2$s</xliff:g> (tilillä on jo käyttäjä)?"</string>
diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml
index d6c933f..091a99f 100644
--- a/core/res/res/values-fr-rCA/strings.xml
+++ b/core/res/res/values-fr-rCA/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Réinitialiser et redémarrer l\'application"</string>
<string name="aerr_report" msgid="5371800241488400617">"Envoyer des commentaires"</string>
<string name="aerr_close" msgid="2991640326563991340">"Fermer"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Désactiver les notifications"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Désactiver jusqu\'au redémarrage de l\'appareil"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Attendre"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Fermer l\'application"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Touchez pour afficher plus d\'options."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Débogage USB connecté"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Appuyez pour désactiver le débogage USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Partager le rapport de bogue?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Partage du rapport de bogue en cours..."</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Votre administrateur informatique a demandé un rapport de bogue pour l\'aider à dépanner cet appareil. Les applications et les données peuvent être partagées. Cela pourrait temporairement ralentir votre appareil."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Votre administrateur informatique a demandé un rapport de bogue pour l\'aider à dépanner cet appareil. Les applications et les données peuvent être partagées."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Cela pourrait temporairement ralentir votre appareil."</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ACCEPTER"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"REFUSER"</string>
<string name="select_input_method" msgid="8547250819326693584">"Changer de clavier"</string>
@@ -1543,8 +1538,8 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> élément sélectionné</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> éléments sélectionnés</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Divers"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Vous définissez l\'importance de ces notifications."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Ces notifications sont importantes en raison des participants."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Autoriser <xliff:g id="APP">%1$s</xliff:g> à créer un profil d\'utilisateur avec le compte <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Autoriser <xliff:g id="APP">%1$s</xliff:g> à créer un profil d\'utilisateur avec le compte <xliff:g id="ACCOUNT">%2$s</xliff:g>? (Un utilisateur associé à ce compte existe déjà.)"</string>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index 897a289..aa609ab 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Réinitialiser et redémarrer l\'application"</string>
<string name="aerr_report" msgid="5371800241488400617">"Envoyer des commentaires"</string>
<string name="aerr_close" msgid="2991640326563991340">"Fermer"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Ignorer"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Ignorer jusqu\'au redémarrage de l\'appareil"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Attendre"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Fermer l\'application"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Appuyez pour afficher plus d\'options"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Débogage USB activé"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Appuyez pour désact. débogage USB"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Partager le rapport de bug ?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Partage du rapport de bug…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Votre administrateur informatique a demandé un rapport de bug pour l\'aider à résoudre le problème lié à cet appareil. Il est possible que des applications et des données soient partagées et que votre appareil ralentisse temporairement."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Votre administrateur informatique a demandé un rapport de bug pour l\'aider à résoudre le problème lié à cet appareil. Il est possible que des applications et des données soient partagées."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Ceci risque de ralentir temporairement votre appareil."</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ACCEPTER"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"REFUSER"</string>
<string name="select_input_method" msgid="8547250819326693584">"Changer de clavier"</string>
@@ -1543,8 +1538,8 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> élément sélectionné</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> éléments sélectionnés</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Divers"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Vous définissez l\'importance de ces notifications."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Ces notifications sont importantes en raison des participants."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Autoriser <xliff:g id="APP">%1$s</xliff:g> à créer un profil utilisateur avec le compte <xliff:g id="ACCOUNT">%2$s</xliff:g> ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Autoriser <xliff:g id="APP">%1$s</xliff:g> à créer un profil utilisateur avec le compte <xliff:g id="ACCOUNT">%2$s</xliff:g> (un utilisateur associé à ce compte existe déjà) ?"</string>
diff --git a/core/res/res/values-gl-rES/strings.xml b/core/res/res/values-gl-rES/strings.xml
index 0e54aad..3c148c7 100644
--- a/core/res/res/values-gl-rES/strings.xml
+++ b/core/res/res/values-gl-rES/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Restablecer e reiniciar aplicación"</string>
<string name="aerr_report" msgid="5371800241488400617">"Dános a túa opinión"</string>
<string name="aerr_close" msgid="2991640326563991340">"Pechar"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Ignorar"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Ignorar fallos ata que o dispositivo se reinicie"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Esperar"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Pechar aplicación"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Toca para ver máis opcións."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Depuración USB conectada"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Toca aquí para desactivala"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Queres compartir o informe de erros?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Compartindo informe de erros..."</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"O teu administrador de TI solicitou un informe de erros para axudar a solucionar os problemas deste dispositivo. É posible que se compartan aplicacións e datos e que se reduza a velocidade do teu dispositivo temporalmente."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"O teu administrador de TI solicitou un informe de erros para axudar a solucionar os problemas deste dispositivo. É posible que se compartan aplicacións e datos."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Esta acción pode reducir a velocidade do teu dispositivo temporalmente"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ACEPTAR"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ANULAR"</string>
<string name="select_input_method" msgid="8547250819326693584">"Cambiar teclado"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other">Seleccionáronse <xliff:g id="COUNT_1">%1$d</xliff:g></item>
<item quantity="one">Seleccionouse <xliff:g id="COUNT_0">%1$d</xliff:g></item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Varios"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Ti defines a importancia destas notificacións."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"É importante polas persoas involucradas."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Queres permitir que <xliff:g id="APP">%1$s</xliff:g> cree un usuario novo con <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Queres permitir que <xliff:g id="APP">%1$s</xliff:g> cree un usuario novo con <xliff:g id="ACCOUNT">%2$s</xliff:g>? (Xa existe un usuario con esta conta)"</string>
diff --git a/core/res/res/values-gu-rIN/strings.xml b/core/res/res/values-gu-rIN/strings.xml
index 246f2b4..ff892e0 100644
--- a/core/res/res/values-gu-rIN/strings.xml
+++ b/core/res/res/values-gu-rIN/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"ફરીથી સેટ કરો અને ઍપ્લિકેશનને ફરીથી પ્રારંભ કરો"</string>
<string name="aerr_report" msgid="5371800241488400617">"પ્રતિસાદ મોકલો"</string>
<string name="aerr_close" msgid="2991640326563991340">"બંધ કરો"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"મ્યૂટ કરો"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"ઉપકરણ પુનઃપ્રારંભ ન થાય ત્યાં સુધી મ્યૂટ કરો"</string>
<string name="aerr_wait" msgid="3199956902437040261">"રાહ જુઓ"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"ઍપ્લિકેશન બંધ કરો"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"વધુ વિકલ્પો માટે ટચ કરો."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB ડીબગિંગ કનેક્ટ થયું."</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB ડીબગિંગ અક્ષમ કરવા માટે ટચ કરો."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"બગ રિપોર્ટ શેર કરીએ?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"બગ રિપોર્ટ શેર કરી રહ્યાં છે…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"તમારા IT વ્યવસ્થાપક એ આ ઉપકરણની સમસ્યા નિવારણમાં સહાય માટે બગ રિપોર્ટની વિનંતી કરી છે. ઍપ્લિકેશનો અને ડેટા શેર કરવામાં આવી શકે છે અને તમારા ઉપકરણને અસ્થાયી રૂપે ધીમું કરી શકે છે."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"તમારા IT વ્યવસ્થાપક એ આ ઉપકરણની સમસ્યા નિવારણમાં સહાય માટે બગ રિપોર્ટની વિનંતી કરી છે. ઍપ્લિકેશનો અને ડેટા શેર કરવામાં આવી શકે છે."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"આ અસ્થાયી રૂપે તમારા ઉપકરણને ધીમું કરી શકે છે"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"સ્વીકારો"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"નકારો"</string>
<string name="select_input_method" msgid="8547250819326693584">"કીબોર્ડ બદલો"</string>
@@ -1543,8 +1538,8 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> પસંદ કરી</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> પસંદ કરી</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"વિવિધ"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"તમે આ સૂચનાઓનું મહત્વ સેટ કર્યું છે."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"શામેલ થયેલ લોકોને કારણે આ મહત્વપૂર્ણ છે."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g> ને <xliff:g id="ACCOUNT">%2$s</xliff:g> સાથે એક નવા વપરાશકર્તાને બનાવવાની મંજૂરી આપીએ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="ACCOUNT">%2$s</xliff:g> સાથે <xliff:g id="APP">%1$s</xliff:g> ને એક નવા વપરાશકર્તાને બનાવવાની મંજૂરી આપીએ (આ એકાઉન્ટ સાથેના એક વપરાશકર્તા પહેલાંથી અસ્તિત્વમાં છે)?"</string>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index 5e76c16..f44c7e8 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"ऐप रीसेट करें और पुन: प्रारंभ करें"</string>
<string name="aerr_report" msgid="5371800241488400617">"फ़ीडबैक भेजें"</string>
<string name="aerr_close" msgid="2991640326563991340">"बंद करें"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"म्यूट करें"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"डिवाइस पुन: प्रारंभ होने तक म्यूट करें"</string>
<string name="aerr_wait" msgid="3199956902437040261">"प्रतीक्षा करें"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"ऐप बंद करें"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"और विकल्पों के लिए स्पर्श करें."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB डीबग कनेक्ट किया गया"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB डीबग करना अक्षम करने के लिए स्पर्श करें."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"बग रिपोर्ट साझा करें?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"बग रिपोर्ट साझा की जा रही है…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"इस डिवाइस के समस्या निवारण में सहायता हेतु आपके आईटी व्यवस्थापक ने बग रिपोर्ट के लिए अनुरोध किया है. ऐप्स और डेटा को साझा किया जा सकता है और आपके डिवाइस की गति अस्थायी रूप से धीमी हो सकती है."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"आपके आईटी व्यवस्थापक ने इस डिवाइस के समस्या निवारण में सहायता के लिए एक बग रिपोर्ट का अनुरोध किया है. ऐप्स और डेटा साझा किया जा सकता है."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"इससे आपका डिवाइस अस्थायी रूप से धीमा हो सकता है"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"स्वीकार करें"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"अस्वीकार करें"</string>
<string name="select_input_method" msgid="8547250819326693584">"कीबोर्ड बदलें"</string>
@@ -1543,8 +1538,8 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> चयनित</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> चयनित</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"विविध"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"आपने इन नोटिफिकेशन का महत्व सेट किया है."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"यह मौजूद व्यक्तियों के कारण महत्वपूर्ण है."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g> को <xliff:g id="ACCOUNT">%2$s</xliff:g> के द्वारा एक नया उपयोगकर्ता बनाने दें?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="APP">%1$s</xliff:g> को <xliff:g id="ACCOUNT">%2$s</xliff:g> के द्वारा एक नया उपयोगकर्ता बनाने दें (इस खाते वाला एक उपयोगकर्ता पहले से मौजूद है) ?"</string>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index 619e9b9..498b9e0 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -923,7 +923,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Vrati aplikaciju na zadano i pokreni ponovo"</string>
<string name="aerr_report" msgid="5371800241488400617">"Pošalji povratne informacije"</string>
<string name="aerr_close" msgid="2991640326563991340">"Zatvori"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Zanemari"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Zanemari do ponovnog pokretanja uređaja"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Čekaj"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Zatvori aplikaciju"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1061,16 +1061,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Dodirnite za više opcija."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Priključen je alat za uklanjanje pogrešaka USB-om"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Dodirnite da se onemogući otklanjanje pogrešaka USB-om."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Želite li podijeliti izvješće o programskoj pogrešci?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Dijeljenje izvješća o programskoj pogrešci…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"IT administrator zatražio je izvješće o programskoj pogrešci radi lakšeg rješavanja problema na uređaju. Moguće je da će se aplikacije i podaci dijeliti, što bi moglo privremeno usporiti uređaj."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"IT administrator zatražio je izvješće o programskoj pogrešci radi lakšeg rješavanja problema na uređaju. Moguće je da će se aplikacije i podaci dijeliti."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"To bi moglo privremeno usporiti uređaj"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"PRIHVATI"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ODBIJ"</string>
<string name="select_input_method" msgid="8547250819326693584">"Promjena tipkovnice"</string>
@@ -1562,8 +1557,8 @@
<item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> odabrane</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> odabranih</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Razno"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Postavili ste važnost tih obavijesti."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Važno je zbog uključenih osoba."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Želite li dopustiti aplikaciji <xliff:g id="APP">%1$s</xliff:g> da izradi novog korisnika s računom <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Želite li dopustiti aplikaciji <xliff:g id="APP">%1$s</xliff:g> da izradi novog korisnika s računom <xliff:g id="ACCOUNT">%2$s</xliff:g> (korisnik s tim računom već postoji)?"</string>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index be2a3fd..d896887 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Alkalmazás alaphelyzetbe állítása és újraindítása"</string>
<string name="aerr_report" msgid="5371800241488400617">"Visszajelzés küldése"</string>
<string name="aerr_close" msgid="2991640326563991340">"Bezárás"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Némítás"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Némítás az eszköz újraindulásáig"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Várakozás"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Alkalmazás bezárása"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Érintse meg a további lehetőségekhez."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB hibakereső csatlakoztatva"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Érintse meg az USB hibakeresés kikapcsolásához."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Megosztja a hibajelentést?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Hibajelentés megosztása…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"A rendszergazda hibajelentést kért, hogy segíthessen az eszközzel kapcsolatos probléma megoldásában. Előfordulhat, hogy a rendszer megosztja az alkalmazásokat és adatokat, továbbá eszköze átmenetileg lelassulhat."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"A rendszergazda hibajelentést kért, hogy segíthessen az eszközzel kapcsolatos probléma megoldásában. Előfordulhat, hogy a rendszer megosztja az alkalmazásokat és adatokat."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Előfordulhat, hogy eszköze emiatt átmenetileg lelassul"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ELFOGADOM"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ELUTASÍTOM"</string>
<string name="select_input_method" msgid="8547250819326693584">"Billentyűzet megváltoztatása"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> kiválasztva</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> kiválasztva</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Vegyes"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Ön állította be ezen értesítések fontossági szintjét."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Ez az üzenet a résztvevők miatt fontos."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Engedélyezi a(z) <xliff:g id="APP">%1$s</xliff:g> számára, hogy új felhasználót hozzon létre a(z) <xliff:g id="ACCOUNT">%2$s</xliff:g> fiókkal?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Engedélyezi a(z) <xliff:g id="APP">%1$s</xliff:g> számára, hogy új felhasználót hozzon létre a(z) <xliff:g id="ACCOUNT">%2$s</xliff:g> fiókkal? (Már létezik felhasználó ezzel a fiókkal.)"</string>
diff --git a/core/res/res/values-hy-rAM/strings.xml b/core/res/res/values-hy-rAM/strings.xml
index b436f3d..3da04fc 100644
--- a/core/res/res/values-hy-rAM/strings.xml
+++ b/core/res/res/values-hy-rAM/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Վերակայել և վերագործարկել հավելվածը"</string>
<string name="aerr_report" msgid="5371800241488400617">"Ուղարկել կարծիք"</string>
<string name="aerr_close" msgid="2991640326563991340">"Փակել"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Անջատել ձայնը"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Անջատել ձայնը մինչև սարքի վերագործարկումը"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Սպասել"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Փակել հավելվածը"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,13 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Հպեք՝ լրացուցիչ ընտրանքների համար:"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB վրիպազերծումը միացված է"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Հպեք` USB կարգաբերումը կասեցնելու համար:"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Տրամադրե՞լ վրիպակի զեկույցը:"</string>
+ <!-- no translation found for sharing_remote_bugreport_notification_title (7572089031496651372) -->
<skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
+ <!-- no translation found for share_remote_bugreport_notification_message (752583906074230920) -->
<skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Այս սարքի անսարքությունների վերացման նպատակով ձեր ՏՏ ադմինիստրատորին անհրաժեշտ է վրիպակի զեկույց: Կարող են տրամադրվել տեղեկություններ ձեր հավելվածներնի մասին և այլ տվյալներ:"</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Այդ ընթացքում ձեր սարքի աշխատանքը կարող է դանդաղել"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ԸՆԴՈՒՆԵԼ"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ՄԵՐԺԵԼ"</string>
<string name="select_input_method" msgid="8547250819326693584">"Փոխել ստեղնաշարը"</string>
@@ -1543,8 +1540,8 @@
<item quantity="one">Ընտրված է՝ <xliff:g id="COUNT_1">%1$d</xliff:g></item>
<item quantity="other">Ընտրված է՝ <xliff:g id="COUNT_1">%1$d</xliff:g></item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Զանազան"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Դուք սահմանել եք այս ծանուցումների կարևորությունը:"</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Կարևոր է, քանի որ որոշակի մարդիկ են ներգրավված:"</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Թույլ տա՞լ <xliff:g id="APP">%1$s</xliff:g> հավելվածին <xliff:g id="ACCOUNT">%2$s</xliff:g> հաշվով նոր Օգտվող ստեղծել:"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Թույլ տա՞լ <xliff:g id="APP">%1$s</xliff:g> հավելվածին <xliff:g id="ACCOUNT">%2$s</xliff:g> հաշվով նոր Օգտվող ստեղծել (նման հաշվով Օգտվող արդեն գոյություն ունի):"</string>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index 7c18d24..586f76a 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Setel ulang dan mulai ulang aplikasi"</string>
<string name="aerr_report" msgid="5371800241488400617">"Kirim masukan"</string>
<string name="aerr_close" msgid="2991640326563991340">"Tutup"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Bisukan"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Bisukan hingga perangkat dimulai ulang"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Tunggu"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Tutup aplikasi"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Sentuh untuk opsi lainnya."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Debugging USB terhubung"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Sentuh untuk menonaktifkan debugging USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Bagikan laporan bug?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Membagikan laporan bug..."</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Admin IT meminta laporan bug untuk membantu memecahkan masalah perangkat ini. Aplikasi dan data mungkin dibagikan dan untuk sementara perangkat mungkin menjadi lambat."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Admin IT meminta laporan bug untuk membantu memecahkan masalah perangkat ini. Aplikasi dan data mungkin dibagikan."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Tindakan ini mungkin memperlambat perangkat untuk sementara"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"SETUJU"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"TOLAK"</string>
<string name="select_input_method" msgid="8547250819326693584">"Ubah keyboard"</string>
@@ -1543,8 +1538,7 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> dipilih</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> dipilih</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Lain-Lain"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Anda menyetel tingkat kepentingan notifikasi ini."</string>
+ <string name="importance_from_user" msgid="7318955817386549931">"Anda menyetel nilai penting notifikasi ini."</string>
<string name="importance_from_person" msgid="9160133597262938296">"Ini penting karena orang-orang yang terlibat."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Izinkan <xliff:g id="APP">%1$s</xliff:g> membuat Pengguna baru dengan <xliff:g id="ACCOUNT">%2$s</xliff:g> ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Izinkan <xliff:g id="APP">%1$s</xliff:g> membuat Pengguna baru dengan <xliff:g id="ACCOUNT">%2$s</xliff:g> (Pengguna dengan akun ini sudah ada) ?"</string>
diff --git a/core/res/res/values-is-rIS/strings.xml b/core/res/res/values-is-rIS/strings.xml
index 79ef76b..1669ce5 100644
--- a/core/res/res/values-is-rIS/strings.xml
+++ b/core/res/res/values-is-rIS/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Endurstilla og endurræsa forritið"</string>
<string name="aerr_report" msgid="5371800241488400617">"Senda ábendingu"</string>
<string name="aerr_close" msgid="2991640326563991340">"Loka"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Þagga"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Þagga þangað til tæki er endurræst"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Bíða"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Loka forriti"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Snertu til að fá fleiri valkosti."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB-villuleit tengd"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Snertu til að slökkva á USB-villuleit."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Deila villutilkynningu?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Deilir villutilkynningu..."</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Kerfisstjórinn þinn óskaði eftir villutilkynningu til að auðvelda úrræðaleit á þessu tæki. Forritum og gögnum verður hugsanlega deilt og mögulegt er að þetta hægi tímabundið á tækinu."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Kerfisstjórinn þinn óskaði eftir villutilkynningu til að auðvelda úrræðaleit á þessu tæki. Forritum og gögnum verður hugsanlega deilt."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Hugsanlega hægir þetta tímabundið á tækinu þínu"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"SAMÞYKKJA"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"HAFNA"</string>
<string name="select_input_method" msgid="8547250819326693584">"Skipta um lyklaborð"</string>
@@ -1543,8 +1538,8 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> valið</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> valin</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Ýmislegt"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Þú stilltir mikilvægi þessara tilkynninga."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Þetta er mikilvægt vegna fólksins sem tekur þátt í þessu."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Leyfa <xliff:g id="APP">%1$s</xliff:g> að stofna nýjan notanda með <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Leyfa <xliff:g id="APP">%1$s</xliff:g> að stofna nýjan notanda með <xliff:g id="ACCOUNT">%2$s</xliff:g> (notandi með þennan reikning er þegar fyrir hendi)?"</string>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 2ba3359..caafd1f 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Reimposta e riavvia app"</string>
<string name="aerr_report" msgid="5371800241488400617">"Invia feedback"</string>
<string name="aerr_close" msgid="2991640326563991340">"Chiudi"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Disattiva"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Disattiva fino al riavvio del dispositivo"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Attendi"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Chiudi app"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Tocca per visualizzare più opzioni."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Debug USB collegato"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Tocca per disattivare il debug USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Condividere la segnalazione di bug?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Condivisione della segnalazione di bug…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"L\'amministratore IT ha richiesto una segnalazione di bug per poter risolvere più facilmente i problemi di questo dispositivo. Potrebbero essere condivisi dati e app e il dispositivo potrebbe rallentare temporaneamente."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"L\'amministratore IT ha richiesto una segnalazione di bug per poter risolvere più facilmente i problemi di questo dispositivo. Potrebbero essere condivisi dati e app."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Il dispositivo potrebbe rallentare temporaneamente"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ACCETTO"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"RIFIUTO"</string>
<string name="select_input_method" msgid="8547250819326693584">"Cambia tastiera"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> elementi selezionati</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> elemento selezionato</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Vari"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Stabilisci tu l\'importanza di queste notifiche."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Importante a causa delle persone coinvolte."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Consentire a <xliff:g id="APP">%1$s</xliff:g> di creare un nuovo utente con <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Consentire a <xliff:g id="APP">%1$s</xliff:g> di creare un nuovo utente con <xliff:g id="ACCOUNT">%2$s</xliff:g>? (Esiste già un utente con questo account)"</string>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index a67319c..c48915f 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -929,7 +929,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"אפס והפעל מחדש את האפליקציה"</string>
<string name="aerr_report" msgid="5371800241488400617">"שלח משוב"</string>
<string name="aerr_close" msgid="2991640326563991340">"סגור"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"השתק"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"השתק עד הפעלה מחדש של המכשיר"</string>
<string name="aerr_wait" msgid="3199956902437040261">"המתן"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"סגור את האפליקציה"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1069,16 +1069,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"גע להצגת עוד אפשרויות."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"ניפוי באגים של USB מחובר"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"גע כדי להשבית ניפוי באגים בהתקן ה-USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"האם לשתף דוח על באג?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"שיתוף דוח על באג…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"מנהל ה-IT ביקש דוח על באג כדי לסייע בפתרון בעיות במכשיר זה. ייתכן שאפליקציות ונתונים ישותפו. פעילות המכשיר עשויה להאט באופן זמני."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"מנהל ה-IT ביקש דוח על באג כדי לסייע בפתרון בעיות במכשיר זה. ייתכן שאפליקציות ונתונים ישותפו."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"פעילות המכשיר עשויה להאט באופן זמני כתוצאה מכך"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"אישור"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"דחייה"</string>
<string name="select_input_method" msgid="8547250819326693584">"שינוי מקלדת"</string>
@@ -1581,8 +1576,8 @@
<item quantity="other">בחרת <xliff:g id="COUNT_1">%1$d</xliff:g></item>
<item quantity="one">בחרת <xliff:g id="COUNT_0">%1$d</xliff:g></item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"שונות"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"אתה מגדיר את החשיבות של ההודעות האלה."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"ההודעה חשובה בשל האנשים המעורבים."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"האם לאפשר ל-<xliff:g id="APP">%1$s</xliff:g> ליצור משתמש חדש לחשבון <xliff:g id="ACCOUNT">%2$s</xliff:g> ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"האם לאפשר ל-<xliff:g id="APP">%1$s</xliff:g> ליצור משתמש חדש לחשבון <xliff:g id="ACCOUNT">%2$s</xliff:g> (כבר קיים משתמש לחשבון הזה) ?"</string>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index 166eca7..df9f6fd 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -918,7 +918,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"アプリをリセットして再起動"</string>
<string name="aerr_report" msgid="5371800241488400617">"フィードバックを送信"</string>
<string name="aerr_close" msgid="2991640326563991340">"閉じる"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"ミュート"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"端末が再起動するまでミュート"</string>
<string name="aerr_wait" msgid="3199956902437040261">"待機"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"アプリを閉じる"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1054,16 +1054,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"タップしてその他のオプションを表示"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USBデバッグが接続されました"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"タップしてUSBデバッグを無効化"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"バグレポートを共有しますか?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"バグレポートの共有中…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"IT 管理者からこの端末のトラブルシューティングに役立てるためバグレポートを共有するようリクエストがありました。アプリやデータが共有され、端末の動作が一時的に遅くなる場合があります。"</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"IT 管理者からこの端末のトラブルシューティングに役立てるためバグレポートを共有するようリクエストがありました。アプリやデータが共有されることがあります。"</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"共有によって端末の動作が一時的に遅くなる場合があります"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"同意する"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"同意しない"</string>
<string name="select_input_method" msgid="8547250819326693584">"キーボードの変更"</string>
@@ -1544,8 +1539,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>件選択済み</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g>件選択済み</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"その他"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"このような通知の重要度を設定します。"</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"関係するユーザーのため、この設定は重要です。"</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g> が <xliff:g id="ACCOUNT">%2$s</xliff:g> で新しいユーザーを作成できるようにしますか?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="APP">%1$s</xliff:g> が <xliff:g id="ACCOUNT">%2$s</xliff:g> で新しいユーザーを作成できるようにしますか?(このアカウントのユーザーはすでに存在します)"</string>
diff --git a/core/res/res/values-ka-rGE/strings.xml b/core/res/res/values-ka-rGE/strings.xml
index 178e023..ecf0fcc 100644
--- a/core/res/res/values-ka-rGE/strings.xml
+++ b/core/res/res/values-ka-rGE/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"გადაყენება და აპის გადატვირთვა"</string>
<string name="aerr_report" msgid="5371800241488400617">"გამოხმაურება"</string>
<string name="aerr_close" msgid="2991640326563991340">"დახურვა"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"დადუმება"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"დადუმება მოწყობილობის გადატვირთვამდე"</string>
<string name="aerr_wait" msgid="3199956902437040261">"მოცდა"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"აპის დახურვა"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,13 @@
<string name="usb_notification_message" msgid="7347368030849048437">"შეეხეთ დამატებითი პარამეტრებისთვის."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB გამართვა შეერთებულია"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"შეეხეთ, რათა შეწყვიტოთ USB-ის გამართვა."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"გსურთ ხარვეზის შესახებ ანგარიშის გაზიარება?"</string>
+ <!-- no translation found for sharing_remote_bugreport_notification_title (7572089031496651372) -->
<skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
+ <!-- no translation found for share_remote_bugreport_notification_message (752583906074230920) -->
<skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"ამ მოწყობილობის პრობლემების აღმოფხვრაში დასახმარებლად, თქვენი IT ადმინისტრატორი ხარვეზის შესახებ ანგარიშს ითხოვს, რა დროსაც შეიძლება გაზიარდეს აპები და მონაცემები."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"ამან შეიძლება დროებით შეანელოს თქვენი მოწყობილობა"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"მიღება"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"უარყოფა"</string>
<string name="select_input_method" msgid="8547250819326693584">"კლავიატურის შეცვლა"</string>
@@ -1543,8 +1540,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> შერჩეული</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> შერჩეული</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"სხვადასხვა"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"ამ შეტყობინებების მნიშვნელობის დონე განისაზღვრა თქვენ მიერ."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"მნიშვნელოვანია ჩართული მომხმარებლების გამო."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"მიეცეს უფლება <xliff:g id="APP">%1$s</xliff:g>-ს, <xliff:g id="ACCOUNT">%2$s</xliff:g>-ის მეშვეობით ახალი მომხმარებელი შექმნას ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"მიეცეს უფლება <xliff:g id="APP">%1$s</xliff:g>-ს, <xliff:g id="ACCOUNT">%2$s</xliff:g>-ის მეშვეობით ახალი მომხმარებელი შექმნას (ამ ანგარიშის მქონე მომხმარებელი უკვე არსებობს) ?"</string>
diff --git a/core/res/res/values-kk-rKZ/strings.xml b/core/res/res/values-kk-rKZ/strings.xml
index 259278a..fc18686 100644
--- a/core/res/res/values-kk-rKZ/strings.xml
+++ b/core/res/res/values-kk-rKZ/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Ысырып, қолданбаны қайта іске қосу"</string>
<string name="aerr_report" msgid="5371800241488400617">"Пікір жіберу"</string>
<string name="aerr_close" msgid="2991640326563991340">"Жабу"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Үнсіз"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Құрылғы қайта іске қосылғанша дыбысын өшіру"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Күту"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Қолданбаны жабу"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Қосымша параметрлер үшін түртіңіз."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB жөндеу қосылған"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB жөндеуді өшіру үшін түртіңіз."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Қате туралы есепті бөлісу керек пе?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Қате туралы есеп бөлісілуде…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"АТ әкімшісі осы құрылғы ақауларын жоюға көмектесу үшін қате туралы есепті сұрады. Қолданбалар және деректер бөлісілуі мүмкін, әрі құрылғы уақытша баяулауы мүмкін."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"АТ әкімшісі осы құрылғы ақауларын жоюға көмектесу үшін қате туралы есепті сұрады. Қолданбалар және деректер бөлісілуі мүмкін."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Бұл құрылғыны уақытша баяулатуы мүмкін"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ҚАБЫЛДАУ"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ҚАБЫЛДАМАУ"</string>
<string name="select_input_method" msgid="8547250819326693584">"Пернетақтаны өзгерту"</string>
@@ -1543,8 +1538,7 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> таңдалды</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> таңдалды</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Әр түрлі"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Сіз осы хабарландырулардың маңыздылығын орнатасасыз."</string>
+ <string name="importance_from_user" msgid="7318955817386549931">"Сіз осы хабарландырулардың маңыздылығын орнатасыз."</string>
<string name="importance_from_person" msgid="9160133597262938296">"Қатысты адамдарға байланысты бұл маңызды."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g> <xliff:g id="ACCOUNT">%2$s</xliff:g> есептік жазбасы бар жаңа пайдаланушы жасауға рұқсат ету керек пе?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="APP">%1$s</xliff:g> <xliff:g id="ACCOUNT">%2$s</xliff:g> есептік жазбасында жаңа пайдаланушы жасауға рұқсат ету керек пе (осы есептік жазбасы бар пайдаланушы әлдеқашан бар) ?"</string>
diff --git a/core/res/res/values-km-rKH/strings.xml b/core/res/res/values-km-rKH/strings.xml
index 7390b6b..891e00f 100644
--- a/core/res/res/values-km-rKH/strings.xml
+++ b/core/res/res/values-km-rKH/strings.xml
@@ -919,7 +919,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"កំណត់ និងចាប់ផ្តើមកម្មវិធីឡើងវិញ"</string>
<string name="aerr_report" msgid="5371800241488400617">"ផ្ញើមតិ"</string>
<string name="aerr_close" msgid="2991640326563991340">"បិទ"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"បិទ"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"បិទរហូតដល់ឧបករណ៍ចាប់ផ្តើមឡើងវិញ"</string>
<string name="aerr_wait" msgid="3199956902437040261">"រង់ចាំ"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"បិទកម្មវិធី"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1055,16 +1055,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"ប៉ះដើម្បីបានជម្រើសថែមទៀត។"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"បានភ្ជាប់ការកែកំហុសយូអេសប៊ី"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"ប៉ះ ដើម្បីបិទការកែកំហុសយូអេសប៊ី។"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"ចែករំលែករបាយការណ៍កំហុសឬ?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"កំពុងចែករំលែករបាយកំហុស…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"អ្នកគ្រប់គ្រងផ្នែកព័ត៌មានវិទ្យារបស់អ្នកបានស្នើរបាយការណ៍កំហុសដើម្បីដោះស្រាយកំហុសឧបករណ៍នេះ។ កម្មវិធី និងទិន្នន័យអាចនឹងត្រូវបានចែករំលែក ហើយឧបករណ៍របស់អ្នកអាចនឹងយឺតជាបណ្តោះអាសន្ន។"</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"អ្នកគ្រប់គ្រងផ្នែកព័ត៌មានវិទ្យារបស់អ្នកបានស្នើរបាយការណ៍កំហុសដើម្បីដោះស្រាយកំហុសឧបករណ៍នេះ។ កម្មវិធី និងទិន្នន័យអាចនឹងត្រូវបានចែករំលែក។"</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"វាអាចនឹងធ្វើឲ្យឧបករណ៍របស់អ្នកយឺតជាបណ្តោះអាសន្ន។"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ព្រមទទួល"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"បដិសេធ"</string>
<string name="select_input_method" msgid="8547250819326693584">"ប្ដូរក្ដារចុច"</string>
@@ -1545,8 +1540,8 @@
<item quantity="other">បានជ្រើស <xliff:g id="COUNT_1">%1$d</xliff:g></item>
<item quantity="one">បានជ្រើស <xliff:g id="COUNT_0">%1$d</xliff:g></item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"ផ្សេងៗ"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"អ្នកបានកំណត់សារៈសំខាន់នៃការជូនដំណឹងទាំងនេះ"</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"វាមានសារៈសំខាន់ដោយសារតែមនុស្សដែលពាក់ព័ន្ធ"</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"អនុញ្ញាតឲ្យ <xliff:g id="APP">%1$s</xliff:g> បង្កើតអ្នកប្រើថ្មីដោយប្រើ <xliff:g id="ACCOUNT">%2$s</xliff:g> ឬទេ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"អនុញ្ញាតឲ្យ <xliff:g id="APP">%1$s</xliff:g> បង្កើតអ្នកប្រើថ្មីដោយប្រើ <xliff:g id="ACCOUNT">%2$s</xliff:g> (មានអ្នកប្រើសម្រាប់គណនីនេះរួចហើយ) ឬទេ?"</string>
diff --git a/core/res/res/values-kn-rIN/strings.xml b/core/res/res/values-kn-rIN/strings.xml
index ff1d028..12cb331 100644
--- a/core/res/res/values-kn-rIN/strings.xml
+++ b/core/res/res/values-kn-rIN/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"ಅಪ್ಲಿಕೇಶನ್ ಮರುಹೊಂದಿಸಿ ಮತ್ತು ಮರುಪ್ರಾರಂಭಿಸಿ"</string>
<string name="aerr_report" msgid="5371800241488400617">"ಪ್ರತಿಕ್ರಿಯೆ ಕಳುಹಿಸು"</string>
<string name="aerr_close" msgid="2991640326563991340">"ಮುಚ್ಚು"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"ಮ್ಯೂಟ್"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"ಸಾಧನವು ಮರುಪ್ರಾರಂಭವಾಗುವವರೆಗೂ ಮ್ಯೂಟ್ ಮಾಡಿ"</string>
<string name="aerr_wait" msgid="3199956902437040261">"ನಿರೀಕ್ಷಿಸು"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಮುಚ್ಚಿ"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"ಹೆಚ್ಚಿನ ಆಯ್ಕೆಗಳಿಗೆ ಸ್ಪರ್ಶಿಸಿ."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB ಡೀಬಗಿಂಗ್ ಸಂಪರ್ಕ"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB ಡೀಬಗಿಂಗ್ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಸ್ಪರ್ಶಿಸಿ."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"ಬಗ್ ವರದಿಯನ್ನು ಹಂಚುವುದೇ?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"ಬಗ್ ವರದಿಯನ್ನು ಹಂಚಿಕೊಳ್ಳಲಾಗುತ್ತಿದೆ…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"ಈ ಸಾಧನದ ಸಮಸ್ಯೆ ನಿವಾರಿಸುವುದಕ್ಕೆ ಸಹಾಯ ಮಾಡಲು ನಿಮ್ಮ IT ನಿರ್ವಾಹಕರು ಬಗ್ ವರದಿಯನ್ನು ವಿನಂತಿಸಿದ್ದಾರೆ. ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಹಂಚಿಕೊಳ್ಳಬಹುದು ಹಾಗು ನಿಮ್ಮ ಸಾಧನವು ತಾತ್ಕಾಲಿಕವಾಗಿ ನಿಧಾನಗೊಳ್ಳಬಹುದು."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"ಈ ಸಾಧನದ ಸಮಸ್ಯೆ ನಿವಾರಿಸಲು ಸಹಾಯ ಮಾಡಲು ನಿಮ್ಮ IT ನಿರ್ವಾಹಕರು ಬಗ್ ವರದಿಯನ್ನು ವಿನಂತಿಸಿದ್ದಾರೆ. ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಹಂಚಿಕೊಳ್ಳಬಹುದು."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"ಇದು ನಿಮ್ಮ ಸಾಧನವನ್ನು ತಾತ್ಕಾಲಿಕವಾಗಿ ನಿಧಾನಗೊಳಿಸಬಹುದು"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ಸಮ್ಮತಿಸು"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ತಿರಸ್ಕರಿಸು"</string>
<string name="select_input_method" msgid="8547250819326693584">"ಕೀಬೋರ್ಡ್ ಬದಲಿಸಿ"</string>
@@ -1543,8 +1538,8 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"ಇತರೆ"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"ನೀವು ಈ ಅಧಿಸೂಚನೆಗಳ ಪ್ರಾಮುಖ್ಯತೆಯನ್ನು ಹೊಂದಿಸಿರುವಿರಿ."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"ಜನರು ತೊಡಗಿಕೊಂಡಿರುವ ಕಾರಣ ಇದು ಅತ್ಯಂತ ಪ್ರಮುಖವಾಗಿದೆ."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="ACCOUNT">%2$s</xliff:g> ಮೂಲಕ ಹೊಸ ಬಳಕೆದಾರರನ್ನು ರಚಿಸಲು <xliff:g id="APP">%1$s</xliff:g> ಗೆ ಅನುಮತಿಸುವುದೇ ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="ACCOUNT">%2$s</xliff:g> (ಈ ಖಾತೆಯ ಬಳಕೆದಾರರು ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದಾರೆ) ಮೂಲಕ ಹೊಸ ಬಳಕೆದಾರರನ್ನು ರಚಿಸಲು <xliff:g id="APP">%1$s</xliff:g> ಗೆ ಅನುಮತಿಸುವುದೇ ?"</string>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index bc0228a..571986e 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"앱 재설정 및 다시 시작"</string>
<string name="aerr_report" msgid="5371800241488400617">"의견 보내기"</string>
<string name="aerr_close" msgid="2991640326563991340">"닫기"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"숨기기"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"기기가 다시 시작될 때까지 알림 끄기"</string>
<string name="aerr_wait" msgid="3199956902437040261">"대기"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"앱 닫기"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"더 많은 옵션을 확인하려면 터치하세요."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB 디버깅 연결됨"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB 디버깅을 사용하지 않으려면 터치하세요."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"버그 보고서를 공유하시겠습니까?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"버그 신고서 공유 중..."</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"IT 관리자가 이 기기의 문제해결을 위해 버그 신고서를 요청했습니다. 앱과 데이터가 공유될 수 있으며 기기 속도가 일시적으로 느려질 수 있습니다."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"IT 관리자가 이 기기의 문제해결을 위해 버그 보고서를 요청했습니다. 앱과 데이터가 공유될 수 있습니다."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"이로 인해 일시적으로 기기 속도가 느려질 수 있습니다."</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"수락"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"거절"</string>
<string name="select_input_method" msgid="8547250819326693584">"키보드 변경"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g>개 선택됨</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g>개 선택됨</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"기타"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"이러한 알림의 중요도를 설정했습니다."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"관련된 사용자가 있으므로 중요합니다."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g>이(가) <xliff:g id="ACCOUNT">%2$s</xliff:g>(으)로 신규 사용자를 만들도록 허용하시겠습니까?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="APP">%1$s</xliff:g>이(가) <xliff:g id="ACCOUNT">%2$s</xliff:g>(이 계정의 사용자가 이미 있음)(으)로 신규 사용자를 만들도록 허용하시겠습니까?"</string>
diff --git a/core/res/res/values-ky-rKG/strings.xml b/core/res/res/values-ky-rKG/strings.xml
index 5fc6a62..29f2078 100644
--- a/core/res/res/values-ky-rKG/strings.xml
+++ b/core/res/res/values-ky-rKG/strings.xml
@@ -918,7 +918,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Колдонмону баштапкы абалга келтирип, кайра жүргүзүү"</string>
<string name="aerr_report" msgid="5371800241488400617">"Жооп пикир жөнөтүү"</string>
<string name="aerr_close" msgid="2991640326563991340">"Жабуу"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Үнсүз"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Түзмөк өчүрүлүп-күйгүзүлгүчө үнүн өчүрүү"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Күтүү"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Колдонмону жабуу"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1054,16 +1054,13 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Көбүрөөк параметр үчүн тийип коюңуз."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB мүчүлүштүктөрдү оңдоо туташтырылган"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB мүчүлүштүктөрдү жоюу мүмкүнчүлүгүн өчүрүү үчүн тийип коюңуз."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Мүчүлүштүк тууралуу баяндама бөлүшүлсүнбү?"</string>
+ <!-- no translation found for sharing_remote_bugreport_notification_title (7572089031496651372) -->
<skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
+ <!-- no translation found for share_remote_bugreport_notification_message (752583906074230920) -->
<skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Бул түзмөктүн бузулууларын аныктап оңдоо үчүн IT администраторуңуз мүчүлүштүктөр тууралуу маалыматты сурап жатат. Колдонмолор менен дайындар бөлүшүлүшү мүмкүн."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Ушуну менен түзмөгүңүздүн ылдамдыгы убактылуу төмөндөйт"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"КАБЫЛ АЛУУ"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ЧЕТКЕ КАГУУ"</string>
<string name="select_input_method" msgid="8547250819326693584">"Баскычтопту өзгөртүү"</string>
@@ -1544,8 +1541,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> тандалды</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> тандалды</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Калган-каткандар"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Бул эскертмелердин маанилүүлүгүн белгиледиңиз."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Булар сиз үчүн маанилүү адамдар."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g> колдонмосу <xliff:g id="ACCOUNT">%2$s</xliff:g> каттоо эсеби менен жаңы колдонуучу түзө берсинби ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="APP">%1$s</xliff:g> колдонмосу <xliff:g id="ACCOUNT">%2$s</xliff:g> каттоо эсеби менен жаңы колдонуучу түзө берсинби (мындай каттоо эсеби бар колдонуучу мурунтан эле бар) ?"</string>
@@ -1566,7 +1563,7 @@
<string name="user_encrypted_message" msgid="4923292604515744267">"Кулпусун ачуу үчүн таптаңыз"</string>
<string name="user_encrypted_detail" msgid="5708447464349420392">"Колдончнн дайындары кулпуланды"</string>
<string name="profile_encrypted_detail" msgid="3700965619978314974">"Жумуш профили кулпуланган"</string>
- <string name="profile_encrypted_message" msgid="6964994232310195874">"Таптап, жумуш профилин ачыңыз"</string>
+ <string name="profile_encrypted_message" msgid="6964994232310195874">"Таптап жумуш профилин ачыңыз"</string>
<string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"<xliff:g id="PRODUCT_NAME">%1$s</xliff:g> менен туташты"</string>
<string name="usb_mtp_launch_notification_description" msgid="8541876176425411358">"Файлдарды көрүү үчүн таптап коюңуз"</string>
<string name="pin_target" msgid="3052256031352291362">"Кадоо"</string>
diff --git a/core/res/res/values-lo-rLA/strings.xml b/core/res/res/values-lo-rLA/strings.xml
index 0c146bd..8bc7e7f 100644
--- a/core/res/res/values-lo-rLA/strings.xml
+++ b/core/res/res/values-lo-rLA/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"ຣີເຊັດ ແລະ ເລີ່ມແອັບໃໝ່"</string>
<string name="aerr_report" msgid="5371800241488400617">"ສົ່ງຄຳຕິຊົມ"</string>
<string name="aerr_close" msgid="2991640326563991340">"ປິດ"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"ປິດສຽງ"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"ປິດສຽງຈົນກວ່າວ່າອຸປະກອນເລີ່ມໃໝ່"</string>
<string name="aerr_wait" msgid="3199956902437040261">"ລໍຖ້າ"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"ປິດແອັບ"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"ສຳພັດສຳລັບທາງເລືອກເພີ່ມເຕີມ."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"ເຊື່ອມຕໍ່ການດີບັ໊ກຜ່ານ USB ແລ້ວ"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"ແຕະເພື່ອປິດການດີບັ໊ກຜ່ານ USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"ແບ່ງປັນລາຍງານບັນຫາບໍ?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"ກຳລັງແບ່ງປັນລາຍງານບັນຫາ…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"ຜູ້ເບິ່ງແຍງລະບົບໄອທີຂອງທ່ານໄດ້ຮ້ອງຂໍລາຍງານຂໍ້ຜິດພາດເພື່ອຊ່ວຍແກ້ໄຂບັນຫາອຸປະກອນນີ້. ແອັບ ແລະ ຂໍ້ມູນອາດຖືກແບ່ງປັນ ແລະ ອຸປະກອນຂອງທ່ານອາດເຮັດວຽກຊ້າລົງຊົ່ວຄາວ."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"ຜູ້ເບິ່ງແຍງລະບົບໄອທີຂອງທ່ານໄດ້ຮ້ອງຂໍເອົາລາຍງານບັນຫາ ເພື່ອຊ່ວຍແກ້ໄຂບັນຫາໃຫ້ອຸປະກອນນີ້. ອາດຈະມີການແບ່ງປັນແອັບ ແລະ ຂໍ້ມູນນຳ."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"ນີ້ອາດຈະເຮັດໃຫ້ອຸປະກອນຂອງທ່ານຊ້າລົງຊົ່ວຄາວ"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ຍອມຮັບ"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ປະຕິເສດ"</string>
<string name="select_input_method" msgid="8547250819326693584">"ປ່ຽນແປ້ນພິມ"</string>
@@ -1543,8 +1538,7 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ຖືກເລືອກແລ້ວ</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ຖືກເລືອກແລ້ວ</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"ອື່ນໆ"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"ທ່ານຕັ້ງຄວາມສຳຄັນຂອງການແຈ້ງເຕືອນເຫຼົ່ານີ້."</string>
+ <string name="importance_from_user" msgid="7318955817386549931">"ທ່ານຕັ້ງຄວາມສຳຄັນຂອງການແຈ້ງເຕືອນເຫຼົ່ານີ້."</string>
<string name="importance_from_person" msgid="9160133597262938296">"ຂໍ້ຄວາມນີ້ສຳຄັນເນື່ອງຈາກບຸກຄົນທີ່ກ່ຽວຂ້ອງ."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"ອະນຸຍາດໃຫ້ <xliff:g id="APP">%1$s</xliff:g> ສ້າງຜູ້ໃຊ້ໃໝ່ສຳລັບ <xliff:g id="ACCOUNT">%2$s</xliff:g> ບໍ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"ອະນຸຍາດໃຫ້ <xliff:g id="APP">%1$s</xliff:g> ສ້າງຜູ້ໃຊ້ໃໝ່ສຳລັບ <xliff:g id="ACCOUNT">%2$s</xliff:g> (ຜູ້ໃຊ້ສຳລັບບັນຊີນີ້ມີຢູ່ແລ້ວ) ບໍ?"</string>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index e4d10ae..058bb02 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -929,7 +929,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Nustatyti ir paleisti programą iš naujo"</string>
<string name="aerr_report" msgid="5371800241488400617">"Siųsti atsiliepimą"</string>
<string name="aerr_close" msgid="2991640326563991340">"Uždaryti"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Paslėpti"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Ignoruoti, kol įrenginys bus paleistas iš naujo"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Laukti"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Uždaryti programą"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1069,16 +1069,13 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Palieskite, kad būtų rodoma daugiau parinkčių."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB derinimas prijungtas"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Neleisti USB derinimo."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Bendrinti pranešimą apie riktą?"</string>
+ <!-- no translation found for sharing_remote_bugreport_notification_title (7572089031496651372) -->
<skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
+ <!-- no translation found for share_remote_bugreport_notification_message (752583906074230920) -->
<skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Jūsų IT administratorius pateikė pranešimo apie riktą užklausą, kad galėtų padėti pašalinti triktis šiame įrenginyje. Programos ir duomenys gali būti bendrinami."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Dėl to įrenginys gali laikinai lėčiau veikti"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"SUTIKTI"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ATMESTI"</string>
<string name="select_input_method" msgid="8547250819326693584">"Klaviatūros keitimas"</string>
@@ -1581,8 +1578,8 @@
<item quantity="many">Pasir. <xliff:g id="COUNT_1">%1$d</xliff:g> elem.</item>
<item quantity="other">Pasir. <xliff:g id="COUNT_1">%1$d</xliff:g> elem.</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Įvairūs"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Galite nustatyti šių pranešimų svarbą."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Tai svarbu dėl susijusių žmonių."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Leisti „<xliff:g id="APP">%1$s</xliff:g>“ kurti naują <xliff:g id="ACCOUNT">%2$s</xliff:g> naudotoją?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Leisti „<xliff:g id="APP">%1$s</xliff:g>“ kurti naują <xliff:g id="ACCOUNT">%2$s</xliff:g> naudotoją (šią paskyrą naudojantis naudotojas jau yra)?"</string>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index 2fda60c..1a10862 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -923,7 +923,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Atiestatīt un restartēt lietotni"</string>
<string name="aerr_report" msgid="5371800241488400617">"Sūtīt atsauksmes"</string>
<string name="aerr_close" msgid="2991640326563991340">"Aizvērt"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Nerādīt"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Nerādīt, līdz ierīce tiks restartēta"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Gaidīt"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Aizvērt lietotni"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1061,16 +1061,13 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Citas opcijas"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB atkļūdošana ir pievienota."</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Iespējot USB atkļūdošanu."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Vai kopīgot kļūdas pārskatu?"</string>
+ <!-- no translation found for sharing_remote_bugreport_notification_title (7572089031496651372) -->
<skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
+ <!-- no translation found for share_remote_bugreport_notification_message (752583906074230920) -->
<skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Jūsu IT administrators pieprasīja kļūdas pārskatu, lai palīdzētu novērst problēmu šajā ierīcē. Var tikt kopīgotas lietotnes un dati."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Jūsu ierīces darbība var īslaicīgi palēnināties."</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"APSTIPRINĀT"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"NORAIDĪT"</string>
<string name="select_input_method" msgid="8547250819326693584">"Tastatūras maiņa"</string>
@@ -1562,8 +1559,8 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> atlasīts</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> atlasīti</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Dažādi"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Jūs iestatījāt šo paziņojumu svarīguma līmeni."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Tas ir svarīgi iesaistīto personu dēļ."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Vai atļaut lietotnei <xliff:g id="APP">%1$s</xliff:g> izveidot jaunu lietotāju, izmantojot e-pasta adresi <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Vai atļaut lietotnei <xliff:g id="APP">%1$s</xliff:g> izveidot jaunu lietotāju, izmantojot e-pasta adresi <xliff:g id="ACCOUNT">%2$s</xliff:g> (lietotājs ar šādu kontu jau pastāv)?"</string>
diff --git a/core/res/res/values-mk-rMK/strings.xml b/core/res/res/values-mk-rMK/strings.xml
index d4f1722..bbe70fa 100644
--- a/core/res/res/values-mk-rMK/strings.xml
+++ b/core/res/res/values-mk-rMK/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Ресетирај ја и рестартирај ја апликацијата"</string>
<string name="aerr_report" msgid="5371800241488400617">"Испрати повратни информации"</string>
<string name="aerr_close" msgid="2991640326563991340">"Затвори"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Исклучи звук"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Исклучи го звукот додека уредот не се рестартира"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Почекај"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Затвори ја апликацијата"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Допри за повеќе опции."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Поврзано е отстранување грешки преку УСБ"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Допрете за да се оневозможи отстранувањето грешки преку USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Да се сподели извештајот за грешки?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Се споделува извештај за грешки…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Администраторот за информатичка технологија побара извештај за грешки за да ви помогне во отстранувањето на грешките од уредот. Апликациите и податоците можеби ќе се споделат, а уредот можеби ќе биде привремено побавен при работата."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Вашиот администратор за информатичка технологија побара извештај за грешки за да помогне со отстранување на грешките на овој уред. Апликациите и податоците може да бидат споделени."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Ова може привремено да го забави уредот"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ПРИФАТИ"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ОДБИЈ"</string>
<string name="select_input_method" msgid="8547250819326693584">"Измени тастатура"</string>
@@ -1545,8 +1540,8 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> е избрана</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> се избрани</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Разно"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Ја поставивте важноста на известувањава."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Ова е важно заради луѓето кои се вклучени."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Дозволувате ли <xliff:g id="APP">%1$s</xliff:g> да создаде нов корисник со <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Дозволувате ли <xliff:g id="APP">%1$s</xliff:g> да создаде нов корисник со <xliff:g id="ACCOUNT">%2$s</xliff:g> (веќе постои корисник со оваа сметка)?"</string>
diff --git a/core/res/res/values-ml-rIN/strings.xml b/core/res/res/values-ml-rIN/strings.xml
index f4c7243..45a71a7 100644
--- a/core/res/res/values-ml-rIN/strings.xml
+++ b/core/res/res/values-ml-rIN/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"ആപ്പ് പുനഃക്രമീകരിച്ച് പുനഃരാരംഭിക്കുക"</string>
<string name="aerr_report" msgid="5371800241488400617">"ഫീഡ്ബാക്ക് അയയ്ക്കുക"</string>
<string name="aerr_close" msgid="2991640326563991340">"അടയ്ക്കുക"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"മ്യൂട്ടുചെയ്യുക"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"ഉപകരണം പുനഃരാരംഭിക്കുന്നത് വരെ മ്യൂട്ടുചെയ്യുക"</string>
<string name="aerr_wait" msgid="3199956902437040261">"കാത്തിരിക്കുക"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"ആപ്പ് അടയ്ക്കുക"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"കൂടുതൽ ഓപ്ഷനുകൾക്ക് സ്പർശിക്കൂ."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB ഡീബഗ്ഗിംഗ് കണക്റ്റുചെയ്തു"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB ഡീബഗ്ഗിംഗ് ഓഫാക്കാൻ സ്പർശിക്കൂ."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"ബഗ് റിപ്പോർട്ട് പങ്കിടണോ?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"ബഗ് റിപ്പോർട്ട് പങ്കിടുന്നു…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"ഈ ഉപകരണവുമായി ബന്ധപ്പെട്ട പ്രശ്നം പരിഹരിക്കുന്നതിന് നിങ്ങളുടെ ഐടി അഡ്മിൻ ഒരു ബഗ് റിപ്പോർട്ട് അഭ്യർത്ഥിച്ചു. ആപ്സും ഡാറ്റയും പങ്കിടപ്പെട്ടേക്കും, നിങ്ങളുടെ ഉപകരണത്തെ ഇത് താൽക്കാലികമായി മന്ദഗതിയിലാക്കിയേക്കാം."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"ഈ ഉപകരണത്തിലെ പ്രശ്നം പരിഹരിക്കുന്നതിന് നിങ്ങളുടെ ഐടി അഡ്മിൻ ഒരു ബഗ് റിപ്പോർട്ട് അഭ്യർത്ഥിച്ചു. ആപ്സും ഡാറ്റയും പങ്കിടപ്പെട്ടേക്കും."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"നിങ്ങളുടെ ഉപകരണത്തെ ഇത് താൽക്കാലികമായി മന്ദഗതിയിലാക്കിയേക്കാം"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"അംഗീകരിക്കുക"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"നിരസിക്കുക"</string>
<string name="select_input_method" msgid="8547250819326693584">"കീബോഡ് മാറ്റുക"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> തിരഞ്ഞെടുത്തു</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> തിരഞ്ഞെടുത്തു</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"പലവക"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"ഈ അറിയിപ്പുകളുടെ പ്രാധാന്യം നിങ്ങൾ സജ്ജീകരിച്ചു."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"ഉൾപ്പെട്ടിട്ടുള്ള ആളുകളെ കണക്കിലെടുക്കുമ്പോള് ഇത് പ്രധാനപ്പെട്ടതാണ്."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="ACCOUNT">%2$s</xliff:g> എന്ന അക്കൗണ്ട് ഉപയോഗിച്ച് പുതിയൊരു ഉപയോക്താവിനെ സൃഷ്ടിക്കാൻ <xliff:g id="APP">%1$s</xliff:g> എന്ന ആപ്പിനെ അനുവദിക്കണോ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="ACCOUNT">%2$s</xliff:g> എന്ന അക്കൗണ്ട് (ഈ അക്കൗണ്ട് ഉപയോഗിച്ചുള്ള ഒരു ഉപയോക്താവ് ഇതിനകം തന്നെ നിലവിലുണ്ട്) ഉപയോഗിച്ച് പുതിയൊരു ഉപയോക്താവിനെ സൃഷ്ടിക്കാൻ <xliff:g id="APP">%1$s</xliff:g> എന്ന ആപ്പിനെ അനുവദിക്കണോ?"</string>
diff --git a/core/res/res/values-mn-rMN/strings.xml b/core/res/res/values-mn-rMN/strings.xml
index aba5bc0..d1096ab 100644
--- a/core/res/res/values-mn-rMN/strings.xml
+++ b/core/res/res/values-mn-rMN/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Апп-ыг шинэчилж, дахин эхлүүлэх"</string>
<string name="aerr_report" msgid="5371800241488400617">"Санал хүсэлт илгээх"</string>
<string name="aerr_close" msgid="2991640326563991340">"Хаах"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Дуу хаах"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Төхөөрөмжийг дахин эхлүүлэх хүртэл дууг нь хаах"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Хүлээх"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Апп-ыг хаах"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Нэмэлт сонголтыг харахын тулд дарна."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB дебаг холбогдсон"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB дебагийг идэвхгүй болгох бол хүрнэ үү."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Алдааны тайланг хуваалцах уу?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Алдааны тайланг хуваалцаж байна..."</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Энэ төхөөрөмжийн асуудлыг шийдвэрлэхийнт тулд таны IT админ алдааны тайланг хүслээ. Апп болон өгөгдлийг хуваалцаж, таны төхөөрөмж бага зэрэг удаан ажиллаж болзошгүй."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Энэ төхөөрөмжийн асуудлыг шийдвэрлэхийн тулд таны IT админ алдааны тайланг хүслээ. Апп болон өгөгдлийг хуваалцсан байж болзошгүй."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Энэ нь таны төхөөрөмжийг түр хугацаанд удаашруулж болзошгүй"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ЗӨВШӨӨРӨХ"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ТАТГАЛЗАХ"</string>
<string name="select_input_method" msgid="8547250819326693584">"Гарыг өөрчлөх"</string>
@@ -1541,8 +1536,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> сонгосон</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> сонгосон</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Бусад"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Та эдгээр мэдэгдлийн ач холбогдлыг тогтоосон."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Оролцсон хүмүүсээс шалтгаалан энэ нь өндөр ач холбогдолтой."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g>-г <xliff:g id="ACCOUNT">%2$s</xliff:g>-р шинэ Хэрэглэгч үүсгэхийг зөвшөөрөх үү?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="APP">%1$s</xliff:g>-г <xliff:g id="ACCOUNT">%2$s</xliff:g>-р шинэ хэрэглэгч үүсгэхийг зөвшөөрөх үү (ийм бүртгэлтэй хэрэглэгч аль хэдийн байна) ?"</string>
diff --git a/core/res/res/values-mr-rIN/strings.xml b/core/res/res/values-mr-rIN/strings.xml
index 1b1c7a8..37a1d89 100644
--- a/core/res/res/values-mr-rIN/strings.xml
+++ b/core/res/res/values-mr-rIN/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"अॅप रीसेट आणि रीस्टार्ट करा"</string>
<string name="aerr_report" msgid="5371800241488400617">"अभिप्राय पाठवा"</string>
<string name="aerr_close" msgid="2991640326563991340">"बंद करा"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"नि:शब्द करा"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"डिव्हाइस रीस्टार्ट होईपर्यंत नि:शब्द करा"</string>
<string name="aerr_wait" msgid="3199956902437040261">"प्रतीक्षा करा"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"अॅप बंद करा"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"अधिक पर्यायांसाठी स्पर्श करा."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB डीबग करणे कनेक्ट केले"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB डीबग करणे अक्षम करण्यासाठी स्पर्श करा."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"बग अहवाल सामायिक करायचा?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"दोष अहवाल सामायिक करीत आहे..."</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"आपल्या IT प्रशासकाने या डिव्हाइसची समस्या निवारण करण्यात मदत करण्यासाठी एका दोष अहवालाची विनंती केली. अॅप्स आणि डेटा सामायिक केले जाऊ शकतात आणि आपले डिव्हाइस तात्पुरते धीमे होऊ शकते."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"आपल्या IT प्रशासकाने या डिव्हाइसच्या समस्येचे निवारण करण्यात मदत करण्यासाठी दोष अहवालाची विनंती केली. अॅप्स आणि डेटा सामायिक केला जाऊ शकतो."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"हे तात्पुरता आपले डिव्हाइस धिमे करू शकते."</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"स्वीकार करा"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"नकार द्या"</string>
<string name="select_input_method" msgid="8547250819326693584">"कीबोर्ड बदला"</string>
@@ -1543,8 +1538,8 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> निवडला</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> निवडले</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"संकीर्ण"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"आपण या सूचनांचे महत्त्व सेट केले."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"सामील असलेल्या लोकांमुळे हे महत्वाचे आहे."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="ACCOUNT">%2$s</xliff:g> सह नवीन वापरकर्ता तयार करण्याची <xliff:g id="APP">%1$s</xliff:g> ला अनुमती द्यायची?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="ACCOUNT">%2$s</xliff:g> सह नवीन वापरकर्ता तयार करण्याची (हे खाते असलेला वापरकर्ता आधीपासून विद्यमान आहे) <xliff:g id="APP">%1$s</xliff:g> ला अनुमती द्यायची?"</string>
diff --git a/core/res/res/values-ms-rMY/strings.xml b/core/res/res/values-ms-rMY/strings.xml
index f174b7c..3792f64 100644
--- a/core/res/res/values-ms-rMY/strings.xml
+++ b/core/res/res/values-ms-rMY/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Tetapkan semula dan mulakan semula apl"</string>
<string name="aerr_report" msgid="5371800241488400617">"Hantar maklum balas"</string>
<string name="aerr_close" msgid="2991640326563991340">"Tutup"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Redam"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Redam sehingga peranti dimulakan semula"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Tunggu"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Tutup apl"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Sentuh untuk mendapatkan lagi pilihan."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Penyahpepijatan USB disambungkan"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Sentuh untuk melumpuhkan penyahpepijatan USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Kongsi laporan pepijat?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Berkongsi laporan pepijat…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Pentadbir IT anda meminta laporan pepijat untuk membantu menyelesaikan masalah peranti ini. Apl dan data mungkin dikongsi dan peranti anda mungkin menjadi perlahan untuk sementara waktu."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Pentadbir IT anda meminta laporan pepijat untuk membantu menyelesaikan masalah peranti ini. Apl dan data mungkin dikongsi."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Proses ini mungkin memperlahankan peranti anda untuk sementara waktu"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"TERIMA"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"TOLAK"</string>
<string name="select_input_method" msgid="8547250819326693584">"Tukar papan kekunci"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> dipilih</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> dipilih</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Pelbagai"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Anda menetapkan kepentingan pemberitahuan ini."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Mesej ini penting disebabkan orang yang terlibat."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Benarkan <xliff:g id="APP">%1$s</xliff:g> membuat Pengguna baharu dengan <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Benarkan <xliff:g id="APP">%1$s</xliff:g> membuat Pengguna baharu dengan <xliff:g id="ACCOUNT">%2$s</xliff:g> (Pengguna dengan akaun ini sudah wujud)?"</string>
@@ -1561,7 +1556,7 @@
<string name="suspended_package_message" msgid="6341091587106868601">"Dilumpuhkan oleh pentadbir %1$s. Hubungi mereka untuk mengetahui lebih lanjut."</string>
<string name="new_sms_notification_title" msgid="8442817549127555977">"Anda mempunyai mesej baharu"</string>
<string name="new_sms_notification_content" msgid="7002938807812083463">"Buka apl SMS untuk melihat"</string>
- <string name="user_encrypted_title" msgid="9054897468831672082">"Beberapa fungsi mungkin terhad"</string>
+ <string name="user_encrypted_title" msgid="9054897468831672082">"Sesetengah fungsi mungkin terhad"</string>
<string name="user_encrypted_message" msgid="4923292604515744267">"Ketik untuk membuka kunci"</string>
<string name="user_encrypted_detail" msgid="5708447464349420392">"Data pengguna dikunci"</string>
<string name="profile_encrypted_detail" msgid="3700965619978314974">"Profil kerja dikunci"</string>
diff --git a/core/res/res/values-my-rMM/strings.xml b/core/res/res/values-my-rMM/strings.xml
index 6fe0c88..bbc38b8 100644
--- a/core/res/res/values-my-rMM/strings.xml
+++ b/core/res/res/values-my-rMM/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"အက်ပ်ကို ပြန်လည်ပြင်ဆင်သတ်မှတ်ပြီး ပြန်လည်စတင်ပါ"</string>
<string name="aerr_report" msgid="5371800241488400617">"တုံ့ပြန်ချက်ပို့ပါ"</string>
<string name="aerr_close" msgid="2991640326563991340">"ပိတ်ပါ"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"အသံတိတ်ပါ"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"စက်ပစ္စည်း ပြန်လည်စတင်သည့်တိုင် အသံတိတ်ပါ"</string>
<string name="aerr_wait" msgid="3199956902437040261">"စောင့်ပါ"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"အက်ပ်ကိုပိတ်ပါ"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"ထပ်မံရွေးချယ်စရာများအတွက် ထိပါ"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB အမှားစစ်ခြင်းအား ချိတ်ဆက်ထားသည်"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB ဒီဘာဂင် ပိတ်ရန် ထိပါ။"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"ချွတ်ယွင်းချက် အစီရင်ခံစာကို မျှဝေမလား။"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"ချွတ်ယွင်းမှုအစီရင်ခံစာ မျှဝေနေသည်…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"ဤစက်ပစ္စည်းကို ပြဿနာအဖြေရှာရာတွင် ကူညီရန် သင့်အိုင်တီစီမံခန့်ခွဲသူသည် ချွတ်ယွင်းချက်အစီရင်ခံစာကို တောင်းဆိုထားသည်။ အက်ပ်များနှင့် ဒေတာကိုမျှဝေထားနိုင်ပြီး သင့်စက်ပစ္စည်းကို ခေတ္တနှေးကွေးသွားစေနိုင်သည်။"</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"ဤစက်ပစ္စည်းကို ပြဿနာအဖြေရှာရာတွင် ကူညီရန် သင့်အိုင်တီစီမံခန့်ခွဲသူသည် ချွတ်ယွင်းချက်အစီရင်ခံစာကို တောင်းဆိုထားသည်။ အက်ပ်များနှင့် ဒေတာကိုမျှဝေထားနိုင်ပါသည်။"</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"၎င်းသည်သင့်စက်ပစ္စည်းကို ခေတ္တနှေးကွေးသွားစေနိုင်သည်"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"လက်ခံပါ"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ငြင်းပယ်ပါ"</string>
<string name="select_input_method" msgid="8547250819326693584">"ကီးဘုတ် ပြောင်းလဲရန်"</string>
@@ -1543,8 +1538,7 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ရွေးချယ်ပြီးပါပြီ</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ရွေးချယ်ပြီးပါပြီ</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"အထွေထွေ"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"ဤအသိပေးချက်များ၏ အရေးပါမှုကိုသင်သတ်မှတ်ပြီးပါပြီ။"</string>
+ <string name="importance_from_user" msgid="7318955817386549931">"ဤသတိပေးချက်များ၏ အရေးပါမှုကိုသတ်မှတ်ပြီးပါပြီ။"</string>
<string name="importance_from_person" msgid="9160133597262938296">"ပါဝင်သည့်လူများကြောင့် အရေးပါပါသည်။"</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g> ကို <xliff:g id="ACCOUNT">%2$s</xliff:g> ဖြင့်အသုံးပြုသူအသစ်ဖန်တီးခွင့်ပြုမလား။"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="APP">%1$s</xliff:g> ကို <xliff:g id="ACCOUNT">%2$s</xliff:g> ဖြင့်အသုံးပြုသူအသစ် ဖန်တီးခွင့်ပြုမလား (ဤအကောင့်ဖြင့် အသုံးပြုသူ ရှိနှင့်ပြီးဖြစ်သည်)။"</string>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index 3c7bfe3..a6c21af 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Tilbakestill appen, og start den på nytt"</string>
<string name="aerr_report" msgid="5371800241488400617">"Send tilbakemelding"</string>
<string name="aerr_close" msgid="2991640326563991340">"Lukk"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Ignorer"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Ignorer frem til enheten starter på nytt"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Vent"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Lukk app"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Trykk for å se flere alternativer."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB-feilsøking tilkoblet"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Trykk for å slå av USB-feilsøking."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Vil du dele feilrapporten?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Deler feilrapporten …"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"IT-administratoren har bedt om en feilrapport for å hjelpe med feilsøkingen på denne enheten. Appene og dataene kan bli delt. Dette kan midlertidig gjøre enheten din tregere."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"IT-administratoren har bedt om en feilrapport for å hjelpe med feilsøkingen på denne enheten. Appene og dataene kan bli delt."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Dette kan midlertidig gjøre enheten din tregere"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"GODTA"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"AVSLÅ"</string>
<string name="select_input_method" msgid="8547250819326693584">"Endre tastatur"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> er valgt</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> er valgt</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Diverse"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Du angir viktigheten for disse varslene."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Dette er viktig på grunn av folkene som er involvert."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Vil du la <xliff:g id="APP">%1$s</xliff:g> opprette en ny bruker med <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Vil du la <xliff:g id="APP">%1$s</xliff:g> opprette en ny bruker med <xliff:g id="ACCOUNT">%2$s</xliff:g>? (Det finnes allerede en bruker med denne kontoen.)"</string>
diff --git a/core/res/res/values-ne-rNP/strings.xml b/core/res/res/values-ne-rNP/strings.xml
index 3379af7..40ca32a 100644
--- a/core/res/res/values-ne-rNP/strings.xml
+++ b/core/res/res/values-ne-rNP/strings.xml
@@ -923,7 +923,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"अनुप्रयोगलाई रिसेट गरी पुन: सुरु गर्नुहोस्"</string>
<string name="aerr_report" msgid="5371800241488400617">"प्रतिक्रिया पठाउनुहोस्"</string>
<string name="aerr_close" msgid="2991640326563991340">"बन्द गर्नुहोस्"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"म्यूट गर्नुहोस्"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"यन्त्र पुनः सुरु नभएसम्म म्यूट गर्नुहोस्"</string>
<string name="aerr_wait" msgid="3199956902437040261">"पर्खनुहोस्"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"अनुप्रयोग बन्द गर्नुहोस्"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1059,16 +1059,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"थप विकल्पहरूका लागि छुनुहोस्।"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB डिबग गर्ने जडित छ"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB डिबग गर्ने असक्षम पार्न छुनुहोस्।"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"बग रिपोर्ट साझा गर्ने हो?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"बग रिपोर्ट साझेदारी गर्दै ..."</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"तपाईंको आईटी वेवस्थापकले यो यन्त्रको समस्या निवारण गर्नमा मदत गर्न बग रिपोर्टहरूका लागि अनुरोध गरेको छ । Apps र डेटा साझादारी गर्न सक्नुहुन्छ र तपाईंको यन्त्र अस्थायी रूपमा सुस्त हुन सक्छ।"</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"तपाईंको आईटी वेवस्थापकले यो यन्त्रको समस्या निवारण गर्नमा मदत गर्न बग रिपोर्टहरूका लागि अनुरोध गरेको छ । Apps र डेटा साझा गर्न सक्नुहुन्छ ।"</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"यसले अस्थायी रूपमा तपाईंको यन्त्र सुस्त हुन सक्छ"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"स्वीकार गर्नुहोस्"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"अस्वीकार गर्नुहोस्"</string>
<string name="select_input_method" msgid="8547250819326693584">"कुञ्जीपाटी परिवर्तन गर्नुहोस्"</string>
@@ -1549,8 +1544,7 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> चयन गरियो</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> चयन गरियो</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"विविध"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"तपाईंले यी सूचनाहरूको महत्त्व सेट गर्नुहुन्छ।"</string>
+ <string name="importance_from_user" msgid="7318955817386549931">"तपाईंले यी सूचनाहरूको महत्त्व सेट गर्नुहोस् ।"</string>
<string name="importance_from_person" msgid="9160133597262938296">"यसमा सङ्लग्न भएका मानिसहरूको कारणले गर्दा यो महत्वपूर्ण छ।"</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="ACCOUNT">%2$s</xliff:g> सँगै नयाँ प्रयोगकर्ता सिर्जना गर्न <xliff:g id="APP">%1$s</xliff:g> लाई अनुमति दिने हो?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="ACCOUNT">%2$s</xliff:g> सँगै नयाँ प्रयोगकर्ता सिर्जना गर्न <xliff:g id="APP">%1$s</xliff:g> लाई अनुमति दिने (यस खाताको प्रयोगकर्ता पहिले नै अवस्थित छ) ?"</string>
@@ -1570,7 +1564,7 @@
<string name="user_encrypted_title" msgid="9054897468831672082">"केही कार्य सीमित हुनसक्छ"</string>
<string name="user_encrypted_message" msgid="4923292604515744267">"अनलक गर्न ट्याप गर्नुहोस्"</string>
<string name="user_encrypted_detail" msgid="5708447464349420392">"प्रयोगकर्ताको डेटा लक गरियो"</string>
- <string name="profile_encrypted_detail" msgid="3700965619978314974">"कार्य प्रोफाइल बन्द भयो"</string>
+ <string name="profile_encrypted_detail" msgid="3700965619978314974">"कार्य प्रोफाइल लक भयो"</string>
<string name="profile_encrypted_message" msgid="6964994232310195874">"कार्य प्रोफाइल अनलक गर्न ट्याप गर्नुहोस्"</string>
<string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"<xliff:g id="PRODUCT_NAME">%1$s</xliff:g> मा जडान गरिएको छ"</string>
<string name="usb_mtp_launch_notification_description" msgid="8541876176425411358">"फाइलहरू हेर्न ट्याप गर्नुहोस्"</string>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index ad987a2..bae7284 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"App resetten en opnieuw starten"</string>
<string name="aerr_report" msgid="5371800241488400617">"Feedback verzenden"</string>
<string name="aerr_close" msgid="2991640326563991340">"Sluiten"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Negeren"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Verbergen tot apparaat opnieuw wordt opgestart"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Wachten"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"App sluiten"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Tik voor meer opties."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB-foutopsporing verbonden"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Tik om USB-foutopsporing uit te schakelen."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Bugrapport delen?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Bugrapport delen…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Je IT-beheerder heeft een bugrapport aangevraagd om problemen met dit apparaat op te lossen. Apps en gegevens kunnen worden gedeeld en je apparaat kan hierdoor tijdelijk worden vertraagd."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Je IT-beheerder heeft een bugrapport aangevraagd om problemen met dit apparaat op te lossen. Apps en gegevens kunnen worden gedeeld."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Dit kan je apparaat tijdelijk vertragen"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ACCEPTEREN"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"WEIGEREN"</string>
<string name="select_input_method" msgid="8547250819326693584">"Toetsenbord wijzigen"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> geselecteerd</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> geselecteerd</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Diversen"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Je stelt het belang van deze meldingen in."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Dit is belangrijk vanwege de betrokken mensen."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Toestaan dat <xliff:g id="APP">%1$s</xliff:g> een nieuwe gebruiker met <xliff:g id="ACCOUNT">%2$s</xliff:g> maakt?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Toestaan dat <xliff:g id="APP">%1$s</xliff:g> een nieuwe gebruiker met <xliff:g id="ACCOUNT">%2$s</xliff:g> maakt (er is al een gebruiker met dit account)?"</string>
diff --git a/core/res/res/values-pa-rIN/strings.xml b/core/res/res/values-pa-rIN/strings.xml
index be6ddde..d3e7606 100644
--- a/core/res/res/values-pa-rIN/strings.xml
+++ b/core/res/res/values-pa-rIN/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"ਐਪ ਨੂੰ ਰੀਸੈੱਟ ਅਤੇ ਮੁੜ-ਚਾਲੂ ਕਰੋ"</string>
<string name="aerr_report" msgid="5371800241488400617">"ਪ੍ਰਤੀਕਰਮ ਭੇਜੋ"</string>
<string name="aerr_close" msgid="2991640326563991340">"ਬੰਦ ਕਰੋ"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"ਮਿਊਟ ਕਰੋ"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"ਡੀਵਾਈਸ ਦੇ ਮੁੜ-ਚਾਲੂ ਹੋਣ ਤੱਕ ਮਿਊਟ ਕਰੋ"</string>
<string name="aerr_wait" msgid="3199956902437040261">"ਉਡੀਕ ਕਰੋ"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"ਐਪ ਬੰਦ ਕਰੋ"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"ਹੋਰ ਵਿਕਲਪਾਂ ਲਈ ਸਪਰਸ਼ ਕਰੋ।"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB ਡੀਬਗਿੰਗ ਕਨੈਕਟ ਕੀਤੀ"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB ਡੀਬਗਿੰਗ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਉਣ ਲਈ ਛੋਹਵੋ।"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"ਕੀ ਬੱਗ ਰਿਪੋਰਟ ਸਾਂਝੀ ਕਰਨੀ ਹੈ?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"ਬੱਗ ਰਿਪੋਰਟ ਸਾਂਝੀ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"ਤੁਹਾਡੇ IT ਪ੍ਰਸ਼ਾਸਕ ਨੇ ਇਸ ਡੀਵਾਈਸ ਦੀ ਸਮੱਸਿਆ ਨੂੰ ਠੀਕ ਕਰਨ ਵਿੱਚ ਮਦਦ ਲਈ ਬੱਗ ਰਿਪੋਰਟ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਹੈ। ਐਪਾਂ ਅਤੇ ਡੈਟੇ ਨੂੰ ਸਾਂਝਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਅਤੇ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਆਰਜ਼ੀ ਤੌਰ \'ਤੇ ਹੌਲੀ ਹੋ ਸਕਦੀ ਹੈ।"</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"ਤੁਹਾਡੇ IT ਪ੍ਰਸ਼ਾਸਕ ਨੇ ਇਸ ਡੀਵਾਈਸ ਦੀ ਸਮੱਸਿਆ ਨੂੰ ਠੀਕ ਕਰਨ ਵਿੱੱਚ ਮਦਦ ਲਈ ਬੱਗ ਰਿਪੋਰਟ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਹੈ। ਐਪਾਂ ਅਤੇ ਡੈਟੇ ਨੂੰ ਸਾਂਝਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।"</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"ਇਹ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਨੂੰ ਆਰਜ਼ੀ ਤੌਰ \'ਤੇ ਹੌਲੀ ਕਰ ਸਕਦਾ ਹੈ"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ਸਵੀਕਾਰ ਕਰੋ"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ਅਸਵੀਕਾਰ ਕਰੋ"</string>
<string name="select_input_method" msgid="8547250819326693584">"ਕੀਬੋਰਡ ਬਦਲੋ"</string>
@@ -1543,8 +1538,8 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ਚੁਣਿਆ ਗਿਆ</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ਚੁਣਿਆ ਗਿਆ</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"ਵਿਵਿਧ"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"ਤੁਸੀਂ ਇਹਨਾਂ ਸੂਚਨਾਵਾਂ ਦੀ ਮਹੱਤਤਾ ਸੈੱਟ ਕੀਤੀ।"</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"ਇਹ ਸ਼ਾਮਲ ਲੋਕਾਂ ਦੇ ਕਾਰਨ ਮਹੱਤਵਪੂਰਨ ਹੈ।"</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"ਕੀ <xliff:g id="APP">%1$s</xliff:g> ਨੂੰ <xliff:g id="ACCOUNT">%2$s</xliff:g> ਨਾਲ ਇੱਕ ਨਵਾਂ ਵਰਤੋਂਕਾਰ ਬਣਾਉਣ ਦੀ ਮਨਜ਼ੂਰੀ ਦੇਣੀ ਹੈ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"ਕੀ <xliff:g id="APP">%1$s</xliff:g> ਨੂੰ <xliff:g id="ACCOUNT">%2$s</xliff:g> ਨਾਲ ਇੱਕ ਨਵਾਂ ਵਰਤੋਂਕਾਰ ਬਣਾਉਣ ਦੀ ਮਨਜ਼ੂਰੀ ਦੇਣੀ ਹੈ (ਇਸ ਖਾਤੇ ਨਾਲ ਇੱਕ ਵਰਤੋਂਕਾਰ ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਮੌਜੂਦ ਹੈ) ?"</string>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index 4700873..37b78ff 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -929,7 +929,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Zresetuj aplikację i uruchom ją ponownie"</string>
<string name="aerr_report" msgid="5371800241488400617">"Prześlij opinię"</string>
<string name="aerr_close" msgid="2991640326563991340">"Zamknij"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Ignoruj"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Ignoruj do momentu ponownego uruchomienia urządzenia"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Zaczekaj"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Zamknij aplikację"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1069,16 +1069,13 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Kliknij, by zobaczyć więcej opcji."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Podłączono moduł debugowania USB"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Dotknij, aby wyłączyć debugowanie USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Udostępnić raport o błędzie?"</string>
+ <!-- no translation found for sharing_remote_bugreport_notification_title (7572089031496651372) -->
<skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
+ <!-- no translation found for share_remote_bugreport_notification_message (752583906074230920) -->
<skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Administrator poprosił o raport o błędzie, który pomoże w rozwiązaniu problemów na tym urządzeniu. Mogą zostać udostępnione aplikacje i dane."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Urządzenie może przez chwilę działać wolniej"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"AKCEPTUJ"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ODRZUĆ"</string>
<string name="select_input_method" msgid="8547250819326693584">"Zmień klawiaturę"</string>
@@ -1581,8 +1578,8 @@
<item quantity="other">Wybrano <xliff:g id="COUNT_1">%1$d</xliff:g></item>
<item quantity="one">Wybrano <xliff:g id="COUNT_0">%1$d</xliff:g></item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Inne"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Ustawiłeś ważność tych powiadomień."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Ta wiadomość jest ważna ze względu na osoby uczestniczące w wątku."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Zezwalasz aplikacji <xliff:g id="APP">%1$s</xliff:g> na utworzenie nowego użytkownika dla konta <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Zezwalasz aplikacji <xliff:g id="APP">%1$s</xliff:g> na utworzenie nowego użytkownika dla konta <xliff:g id="ACCOUNT">%2$s</xliff:g>)? Użytkownik z tym kontem już istnieje."</string>
diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml
index 478165c..f49a748 100644
--- a/core/res/res/values-pt-rBR/strings.xml
+++ b/core/res/res/values-pt-rBR/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Redefinir e reiniciar app"</string>
<string name="aerr_report" msgid="5371800241488400617">"Enviar feedback"</string>
<string name="aerr_close" msgid="2991640326563991340">"Fechar"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Ignorar"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Desativar até que dispositivo seja reiniciado"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Aguarde"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Fechar app"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Toque para ver mais opções."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Depuração USB conectada"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Toque para desativar a depuração do USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Compartilhar relatório do bug?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Compartilhando relatório do bug…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Seu administrador de TI solicitou um relatório de bug para ajudar a resolver problemas deste dispositivo. É possível que apps e dados sejam compartilhados, o que pode deixar seu dispositivo temporariamente mais lento."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Seu administrador de TI solicitou um relatório de bug para ajudar a resolver problemas deste dispositivo. É possível que apps e dados sejam compartilhados."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Isso pode deixar seu dispositivo temporariamente mais lento"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ACEITAR"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"RECUSAR"</string>
<string name="select_input_method" msgid="8547250819326693584">"Alterar teclado"</string>
@@ -1543,8 +1538,8 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> selecionados</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> selecionados</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Diversos"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Você definiu a importância dessas notificações."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Isso é importante por causa das pessoas envolvidas."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Permitir que <xliff:g id="APP">%1$s</xliff:g> crie um novo usuário com <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Permitir que <xliff:g id="APP">%1$s</xliff:g> crie um novo usuário com <xliff:g id="ACCOUNT">%2$s</xliff:g> (já existe um usuário com essa conta)?"</string>
@@ -1565,7 +1560,7 @@
<string name="user_encrypted_message" msgid="4923292604515744267">"Toque para desbloquear"</string>
<string name="user_encrypted_detail" msgid="5708447464349420392">"Dados do usuário bloqueados"</string>
<string name="profile_encrypted_detail" msgid="3700965619978314974">"Perfil de trabalho bloqueado"</string>
- <string name="profile_encrypted_message" msgid="6964994232310195874">"Toque para desbloquear perfil de trabalho"</string>
+ <string name="profile_encrypted_message" msgid="6964994232310195874">"Toque p/ desbl. perfil de trab."</string>
<string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"Conectado a <xliff:g id="PRODUCT_NAME">%1$s</xliff:g>"</string>
<string name="usb_mtp_launch_notification_description" msgid="8541876176425411358">"Toque para ver os arquivos"</string>
<string name="pin_target" msgid="3052256031352291362">"Fixar guia"</string>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index 038bfe9..ad819e7 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Repor e reiniciar aplicação"</string>
<string name="aerr_report" msgid="5371800241488400617">"Enviar comentários"</string>
<string name="aerr_close" msgid="2991640326563991340">"Fechar"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Ignorar"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Desativar som até o dispositivo reiniciar"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Aguardar"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Fechar aplicação"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Toque para ver mais opções."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Depuração USB ligada"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Toque para desat. a depuração USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Pretende partilhar o relatório de erro?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"A partilhar relatório de erro…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"O seu administrador de TI solicitou um relatório de erro para ajudar na resolução de problemas deste dispositivo. As aplicações e os dados podem ser partilhados e o dispositivo pode tornar-se temporariamente mais lento."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"O seu administrador de TI solicitou um relatório de erro para ajudar na resolução de problemas deste dispositivo. As aplicações e os dados podem ser partilhados."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Esta ação pode tornar o dispositivo mais lento temporariamente"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ACEITAR"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"RECUSAR"</string>
<string name="select_input_method" msgid="8547250819326693584">"Alterar teclado"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> selecionados</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> selecionado</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Diversos"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Definiu a importância destas notificações."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"É importante devido às pessoas envolvidas."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Pretende permitir que o <xliff:g id="APP">%1$s</xliff:g> crie um novo utilizador com <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Pretende permitir que o <xliff:g id="APP">%1$s</xliff:g> crie um novo utilizador com <xliff:g id="ACCOUNT">%2$s</xliff:g> (já existe um utilizador com esta conta)?"</string>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 478165c..f49a748 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Redefinir e reiniciar app"</string>
<string name="aerr_report" msgid="5371800241488400617">"Enviar feedback"</string>
<string name="aerr_close" msgid="2991640326563991340">"Fechar"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Ignorar"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Desativar até que dispositivo seja reiniciado"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Aguarde"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Fechar app"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Toque para ver mais opções."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Depuração USB conectada"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Toque para desativar a depuração do USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Compartilhar relatório do bug?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Compartilhando relatório do bug…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Seu administrador de TI solicitou um relatório de bug para ajudar a resolver problemas deste dispositivo. É possível que apps e dados sejam compartilhados, o que pode deixar seu dispositivo temporariamente mais lento."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Seu administrador de TI solicitou um relatório de bug para ajudar a resolver problemas deste dispositivo. É possível que apps e dados sejam compartilhados."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Isso pode deixar seu dispositivo temporariamente mais lento"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ACEITAR"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"RECUSAR"</string>
<string name="select_input_method" msgid="8547250819326693584">"Alterar teclado"</string>
@@ -1543,8 +1538,8 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> selecionados</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> selecionados</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Diversos"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Você definiu a importância dessas notificações."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Isso é importante por causa das pessoas envolvidas."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Permitir que <xliff:g id="APP">%1$s</xliff:g> crie um novo usuário com <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Permitir que <xliff:g id="APP">%1$s</xliff:g> crie um novo usuário com <xliff:g id="ACCOUNT">%2$s</xliff:g> (já existe um usuário com essa conta)?"</string>
@@ -1565,7 +1560,7 @@
<string name="user_encrypted_message" msgid="4923292604515744267">"Toque para desbloquear"</string>
<string name="user_encrypted_detail" msgid="5708447464349420392">"Dados do usuário bloqueados"</string>
<string name="profile_encrypted_detail" msgid="3700965619978314974">"Perfil de trabalho bloqueado"</string>
- <string name="profile_encrypted_message" msgid="6964994232310195874">"Toque para desbloquear perfil de trabalho"</string>
+ <string name="profile_encrypted_message" msgid="6964994232310195874">"Toque p/ desbl. perfil de trab."</string>
<string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"Conectado a <xliff:g id="PRODUCT_NAME">%1$s</xliff:g>"</string>
<string name="usb_mtp_launch_notification_description" msgid="8541876176425411358">"Toque para ver os arquivos"</string>
<string name="pin_target" msgid="3052256031352291362">"Fixar guia"</string>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index f707822..5fe3e4f 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -45,7 +45,7 @@
<string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Mesaj vocal"</string>
<string name="defaultMsisdnAlphaTag" msgid="2850889754919584674">"MSISDN1"</string>
<string name="mmiError" msgid="5154499457739052907">"Problemă de conexiune sau cod MMI nevalid."</string>
- <string name="mmiFdnError" msgid="5224398216385316471">"Operația este limitată la numerele cu apelări restricţionate."</string>
+ <string name="mmiFdnError" msgid="5224398216385316471">"Operația este limitată la numerele cu apelări restricționate."</string>
<string name="serviceEnabled" msgid="8147278346414714315">"Serviciul a fost activat."</string>
<string name="serviceEnabledFor" msgid="6856228140453471041">"Serviciul a fost activat pentru:"</string>
<string name="serviceDisabled" msgid="1937553226592516411">"Serviciul a fost dezactivat."</string>
@@ -56,9 +56,9 @@
<string name="badPin" msgid="9015277645546710014">"Codul PIN vechi introdus nu este corect."</string>
<string name="badPuk" msgid="5487257647081132201">"Codul PUK introdus nu este corect."</string>
<string name="mismatchPin" msgid="609379054496863419">"Codurile PIN introduse nu se potrivesc."</string>
- <string name="invalidPin" msgid="3850018445187475377">"Introduceţi un cod PIN alcătuit din 4 până la 8 cifre."</string>
- <string name="invalidPuk" msgid="8761456210898036513">"Introduceţi un cod PUK care să aibă 8 cifre sau mai mult."</string>
- <string name="needPuk" msgid="919668385956251611">"Cardul SIM este blocat cu codul PUK. Introduceţi codul PUK pentru a-l debloca."</string>
+ <string name="invalidPin" msgid="3850018445187475377">"Introduceți un cod PIN alcătuit din 4 până la 8 cifre."</string>
+ <string name="invalidPuk" msgid="8761456210898036513">"Introduceți un cod PUK care să aibă 8 cifre sau mai mult."</string>
+ <string name="needPuk" msgid="919668385956251611">"Cardul SIM este blocat cu codul PUK. Introduceți codul PUK pentru a-l debloca."</string>
<string name="needPuk2" msgid="4526033371987193070">"Introduceți codul PUK2 pentru a debloca cardul SIM."</string>
<string name="enablePin" msgid="209412020907207950">"Operațiunea nu a reușit. Activați blocarea cardului SIM/RUIM."</string>
<plurals name="pinpuk_attempts" formatted="false" msgid="1251012001539225582">
@@ -119,8 +119,8 @@
<string name="roamingText6" msgid="2059440825782871513">"Roaming - sistem disponibil"</string>
<string name="roamingText7" msgid="7112078724097233605">"Roaming - partenerAlliance"</string>
<string name="roamingText8" msgid="5989569778604089291">"Roaming - partener Premium"</string>
- <string name="roamingText9" msgid="7969296811355152491">"Roaming - funcţionalitate completă a serviciului"</string>
- <string name="roamingText10" msgid="3992906999815316417">"Roaming - funcţionalitate parțială a serviciului"</string>
+ <string name="roamingText9" msgid="7969296811355152491">"Roaming - funcționalitate completă a serviciului"</string>
+ <string name="roamingText10" msgid="3992906999815316417">"Roaming - funcționalitate parțială a serviciului"</string>
<string name="roamingText11" msgid="4154476854426920970">"Banner roaming activat"</string>
<string name="roamingText12" msgid="1189071119992726320">"Banner roaming dezactivat"</string>
<string name="roamingTextSearching" msgid="8360141885972279963">"Se caută serviciul"</string>
@@ -155,8 +155,8 @@
<string name="httpErrorUnsupportedScheme" msgid="5015730812906192208">"Protocolul nu este acceptat."</string>
<string name="httpErrorFailedSslHandshake" msgid="96549606000658641">"Nu s-a putut stabili o conexiune securizată."</string>
<string name="httpErrorBadUrl" msgid="3636929722728881972">"Pagina nu a putut fi deschisă, deoarece adresa URL nu este validă."</string>
- <string name="httpErrorFile" msgid="2170788515052558676">"Fişierul nu a putut fi accesat."</string>
- <string name="httpErrorFileNotFound" msgid="6203856612042655084">"Nu s-a putut găsi fişierul solicitat."</string>
+ <string name="httpErrorFile" msgid="2170788515052558676">"Fișierul nu a putut fi accesat."</string>
+ <string name="httpErrorFileNotFound" msgid="6203856612042655084">"Nu s-a putut găsi fișierul solicitat."</string>
<string name="httpErrorTooManyRequests" msgid="1235396927087188253">"Există prea multe solicitări în curs de procesare. Încercați din nou mai târziu."</string>
<string name="notification_title" msgid="8967710025036163822">"Eroare de conectare pentru <xliff:g id="ACCOUNT">%1$s</xliff:g>"</string>
<string name="contentServiceSync" msgid="8353523060269335667">"Sincronizare"</string>
@@ -177,9 +177,9 @@
<string name="factory_reset_warning" msgid="5423253125642394387">"Datele de pe dispozitiv vor fi șterse"</string>
<string name="factory_reset_message" msgid="4905025204141900666">"Aplicația de administrare nu poate fi utilizată, deoarece este deteriorată sau îi lipsesc componente. Datele de pe dispozitiv vor fi șterse. Pentru asistență, contactați administratorul."</string>
<string name="me" msgid="6545696007631404292">"Eu"</string>
- <string name="power_dialog" product="tablet" msgid="8545351420865202853">"Opţiuni tablet PC"</string>
+ <string name="power_dialog" product="tablet" msgid="8545351420865202853">"Opțiuni tablet PC"</string>
<string name="power_dialog" product="tv" msgid="6153888706430556356">"Opțiuni TV"</string>
- <string name="power_dialog" product="default" msgid="1319919075463988638">"Opţiuni telefon"</string>
+ <string name="power_dialog" product="default" msgid="1319919075463988638">"Opțiuni telefon"</string>
<string name="silent_mode" msgid="7167703389802618663">"Mod Silențios"</string>
<string name="turn_on_radio" msgid="3912793092339962371">"Activați funcția wireless"</string>
<string name="turn_off_radio" msgid="8198784949987062346">"Dezactivați funcția wireless"</string>
@@ -200,11 +200,11 @@
<string name="shutdown_confirm" product="watch" msgid="3490275567476369184">"Ceasul dvs. se va închide."</string>
<string name="shutdown_confirm" product="default" msgid="649792175242821353">"Telefonul dvs. se va închide."</string>
<string name="shutdown_confirm_question" msgid="2906544768881136183">"Doriți să închideți?"</string>
- <string name="reboot_safemode_title" msgid="7054509914500140361">"Reporniţi în modul sigur"</string>
- <string name="reboot_safemode_confirm" msgid="55293944502784668">"Doriți să reporniţi în modul sigur? Astfel vor fi dezactivate toate aplicațiile terță parte pe care le-ați instalat. Acestea vor fi restabilite când reporniţi din nou."</string>
+ <string name="reboot_safemode_title" msgid="7054509914500140361">"Reporniți în modul sigur"</string>
+ <string name="reboot_safemode_confirm" msgid="55293944502784668">"Doriți să reporniți în modul sigur? Astfel vor fi dezactivate toate aplicațiile terță parte pe care le-ați instalat. Acestea vor fi restabilite când reporniți din nou."</string>
<string name="recent_tasks_title" msgid="3691764623638127888">"Recente"</string>
<string name="no_recent_tasks" msgid="8794906658732193473">"Nu există aplicații recente."</string>
- <string name="global_actions" product="tablet" msgid="408477140088053665">"Opţiuni tablet PC"</string>
+ <string name="global_actions" product="tablet" msgid="408477140088053665">"Opțiuni tablet PC"</string>
<string name="global_actions" product="tv" msgid="7240386462508182976">"Opțiuni TV"</string>
<string name="global_actions" product="default" msgid="2406416831541615258">"Opțiuni telefon"</string>
<string name="global_action_lock" msgid="2844945191792119712">"Blocați ecranul"</string>
@@ -281,30 +281,30 @@
<string name="permdesc_uninstall_shortcut" msgid="6745743474265057975">"Permite aplicației să elimine comenzi rapide de pe ecranul de pornire, fără intervenția utilizatorului."</string>
<string name="permlab_processOutgoingCalls" msgid="3906007831192990946">"redirecționează apelurile efectuate"</string>
<string name="permdesc_processOutgoingCalls" msgid="5156385005547315876">"Permite aplicației să vadă numărul format în timpul unui apel de ieșire, cu opțiunea de a redirecționa apelul către un alt număr sau de a întrerupe apelul."</string>
- <string name="permlab_receiveSms" msgid="8673471768947895082">"primeşte mesaje text (SMS)"</string>
+ <string name="permlab_receiveSms" msgid="8673471768947895082">"primește mesaje text (SMS)"</string>
<string name="permdesc_receiveSms" msgid="6424387754228766939">"Permite aplicației să primească și să proceseze mesaje SMS. Acest lucru înseamnă că aplicația ar putea monitoriza sau șterge mesajele trimise pe dispozitivul dvs. fără a vi le arăta."</string>
- <string name="permlab_receiveMms" msgid="1821317344668257098">"primeşte mesaje text (MMS)"</string>
+ <string name="permlab_receiveMms" msgid="1821317344668257098">"primește mesaje text (MMS)"</string>
<string name="permdesc_receiveMms" msgid="533019437263212260">"Permite aplicației să primească și să proceseze mesaje MMS. Acest lucru înseamnă că aplicația ar putea monitoriza sau șterge mesajele trimise pe dispozitivul dvs. fără a vi le arăta."</string>
<string name="permlab_readCellBroadcasts" msgid="1598328843619646166">"citește mesajele cu transmisie celulară"</string>
- <string name="permdesc_readCellBroadcasts" msgid="6361972776080458979">"Permite aplicației să citească mesajele primite prin transmisie celulară de dispozitivul dvs. Alertele cu transmisie celulară sunt difuzate în unele locații pentru a vă avertiza cu privire la situațiile de urgenţă. Aplicațiile rău intenţionate pot afecta performanța sau funcționarea dispozitivului dvs. când este primită o transmisie celulară de urgenţă."</string>
+ <string name="permdesc_readCellBroadcasts" msgid="6361972776080458979">"Permite aplicației să citească mesajele primite prin transmisie celulară de dispozitivul dvs. Alertele cu transmisie celulară sunt difuzate în unele locații pentru a vă avertiza cu privire la situațiile de urgență. Aplicațiile rău intenționate pot afecta performanța sau funcționarea dispozitivului dvs. când este primită o transmisie celulară de urgență."</string>
<string name="permlab_subscribedFeedsRead" msgid="4756609637053353318">"citire feeduri abonat"</string>
- <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Permite aplicației să obţină detalii despre feedurile sincronizate în prezent."</string>
+ <string name="permdesc_subscribedFeedsRead" msgid="5557058907906144505">"Permite aplicației să obțină detalii despre feedurile sincronizate în prezent."</string>
<string name="permlab_sendSms" msgid="7544599214260982981">"trimită și să vadă mesajele SMS"</string>
- <string name="permdesc_sendSms" msgid="7094729298204937667">"Permite aplicației să trimită mesaje SMS, ceea ce ar putea determina apariția unor taxe neașteptate. Aplicațiile rău intenţionate pot acumula costuri prin trimiterea mesajelor fără confirmarea dvs."</string>
+ <string name="permdesc_sendSms" msgid="7094729298204937667">"Permite aplicației să trimită mesaje SMS, ceea ce ar putea determina apariția unor taxe neașteptate. Aplicațiile rău intenționate pot acumula costuri prin trimiterea mesajelor fără confirmarea dvs."</string>
<string name="permlab_readSms" msgid="8745086572213270480">"citește mesajele text (SMS sau MMS)"</string>
- <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Permite aplicației să citească mesajele SMS stocate pe tabletă sau pe cardul SIM. În acest fel, aplicația poate citi toate mesajele SMS, indiferent de conţinutul sau de gradul de confidențialitate al acestora."</string>
+ <string name="permdesc_readSms" product="tablet" msgid="2467981548684735522">"Permite aplicației să citească mesajele SMS stocate pe tabletă sau pe cardul SIM. În acest fel, aplicația poate citi toate mesajele SMS, indiferent de conținutul sau de gradul de confidențialitate al acestora."</string>
<string name="permdesc_readSms" product="tv" msgid="5102425513647038535">"Permite aplicației să citească mesajele SMS stocate pe televizor sau pe cardul SIM. Cu această permisiune, aplicația poate citi toate mesajele SMS, indiferent de conținutul sau de gradul de confidențialitate al acestora."</string>
- <string name="permdesc_readSms" product="default" msgid="3695967533457240550">"Permite aplicației să citească mesajele SMS stocate pe telefon sau pe cardul SIM. În acest fel, aplicația poate citi toate mesajele SMS, indiferent de conţinutul sau de gradul de confidențialitate al acestora."</string>
- <string name="permlab_receiveWapPush" msgid="5991398711936590410">"primeşte mesaje text (WAP)"</string>
+ <string name="permdesc_readSms" product="default" msgid="3695967533457240550">"Permite aplicației să citească mesajele SMS stocate pe telefon sau pe cardul SIM. În acest fel, aplicația poate citi toate mesajele SMS, indiferent de conținutul sau de gradul de confidențialitate al acestora."</string>
+ <string name="permlab_receiveWapPush" msgid="5991398711936590410">"primește mesaje text (WAP)"</string>
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"Permite aplicației să primească și să proceseze mesaje WAP. Această permisiune include capacitatea de a monitoriza sau șterge mesajele care v-au fost trimise fără a vi le arăta."</string>
<string name="permlab_getTasks" msgid="6466095396623933906">"preluare aplicații care rulează"</string>
- <string name="permdesc_getTasks" msgid="7454215995847658102">"Permite aplicației să preia informațiile despre activităţile care rulează în prezent și care au rulat recent. În acest fel, aplicația poate descoperi informații despre aplicațiile care sunt utilizate pe dispozitiv."</string>
+ <string name="permdesc_getTasks" msgid="7454215995847658102">"Permite aplicației să preia informațiile despre activitățile care rulează în prezent și care au rulat recent. În acest fel, aplicația poate descoperi informații despre aplicațiile care sunt utilizate pe dispozitiv."</string>
<string name="permlab_manageProfileAndDeviceOwners" msgid="7918181259098220004">"să gestioneze profilul și proprietarii dispozitivului"</string>
<string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"Permite aplicațiilor să seteze proprietarii de profiluri și proprietarul dispozitivului."</string>
<string name="permlab_reorderTasks" msgid="2018575526934422779">"reordonare aplicații care rulează"</string>
- <string name="permdesc_reorderTasks" msgid="7734217754877439351">"Permite aplicației să mute activităţile în prim-plan și în fundal. Aplicația poate face acest lucru fără aportul dvs."</string>
- <string name="permlab_enableCarMode" msgid="5684504058192921098">"activare mod Maşină"</string>
- <string name="permdesc_enableCarMode" msgid="4853187425751419467">"Permite aplicației să activeze modul Maşină."</string>
+ <string name="permdesc_reorderTasks" msgid="7734217754877439351">"Permite aplicației să mute activitățile în prim-plan și în fundal. Aplicația poate face acest lucru fără aportul dvs."</string>
+ <string name="permlab_enableCarMode" msgid="5684504058192921098">"activare mod Mașină"</string>
+ <string name="permdesc_enableCarMode" msgid="4853187425751419467">"Permite aplicației să activeze modul Mașină."</string>
<string name="permlab_killBackgroundProcesses" msgid="3914026687420177202">"închide alte aplicații"</string>
<string name="permdesc_killBackgroundProcesses" msgid="4593353235959733119">"Permite aplicației să oprească procesele derulate în fundal de alte aplicații. Acest lucru poate face ca respectivele aplicații să nu mai ruleze."</string>
<string name="permlab_systemAlertWindow" msgid="3543347980839518613">"suprapune elemente vizuale peste alte aplicații"</string>
@@ -316,7 +316,7 @@
<string name="permlab_getPackageSize" msgid="7472921768357981986">"măsurare spațiu de stocare al aplicației"</string>
<string name="permdesc_getPackageSize" msgid="3921068154420738296">"Permite aplicației să preia dimensiunile codului, ale datelor și ale memoriei cache"</string>
<string name="permlab_writeSettings" msgid="2226195290955224730">"modifică setări de sistem"</string>
- <string name="permdesc_writeSettings" msgid="7775723441558907181">"Permite aplicației să modifice datele din setările sistemului. Aplicațiile rău intenţionate pot corupe configuraţia sistemului dvs."</string>
+ <string name="permdesc_writeSettings" msgid="7775723441558907181">"Permite aplicației să modifice datele din setările sistemului. Aplicațiile rău intenționate pot corupe configurația sistemului dvs."</string>
<string name="permlab_receiveBootCompleted" msgid="5312965565987800025">"rulează la pornire"</string>
<string name="permdesc_receiveBootCompleted" product="tablet" msgid="7390304664116880704">"Permite aplicației să pornească imediat ce s-a terminat încărcarea sistemului. Din acest motiv, pornirea tabletei poate dura mai mult timp, iar rularea continuă a aplicației poate încetini dispozitivul."</string>
<string name="permdesc_receiveBootCompleted" product="tv" msgid="4525890122209673621">"Permite aplicației să pornească imediat ce s-a terminat încărcarea sistemului. Din acest motiv, pornirea televizorului poate dura mai mult timp, iar funcționarea continuă a aplicației poate încetini televizorul."</string>
@@ -326,27 +326,27 @@
<string name="permdesc_broadcastSticky" product="tv" msgid="6839285697565389467">"Permite aplicației să trimită mesaje difuzate persistente, care se păstrează după terminarea difuzării mesajului. Utilizarea excesivă a acestei funcții poate să încetinească sau să destabilizeze televizorul, determinându-l să utilizeze prea multă memorie."</string>
<string name="permdesc_broadcastSticky" product="default" msgid="2825803764232445091">"Permite aplicației să trimită mesaje difuzate persistente, care se păstrează după terminarea difuzării mesajului. Utilizarea excesivă a acestei funcții poate să încetinească sau să destabilizeze telefonul, determinându-l să utilizeze prea multă memorie."</string>
<string name="permlab_readContacts" msgid="8348481131899886131">"citește agenda"</string>
- <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"Permite aplicației să citească datele despre persoanele din agenda stocată pe tabletă, inclusiv frecvența cu care ați apelat, ați trimis e-mailuri sau ați comunicat în alte moduri cu anumite persoane. Cu această permisiune aplicația salvează datele dvs. de contact, iar aplicațiile rău intenţionate pot distribui datele de contact fără știrea dvs."</string>
+ <string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"Permite aplicației să citească datele despre persoanele din agenda stocată pe tabletă, inclusiv frecvența cu care ați apelat, ați trimis e-mailuri sau ați comunicat în alte moduri cu anumite persoane. Cu această permisiune aplicația salvează datele dvs. de contact, iar aplicațiile rău intenționate pot distribui datele de contact fără știrea dvs."</string>
<string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"Permite aplicației să citească datele despre persoanele de contact salvate pe televizor, inclusiv frecvența cu care ați apelat, ați trimis e-mailuri sau ați comunicat în alte moduri cu anumite persoane. Cu această permisiune, aplicațiile pot salva datele de contact, iar aplicațiile rău-intenționate pot permite accesul la datele de contact fără cunoștința dvs."</string>
- <string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"Permite aplicației să citească datele despre persoanele din agenda stocată pe telefon, inclusiv frecvența cu care ați apelat, ați trimis e-mailuri sau ați comunicat în alte moduri cu anumite persoane. Cu această permisiune aplicația salvează datele dvs. de contact, iar aplicațiile rău intenţionate pot distribui datele de contact fără știrea dvs."</string>
+ <string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"Permite aplicației să citească datele despre persoanele din agenda stocată pe telefon, inclusiv frecvența cu care ați apelat, ați trimis e-mailuri sau ați comunicat în alte moduri cu anumite persoane. Cu această permisiune aplicația salvează datele dvs. de contact, iar aplicațiile rău intenționate pot distribui datele de contact fără știrea dvs."</string>
<string name="permlab_writeContacts" msgid="5107492086416793544">"modifică agenda"</string>
<string name="permdesc_writeContacts" product="tablet" msgid="897243932521953602">"Permite aplicației să modifice datele despre persoanele din agenda stocată pe tabletă, inclusiv frecvența cu care ați apelat, ați trimis e-mailuri sau ați comunicat în alte moduri cu anumite persoane din agendă. Cu această permisiune aplicația poate șterge datele de contact."</string>
<string name="permdesc_writeContacts" product="tv" msgid="5438230957000018959">"Permite aplicației să modifice datele despre persoanele de contact salvate pe televizor, inclusiv frecvența cu care ați apelat, ați trimis e-mailuri sau ați comunicat în alte moduri cu anumite persoane de contact. Cu această permisiune, aplicația poate șterge datele de contact."</string>
<string name="permdesc_writeContacts" product="default" msgid="589869224625163558">"Permite aplicației să modifice datele despre persoanele din agenda stocată pe telefon, inclusiv frecvența cu care ați apelat, ați trimis e-mailuri sau ați comunicat în alte moduri cu anumite persoane din agendă. Cu această permisiune aplicația poate șterge datele de contact."</string>
<string name="permlab_readCallLog" msgid="3478133184624102739">"citește jurnalul de apeluri"</string>
- <string name="permdesc_readCallLog" product="tablet" msgid="3700645184870760285">"Permite aplicației să citească jurnalul de apeluri al tabletei, inclusiv datele despre apelurile primite și efectuate. Cu această permisiune aplicația salvează datele dvs. din jurnalul de apeluri, iar aplicațiile rău intenţionate pot distribui aceste date fără știrea dvs."</string>
+ <string name="permdesc_readCallLog" product="tablet" msgid="3700645184870760285">"Permite aplicației să citească jurnalul de apeluri al tabletei, inclusiv datele despre apelurile primite și efectuate. Cu această permisiune aplicația salvează datele dvs. din jurnalul de apeluri, iar aplicațiile rău intenționate pot distribui aceste date fără știrea dvs."</string>
<string name="permdesc_readCallLog" product="tv" msgid="5611770887047387926">"Permite aplicației să citească jurnalul de apeluri al televizorului, inclusiv datele despre apelurile primite și efectuate. Cu această permisiune, aplicațiile pot să salveze datele din jurnalul de apeluri, iar aplicațiile rău-intenționate pot permite accesul la datele din jurnalul de apeluri fără cunoștința dvs."</string>
- <string name="permdesc_readCallLog" product="default" msgid="5777725796813217244">"Permite aplicației să citească jurnalul de apeluri al telefonului, inclusiv datele despre apelurile primite și efectuate. Cu această permisiune aplicația salvează datele dvs. din jurnalul de apeluri, iar aplicațiile rău intenţionate pot distribui aceste date fără știrea dvs."</string>
+ <string name="permdesc_readCallLog" product="default" msgid="5777725796813217244">"Permite aplicației să citească jurnalul de apeluri al telefonului, inclusiv datele despre apelurile primite și efectuate. Cu această permisiune aplicația salvează datele dvs. din jurnalul de apeluri, iar aplicațiile rău intenționate pot distribui aceste date fără știrea dvs."</string>
<string name="permlab_writeCallLog" msgid="8552045664743499354">"scrie jurnalul de apeluri"</string>
- <string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"Permite aplicației să modifice jurnalul de apeluri al tabletei dvs., inclusiv datele despre apelurile primite sau efectuate. Aplicațiile rău intenţionate pot utiliza această permisiune pentru a șterge sau pentru a modifica jurnalul dvs. de apeluri."</string>
+ <string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"Permite aplicației să modifice jurnalul de apeluri al tabletei dvs., inclusiv datele despre apelurile primite sau efectuate. Aplicațiile rău intenționate pot utiliza această permisiune pentru a șterge sau pentru a modifica jurnalul dvs. de apeluri."</string>
<string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"Permite aplicației să modifice jurnalul de apeluri al televizorului, inclusiv datele despre apelurile primite sau efectuate. Aplicațiile rău-intenționate pot utiliza această permisiune pentru a șterge sau pentru a modifica jurnalul de apeluri."</string>
- <string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"Permite aplicației să modifice jurnalul de apeluri al telefonului dvs., inclusiv datele despre apelurile primite sau efectuate. Aplicațiile rău intenţionate pot utiliza această permisiune pentru a șterge sau pentru a modifica jurnalul dvs. de apeluri."</string>
+ <string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"Permite aplicației să modifice jurnalul de apeluri al telefonului dvs., inclusiv datele despre apelurile primite sau efectuate. Aplicațiile rău intenționate pot utiliza această permisiune pentru a șterge sau pentru a modifica jurnalul dvs. de apeluri."</string>
<string name="permlab_bodySensors" msgid="4683341291818520277">"să acceseze senzorii corporali (cum ar fi monitoarele cardiace)"</string>
<string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"Permite aplicației să acceseze date de la senzorii care vă monitorizează starea fizică, cum ar fi ritmul cardiac."</string>
- <string name="permlab_readCalendar" msgid="5972727560257612398">"citirea evenimentelor din calendar și a informațiilor confidenţiale"</string>
- <string name="permdesc_readCalendar" product="tablet" msgid="4216462049057658723">"Permite aplicației să citească toate evenimentele din calendar stocate pe tabletă, inclusiv cele ale prietenilor sau colegilor. Acest lucru poate permite aplicației să distribuie sau să salveze datele din calendar, indiferent dacă acestea sunt confidenţiale sau sensibile."</string>
+ <string name="permlab_readCalendar" msgid="5972727560257612398">"citirea evenimentelor din calendar și a informațiilor confidențiale"</string>
+ <string name="permdesc_readCalendar" product="tablet" msgid="4216462049057658723">"Permite aplicației să citească toate evenimentele din calendar stocate pe tabletă, inclusiv cele ale prietenilor sau colegilor. Acest lucru poate permite aplicației să distribuie sau să salveze datele din calendar, indiferent dacă acestea sunt confidențiale sau sensibile."</string>
<string name="permdesc_readCalendar" product="tv" msgid="3191352452242394196">"Permite aplicației să citească toate evenimentele din calendar stocate pe televizor, inclusiv cele ale prietenilor sau colegilor. Cu această permisiune, aplicația poate să permită accesul la datele din calendar sau să le salveze, indiferent dacă acestea sunt confidențiale sau sensibile."</string>
- <string name="permdesc_readCalendar" product="default" msgid="7434548682470851583">"Permite aplicației să citească toate evenimentele din calendar stocate pe telefon, inclusiv cele ale prietenilor sau colegilor. Acest lucru poate permite aplicației să distribuie sau să salveze datele din calendar, indiferent dacă acestea sunt confidenţiale sau sensibile."</string>
+ <string name="permdesc_readCalendar" product="default" msgid="7434548682470851583">"Permite aplicației să citească toate evenimentele din calendar stocate pe telefon, inclusiv cele ale prietenilor sau colegilor. Acest lucru poate permite aplicației să distribuie sau să salveze datele din calendar, indiferent dacă acestea sunt confidențiale sau sensibile."</string>
<string name="permlab_writeCalendar" msgid="8438874755193825647">"adăugarea sau modificarea evenimentelor din calendar și trimiterea de e-mailuri invitaților fără știrea proprietarului"</string>
<string name="permdesc_writeCalendar" product="tablet" msgid="6679035520113668528">"Permite aplicației să adauge, să elimine și să modifice evenimentele pe care le puteți modifica pe tabletă, inclusiv cele ale prietenilor sau colegilor dvs. În acest fel, aplicația poate trimite mesaje care par să vină de la proprietarii calendarelor sau să modifice evenimentele fără știrea proprietarilor."</string>
<string name="permdesc_writeCalendar" product="tv" msgid="1273290605500902507">"Permite aplicației să adauge, să elimine și să modifice evenimentele pe care le puteți modifica pe televizor, inclusiv pe cele ale prietenilor sau ale colegilor. Cu această permisiune, aplicația poate să trimită mesaje care par că vin din partea proprietarilor calendarului sau să modifice evenimentele fără cunoștința acestora."</string>
@@ -354,9 +354,9 @@
<string name="permlab_accessLocationExtraCommands" msgid="2836308076720553837">"accesare comenzi suplimentare ale furnizorului locației"</string>
<string name="permdesc_accessLocationExtraCommands" msgid="6078307221056649927">"Permite aplicației să acceseze comenzi suplimentare pentru furnizorul locației. Aplicația ar putea să utilizeze această permisiune pentru a influența operațiile GPS sau ale altor surse de locații."</string>
<string name="permlab_accessFineLocation" msgid="251034415460950944">"să acceseze locația exactă (bazată pe GPS și pe rețea)"</string>
- <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"Permite aplicației să obţină locația dvs. exactă utilizând sistemul GPS (Global Positioning System) sau surse de localizare prin rețele, cum ar fi cele prin turn de celule și Wi-Fi. Pentru a fi utilizate de aplicație, aceste servicii de localizare trebuie să fie activate și disponibile pe dispozitivul dvs. Aplicațiile pot utiliza această permisiune pentru a determina locația dvs. și pot să consume mai multă energie a bateriei."</string>
+ <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"Permite aplicației să obțină locația dvs. exactă utilizând sistemul GPS (Global Positioning System) sau surse de localizare prin rețele, cum ar fi cele prin turn de celule și Wi-Fi. Pentru a fi utilizate de aplicație, aceste servicii de localizare trebuie să fie activate și disponibile pe dispozitivul dvs. Aplicațiile pot utiliza această permisiune pentru a determina locația dvs. și pot să consume mai multă energie a bateriei."</string>
<string name="permlab_accessCoarseLocation" msgid="7715277613928539434">"să acceseze locația aproximativă (bazată pe rețea)"</string>
- <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"Permite aplicației să obţină locația dvs. aproximativă. Această locație este dedusă de serviciile de localizare utilizând surse de localizare prin rețele, cum ar fi cele prin turn de celule și Wi-Fi. Pentru a fi utilizate de aplicație, aceste servicii de localizare trebuie să fie activate și disponibile pe dispozitivul dvs. Aplicațiile pot utiliza această permisiune pentru a determina locația dvs. aproximativă."</string>
+ <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"Permite aplicației să obțină locația dvs. aproximativă. Această locație este dedusă de serviciile de localizare utilizând surse de localizare prin rețele, cum ar fi cele prin turn de celule și Wi-Fi. Pentru a fi utilizate de aplicație, aceste servicii de localizare trebuie să fie activate și disponibile pe dispozitivul dvs. Aplicațiile pot utiliza această permisiune pentru a determina locația dvs. aproximativă."</string>
<string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"modificare setări audio"</string>
<string name="permdesc_modifyAudioSettings" msgid="3522565366806248517">"Permite aplicației să modifice setările audio globale, cum ar fi volumul și difuzorul care este utilizat pentru ieșire."</string>
<string name="permlab_recordAudio" msgid="3876049771427466323">"înregistreze sunet"</string>
@@ -368,11 +368,11 @@
<string name="permlab_vibrate" msgid="7696427026057705834">"controlează vibrarea"</string>
<string name="permdesc_vibrate" msgid="6284989245902300945">"Permite aplicației să controleze mecanismul de vibrare."</string>
<string name="permlab_callPhone" msgid="3925836347681847954">"apelare directă numere de telefon"</string>
- <string name="permdesc_callPhone" msgid="3740797576113760827">"Permite aplicației să apeleze numere de telefon fără intervenţia dvs. Acest lucru poate determina apariția unor taxe sau a unor apeluri neașteptate. Cu această permisiune aplicația nu poate apela numerele de urgenţă. Aplicațiile rău intenţionate pot acumula costuri prin efectuarea unor apeluri fără confirmare."</string>
+ <string name="permdesc_callPhone" msgid="3740797576113760827">"Permite aplicației să apeleze numere de telefon fără intervenția dvs. Acest lucru poate determina apariția unor taxe sau a unor apeluri neașteptate. Cu această permisiune aplicația nu poate apela numerele de urgență. Aplicațiile rău intenționate pot acumula costuri prin efectuarea unor apeluri fără confirmare."</string>
<string name="permlab_accessImsCallService" msgid="3574943847181793918">"accesează serviciul de apelare IMS"</string>
<string name="permdesc_accessImsCallService" msgid="8992884015198298775">"Permite aplicației să folosească serviciul IMS pentru apeluri, fără intervenția dvs."</string>
<string name="permlab_readPhoneState" msgid="9178228524507610486">"citește starea și identitatea telefonului"</string>
- <string name="permdesc_readPhoneState" msgid="1639212771826125528">"Permite aplicației să acceseze funcţiile de telefon ale dispozitivului. Cu această permisiune aplicația stabilește numărul de telefon și ID-urile de dispozitiv, dacă un apel este activ, precum și numărul de la distanță conectat printr-un apel."</string>
+ <string name="permdesc_readPhoneState" msgid="1639212771826125528">"Permite aplicației să acceseze funcțiile de telefon ale dispozitivului. Cu această permisiune aplicația stabilește numărul de telefon și ID-urile de dispozitiv, dacă un apel este activ, precum și numărul de la distanță conectat printr-un apel."</string>
<string name="permlab_wakeLock" product="tablet" msgid="1531731435011495015">"împiedicarea computerului tablet PC să intre în repaus"</string>
<string name="permlab_wakeLock" product="tv" msgid="2601193288949154131">"împiedică intrarea televizorului în stare de inactivitate"</string>
<string name="permlab_wakeLock" product="default" msgid="573480187941496130">"împiedicare intrare telefon în repaus"</string>
@@ -392,11 +392,11 @@
<string name="permdesc_setTimeZone" product="tv" msgid="888864653946175955">"Permite aplicației să modifice fusul orar al televizorului."</string>
<string name="permdesc_setTimeZone" product="default" msgid="4499943488436633398">"Permite aplicației să schimbe fusul orar al telefonului."</string>
<string name="permlab_getAccounts" msgid="1086795467760122114">"găsește conturi pe dispozitiv"</string>
- <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"Permite aplicației să obţină lista de conturi cunoscute de tabletă. Aceasta poate include conturile create de aplicațiile pe care le-ați instalat."</string>
+ <string name="permdesc_getAccounts" product="tablet" msgid="2741496534769660027">"Permite aplicației să obțină lista de conturi cunoscute de tabletă. Aceasta poate include conturile create de aplicațiile pe care le-ați instalat."</string>
<string name="permdesc_getAccounts" product="tv" msgid="4190633395633907543">"Permite aplicației să obțină lista de conturi cunoscute de televizor. Aceasta poate include conturile create de aplicațiile pe care le-ați instalat."</string>
- <string name="permdesc_getAccounts" product="default" msgid="3448316822451807382">"Permite aplicației să obţină lista de conturi cunoscute de telefon. Aceasta poate include conturile create de aplicațiile pe care le-ați instalat."</string>
+ <string name="permdesc_getAccounts" product="default" msgid="3448316822451807382">"Permite aplicației să obțină lista de conturi cunoscute de telefon. Aceasta poate include conturile create de aplicațiile pe care le-ați instalat."</string>
<string name="permlab_accessNetworkState" msgid="4951027964348974773">"vizualizează conexiunile la rețea"</string>
- <string name="permdesc_accessNetworkState" msgid="8318964424675960975">"Permite aplicației să vadă informațiile despre conexiunile la rețea, cum ar fi reţelele existente și cele care sunt conectate."</string>
+ <string name="permdesc_accessNetworkState" msgid="8318964424675960975">"Permite aplicației să vadă informațiile despre conexiunile la rețea, cum ar fi rețelele existente și cele care sunt conectate."</string>
<string name="permlab_createNetworkSockets" msgid="7934516631384168107">"să aibă acces deplin la rețea"</string>
<string name="permdesc_createNetworkSockets" msgid="3403062187779724185">"Permite aplicației să creeze socluri de rețea și să utilizeze protocoale de rețea personalizate. Browserul și alte aplicații oferă mijloacele de trimitere a datelor pe internet, astfel încât această permisiune nu este necesară pentru trimiterea datelor pe internet."</string>
<string name="permlab_changeNetworkState" msgid="958884291454327309">"modificare conectivitate în rețea"</string>
@@ -404,9 +404,9 @@
<string name="permlab_changeTetherState" msgid="5952584964373017960">"modificare conectivitate tethering"</string>
<string name="permdesc_changeTetherState" msgid="1524441344412319780">"Permite aplicației să modifice starea de conectivitate prin tethering la rețea."</string>
<string name="permlab_accessWifiState" msgid="5202012949247040011">"vizualizează conexiunile Wi-Fi"</string>
- <string name="permdesc_accessWifiState" msgid="5002798077387803726">"Permite aplicației să vadă informațiile despre reţelele Wi-Fi, de ex. dacă o rețea Wi-Fi este activată, precum și numele dispozitivelor conectate la rețeaua Wi-Fi."</string>
+ <string name="permdesc_accessWifiState" msgid="5002798077387803726">"Permite aplicației să vadă informațiile despre rețelele Wi-Fi, de ex. dacă o rețea Wi-Fi este activată, precum și numele dispozitivelor conectate la rețeaua Wi-Fi."</string>
<string name="permlab_changeWifiState" msgid="6550641188749128035">"se conectează și se deconectează de la Wi-Fi"</string>
- <string name="permdesc_changeWifiState" msgid="7137950297386127533">"Permite aplicației să se conecteze și să se deconecteze de la punctele de acces Wi-Fi, precum și să efectueze modificări în configuraţia dispozitivului pentru reţelele Wi-Fi."</string>
+ <string name="permdesc_changeWifiState" msgid="7137950297386127533">"Permite aplicației să se conecteze și să se deconecteze de la punctele de acces Wi-Fi, precum și să efectueze modificări în configurația dispozitivului pentru rețelele Wi-Fi."</string>
<string name="permlab_changeWifiMulticastState" msgid="1368253871483254784">"permitere recepționare difuzare multiplă Wi-Fi"</string>
<string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"Permite aplicației să primească pachetele trimise către toate dispozitivele dintr-o rețea Wi-Fi, utilizând adrese cu difuzare multiplă, nu doar tableta dvs. Această funcție utilizează mai multă energie decât modul fără difuzare multiplă."</string>
<string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"Permite aplicației să primească pachetele trimise către toate dispozitivele dintr-o rețea Wi-Fi, utilizând adrese cu difuzare multiplă, nu doar televizorul dvs. Această funcție utilizează mai multă energie decât modul fără difuzare multiplă."</string>
@@ -416,19 +416,19 @@
<string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"Permite aplicației să configureze televizorul Bluetooth local, precum și să descopere și să se asocieze cu dispozitive la distanță."</string>
<string name="permdesc_bluetoothAdmin" product="default" msgid="8931682159331542137">"Permite aplicației să configureze telefonul Bluetooth local, să descopere și să se împerecheze cu dispozitive la distanță."</string>
<string name="permlab_accessWimaxState" msgid="4195907010610205703">"se conectează și se deconectează de la WiMAX"</string>
- <string name="permdesc_accessWimaxState" msgid="6360102877261978887">"Permite aplicației să stabilească dacă o rețea WiMAX este activată și să vadă informațiile cu privire la toate reţelele WiMAX conectate."</string>
+ <string name="permdesc_accessWimaxState" msgid="6360102877261978887">"Permite aplicației să stabilească dacă o rețea WiMAX este activată și să vadă informațiile cu privire la toate rețelele WiMAX conectate."</string>
<string name="permlab_changeWimaxState" msgid="340465839241528618">"schimbați starea WiMAX"</string>
- <string name="permdesc_changeWimaxState" product="tablet" msgid="3156456504084201805">"Permite aplicației să conecteze și să deconecteze tableta la și de la reţelele WiMAX."</string>
+ <string name="permdesc_changeWimaxState" product="tablet" msgid="3156456504084201805">"Permite aplicației să conecteze și să deconecteze tableta la și de la rețelele WiMAX."</string>
<string name="permdesc_changeWimaxState" product="tv" msgid="6022307083934827718">"Permite aplicației să conecteze și să deconecteze televizorul la și de la rețelele WiMAX."</string>
- <string name="permdesc_changeWimaxState" product="default" msgid="697025043004923798">"Permite aplicației să conecteze și să deconecteze telefonul la și de la reţelele WiMAX."</string>
+ <string name="permdesc_changeWimaxState" product="default" msgid="697025043004923798">"Permite aplicației să conecteze și să deconecteze telefonul la și de la rețelele WiMAX."</string>
<string name="permlab_bluetooth" msgid="6127769336339276828">"conectează dispozitive Bluetooth"</string>
- <string name="permdesc_bluetooth" product="tablet" msgid="3480722181852438628">"Permite aplicației să vadă configuraţia tabletei Bluetooth, să efectueze și să accepte conexiuni cu dispozitive împerecheate."</string>
+ <string name="permdesc_bluetooth" product="tablet" msgid="3480722181852438628">"Permite aplicației să vadă configurația tabletei Bluetooth, să efectueze și să accepte conexiuni cu dispozitive împerecheate."</string>
<string name="permdesc_bluetooth" product="tv" msgid="3974124940101104206">"Permite aplicației să vadă configurația funcției Bluetooth a televizorului, precum și să efectueze și să accepte conexiuni cu dispozitive asociate."</string>
- <string name="permdesc_bluetooth" product="default" msgid="3207106324452312739">"Permite aplicației să vadă configuraţia telefonului Bluetooth, să efectueze și să accepte conexiuni cu dispozitive împerecheate."</string>
+ <string name="permdesc_bluetooth" product="default" msgid="3207106324452312739">"Permite aplicației să vadă configurația telefonului Bluetooth, să efectueze și să accepte conexiuni cu dispozitive împerecheate."</string>
<string name="permlab_nfc" msgid="4423351274757876953">"controlare schimb de date prin Near Field Communication"</string>
<string name="permdesc_nfc" msgid="7120611819401789907">"Permite aplicației să comunice cu etichetele, cardurile și cititoarele NFC (Near Field Communication)."</string>
<string name="permlab_disableKeyguard" msgid="3598496301486439258">"dezactivează blocarea ecranului"</string>
- <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Permite aplicației să dezactiveze blocarea tastelor și orice modalitate asociată de securizare prin parolă. De exemplu, telefonul dezactivează blocarea tastelor când se primeşte un apel telefonic și reactivează blocarea tastelor la terminarea apelului."</string>
+ <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Permite aplicației să dezactiveze blocarea tastelor și orice modalitate asociată de securizare prin parolă. De exemplu, telefonul dezactivează blocarea tastelor când se primește un apel telefonic și reactivează blocarea tastelor la terminarea apelului."</string>
<string name="permlab_manageFingerprint" msgid="5640858826254575638">"gestionează hardware-ul pentru amprentă"</string>
<string name="permdesc_manageFingerprint" msgid="178208705828055464">"Permite aplicației să invoce metode pentru a adăuga și pentru a șterge șabloane de amprentă pentru utilizare."</string>
<string name="permlab_useFingerprint" msgid="3150478619915124905">"folosește hardware-ul pentru amprentă"</string>
@@ -456,12 +456,12 @@
<string name="permdesc_writeSyncSettings" msgid="8956262591306369868">"Permite unei aplicații să modifice setările de sincronizare ale unui cont. De exemplu, cu această permisiune aplicația poate activa sincronizarea aplicației Persoane cu un anumit cont."</string>
<string name="permlab_readSyncStats" msgid="7396577451360202448">"citire statistici privind sincronizarea"</string>
<string name="permdesc_readSyncStats" msgid="1510143761757606156">"Permite unei aplicații să citească statisticile de sincronizare ale unui cont, inclusiv istoricul evenimentelor de sincronizare și volumul datelor sincronizate."</string>
- <string name="permlab_sdcardRead" product="nosdcard" msgid="367275095159405468">"citește conţinutul stocării USB"</string>
- <string name="permlab_sdcardRead" product="default" msgid="2188156462934977940">"citește conţinutul cardului SD"</string>
+ <string name="permlab_sdcardRead" product="nosdcard" msgid="367275095159405468">"citește conținutul stocării USB"</string>
+ <string name="permlab_sdcardRead" product="default" msgid="2188156462934977940">"citește conținutul cardului SD"</string>
<string name="permdesc_sdcardRead" product="nosdcard" msgid="3446988712598386079">"Permite aplic. citirea conținutului stoc. USB."</string>
<string name="permdesc_sdcardRead" product="default" msgid="2607362473654975411">"Permite aplicației citirea conținutul cardului SD."</string>
- <string name="permlab_sdcardWrite" product="nosdcard" msgid="8485979062254666748">"modifică sau șterge conţinutul stocării USB"</string>
- <string name="permlab_sdcardWrite" product="default" msgid="8805693630050458763">"modifică sau șterge conţinutul cardului SD"</string>
+ <string name="permlab_sdcardWrite" product="nosdcard" msgid="8485979062254666748">"modifică sau șterge conținutul stocării USB"</string>
+ <string name="permlab_sdcardWrite" product="default" msgid="8805693630050458763">"modifică sau șterge conținutul cardului SD"</string>
<string name="permdesc_sdcardWrite" product="nosdcard" msgid="6175406299445710888">"Permite scriere în stoc. USB."</string>
<string name="permdesc_sdcardWrite" product="default" msgid="4337417790936632090">"Permite aplicației să scrie pe cardul SD."</string>
<string name="permlab_use_sip" msgid="2052499390128979920">"efectuarea/primirea apelurilor SIP"</string>
@@ -483,7 +483,7 @@
<string name="permlab_manageNetworkPolicy" msgid="2562053592339859990">"gestionează politica de rețea"</string>
<string name="permdesc_manageNetworkPolicy" msgid="7537586771559370668">"Permite aplicației să gestioneze politicile de rețea și să definească regulile specifice aplicațiilor."</string>
<string name="permlab_modifyNetworkAccounting" msgid="5088217309088729650">"modificați modul de calcul al utilizării rețelei"</string>
- <string name="permdesc_modifyNetworkAccounting" msgid="5443412866746198123">"Permite aplicației să modifice modul în care este calculată utilizarea rețelei pentru aplicații. Nu se utilizează de aplicațiile obişnuite."</string>
+ <string name="permdesc_modifyNetworkAccounting" msgid="5443412866746198123">"Permite aplicației să modifice modul în care este calculată utilizarea rețelei pentru aplicații. Nu se utilizează de aplicațiile obișnuite."</string>
<string name="permlab_accessNotifications" msgid="7673416487873432268">"accesare notificări"</string>
<string name="permdesc_accessNotifications" msgid="458457742683431387">"Permite aplicației să recupereze, să examineze și să șteargă notificări, inclusiv pe cele postate de alte aplicații."</string>
<string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"conectare la un serviciu de citire a notificărilor"</string>
@@ -513,7 +513,7 @@
<string name="policylab_limitPassword" msgid="4497420728857585791">"Setați reguli pentru parolă"</string>
<string name="policydesc_limitPassword" msgid="2502021457917874968">"Stabiliți lungimea și tipul de caractere permise pentru parolele și codurile PIN de blocare a ecranului."</string>
<string name="policylab_watchLogin" msgid="914130646942199503">"Monitorizați încercările de deblocare a ecranului"</string>
- <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Monitorizați numărul de parole incorecte introduse la deblocarea ecranului și blocaţi tableta sau ștergeți datele acesteia dacă sunt introduse prea multe parole incorecte."</string>
+ <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Monitorizați numărul de parole incorecte introduse la deblocarea ecranului și blocați tableta sau ștergeți datele acesteia dacă sunt introduse prea multe parole incorecte."</string>
<string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Monitorizați numărul de parole incorecte introduse la deblocarea ecranului și blocați televizorul sau ștergeți toate datele acestuia dacă sunt introduse prea multe parole incorecte."</string>
<string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Monitorizați numărul de parole incorecte introduse la deblocarea ecranului și blocați telefonul sau ștergeți toate datele acestuia dacă sunt introduse prea multe parole incorecte."</string>
<string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Monitorizați numărul de parole incorecte introduse la deblocarea ecranului și blocați tableta sau ștergeți toate datele acestui utilizator dacă se introduc prea multe parole incorecte."</string>
@@ -593,7 +593,7 @@
<string name="phoneTypePager" msgid="7582359955394921732">"Pager"</string>
<string name="phoneTypeOther" msgid="1544425847868765990">"Altele"</string>
<string name="phoneTypeCallback" msgid="2712175203065678206">"Apelare inversă"</string>
- <string name="phoneTypeCar" msgid="8738360689616716982">"Maşină"</string>
+ <string name="phoneTypeCar" msgid="8738360689616716982">"Mașină"</string>
<string name="phoneTypeCompanyMain" msgid="540434356461478916">"Numărul de telefon principal al companiei"</string>
<string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string>
<string name="phoneTypeMain" msgid="6766137010628326916">"Număr de telefon principal"</string>
@@ -606,7 +606,7 @@
<string name="phoneTypeAssistant" msgid="5596772636128562884">"Asistent"</string>
<string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string>
<string name="eventTypeCustom" msgid="7837586198458073404">"Personalizate"</string>
- <string name="eventTypeBirthday" msgid="2813379844211390740">"Zi de naştere"</string>
+ <string name="eventTypeBirthday" msgid="2813379844211390740">"Zi de naștere"</string>
<string name="eventTypeAnniversary" msgid="3876779744518284000">"Zi aniversară"</string>
<string name="eventTypeOther" msgid="7388178939010143077">"Altul"</string>
<string name="emailTypeCustom" msgid="8525960257804213846">"Personalizat"</string>
@@ -655,13 +655,13 @@
<string name="sipAddressTypeWork" msgid="6920725730797099047">"Serviciu"</string>
<string name="sipAddressTypeOther" msgid="4408436162950119849">"Altul"</string>
<string name="quick_contacts_not_available" msgid="746098007828579688">"Nu s-a găsit nicio aplicație pentru a afișa această persoană de contact."</string>
- <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Introduceţi codul PIN"</string>
- <string name="keyguard_password_enter_puk_code" msgid="4800725266925845333">"Introduceţi codul PUK și noul cod PIN"</string>
+ <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Introduceți codul PIN"</string>
+ <string name="keyguard_password_enter_puk_code" msgid="4800725266925845333">"Introduceți codul PUK și noul cod PIN"</string>
<string name="keyguard_password_enter_puk_prompt" msgid="1341112146710087048">"Codul PUK"</string>
<string name="keyguard_password_enter_pin_prompt" msgid="8027680321614196258">"Noul cod PIN"</string>
- <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"Atingeți și introduceţi parola"</font></string>
- <string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"Introduceţi parola pentru a debloca"</string>
- <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"Introduceţi codul PIN pentru a debloca"</string>
+ <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"Atingeți și introduceți parola"</font></string>
+ <string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"Introduceți parola pentru a debloca"</string>
+ <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"Introduceți codul PIN pentru a debloca"</string>
<string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"Cod PIN incorect."</string>
<string name="keyguard_label_text" msgid="861796461028298424">"Pentru a debloca, apăsați Meniu, apoi 0."</string>
<string name="emergency_call_dialog_number_for_display" msgid="696192103195090970">"Număr de urgență"</string>
@@ -669,9 +669,9 @@
<string name="lockscreen_screen_locked" msgid="7288443074806832904">"Ecranul este blocat."</string>
<string name="lockscreen_instructions_when_pattern_enabled" msgid="46154051614126049">"Apăsați Meniu pentru a debloca sau pentru a efectua apeluri de urgență."</string>
<string name="lockscreen_instructions_when_pattern_disabled" msgid="686260028797158364">"Apăsați Meniu pentru deblocare."</string>
- <string name="lockscreen_pattern_instructions" msgid="7478703254964810302">"Desenaţi modelul pentru a debloca"</string>
+ <string name="lockscreen_pattern_instructions" msgid="7478703254964810302">"Desenați modelul pentru a debloca"</string>
<string name="lockscreen_emergency_call" msgid="5298642613417801888">"Urgență"</string>
- <string name="lockscreen_return_to_call" msgid="5244259785500040021">"Reveniţi la apel"</string>
+ <string name="lockscreen_return_to_call" msgid="5244259785500040021">"Reveniți la apel"</string>
<string name="lockscreen_pattern_correct" msgid="9039008650362261237">"Corect!"</string>
<string name="lockscreen_pattern_wrong" msgid="4317955014948108794">"Încercați din nou"</string>
<string name="lockscreen_password_wrong" msgid="5737815393253165301">"Încercați din nou"</string>
@@ -680,32 +680,32 @@
<string name="lockscreen_missing_sim_message" product="tablet" msgid="151659196095791474">"Nu există card SIM în computerul tablet PC."</string>
<string name="lockscreen_missing_sim_message" product="tv" msgid="1943633865476989599">"Niciun card SIM în televizor."</string>
<string name="lockscreen_missing_sim_message" product="default" msgid="2186920585695169078">"Telefonul nu are card SIM."</string>
- <string name="lockscreen_missing_sim_instructions" msgid="5372787138023272615">"Introduceţi un card SIM."</string>
- <string name="lockscreen_missing_sim_instructions_long" msgid="3526573099019319472">"Cardul SIM lipsește sau nu poate fi citit. Introduceţi un card SIM."</string>
+ <string name="lockscreen_missing_sim_instructions" msgid="5372787138023272615">"Introduceți un card SIM."</string>
+ <string name="lockscreen_missing_sim_instructions_long" msgid="3526573099019319472">"Cardul SIM lipsește sau nu poate fi citit. Introduceți un card SIM."</string>
<string name="lockscreen_permanent_disabled_sim_message_short" msgid="5096149665138916184">"Card SIM inutilizabil."</string>
- <string name="lockscreen_permanent_disabled_sim_instructions" msgid="910904643433151371">"Cardul dvs. SIM este dezactivat definitiv.\n Contactaţi furnizorul de servicii wireless pentru a obţine un alt card SIM."</string>
+ <string name="lockscreen_permanent_disabled_sim_instructions" msgid="910904643433151371">"Cardul dvs. SIM este dezactivat definitiv.\n Contactați furnizorul de servicii wireless pentru a obține un alt card SIM."</string>
<string name="lockscreen_transport_prev_description" msgid="6300840251218161534">"Melodia anterioară"</string>
<string name="lockscreen_transport_next_description" msgid="573285210424377338">"Melodia următoare"</string>
<string name="lockscreen_transport_pause_description" msgid="3980308465056173363">"Pauză"</string>
<string name="lockscreen_transport_play_description" msgid="1901258823643886401">"Redați"</string>
<string name="lockscreen_transport_stop_description" msgid="5907083260651210034">"Opriți"</string>
- <string name="lockscreen_transport_rew_description" msgid="6944412838651990410">"Derulaţi"</string>
- <string name="lockscreen_transport_ffw_description" msgid="42987149870928985">"Derulaţi rapid înainte"</string>
+ <string name="lockscreen_transport_rew_description" msgid="6944412838651990410">"Derulați"</string>
+ <string name="lockscreen_transport_ffw_description" msgid="42987149870928985">"Derulați rapid înainte"</string>
<string name="emergency_calls_only" msgid="6733978304386365407">"Numai apeluri de urgență"</string>
<string name="lockscreen_network_locked_message" msgid="143389224986028501">"Rețea blocată"</string>
<string name="lockscreen_sim_puk_locked_message" msgid="7441797339976230">"Cardul SIM este blocat cu codul PUK."</string>
- <string name="lockscreen_sim_puk_locked_instructions" msgid="8127916255245181063">"Consultați Ghidul de utilizare sau contactaţi Serviciul de relații cu clienții."</string>
+ <string name="lockscreen_sim_puk_locked_instructions" msgid="8127916255245181063">"Consultați Ghidul de utilizare sau contactați Serviciul de relații cu clienții."</string>
<string name="lockscreen_sim_locked_message" msgid="8066660129206001039">"Cardul SIM este blocat."</string>
<string name="lockscreen_sim_unlock_progress_dialog_message" msgid="595323214052881264">"Se deblochează cardul SIM..."</string>
<string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="6481623830344107222">"Ați desenat incorect modelul pentru deblocare de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori. \n\nÎncercați din nou peste <xliff:g id="NUMBER_1">%2$d</xliff:g> (de) secunde."</string>
<string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="2725973286239344555">"Ați introdus incorect parola de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori. \n\nÎncercați din nou peste <xliff:g id="NUMBER_1">%2$d</xliff:g> (de) secunde."</string>
<string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6216672706545696955">"Ați introdus incorect codul PIN de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori.\n\nÎncercați din nou peste <xliff:g id="NUMBER_1">%2$d</xliff:g> (de) secunde."</string>
- <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"Ați desenat incorect modelul pentru deblocare de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereuşite, vi se va solicita să deblocați tableta cu ajutorul datelor de conectare la Google.\n\n Încercați din nou peste <xliff:g id="NUMBER_2">%3$d</xliff:g> (de) secunde."</string>
+ <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"Ați desenat incorect modelul pentru deblocare de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereușite, vi se va solicita să deblocați tableta cu ajutorul datelor de conectare la Google.\n\n Încercați din nou peste <xliff:g id="NUMBER_2">%3$d</xliff:g> (de) secunde."</string>
<string name="lockscreen_failed_attempts_almost_glogin" product="tv" msgid="5316664559603394684">"Ați desenat incorect modelul pentru deblocare de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereușite, vi se va solicita să deblocați televizorul cu ajutorul datelor de conectare la Google.\n\n Încercați din nou peste <xliff:g id="NUMBER_2">%3$d</xliff:g> (de) secunde."</string>
- <string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="2590227559763762751">"Ați desenat incorect modelul pentru deblocare de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereuşite, vi se va solicita să deblocați telefonul cu ajutorul datelor de conectare la Google.\n\n Încercați din nou peste <xliff:g id="NUMBER_2">%3$d</xliff:g> (de) secunde."</string>
- <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"Ați efectuat <xliff:g id="NUMBER_0">%1$d</xliff:g> încercări incorecte de deblocare a tabletei. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereuşite, aceasta va fi resetată la setările prestabilite din fabrică, iar toate datele de utilizator vor fi pierdute."</string>
+ <string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="2590227559763762751">"Ați desenat incorect modelul pentru deblocare de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereușite, vi se va solicita să deblocați telefonul cu ajutorul datelor de conectare la Google.\n\n Încercați din nou peste <xliff:g id="NUMBER_2">%3$d</xliff:g> (de) secunde."</string>
+ <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="6128106399745755604">"Ați efectuat <xliff:g id="NUMBER_0">%1$d</xliff:g> încercări incorecte de deblocare a tabletei. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereușite, aceasta va fi resetată la setările prestabilite din fabrică, iar toate datele de utilizator vor fi pierdute."</string>
<string name="lockscreen_failed_attempts_almost_at_wipe" product="tv" msgid="950408382418270260">"Ați efectuat <xliff:g id="NUMBER_0">%1$d</xliff:g> încercări incorecte de deblocare a televizorului. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereușite, televizorul va reveni la setările prestabilite din fabrică, iar toate datele de utilizator se vor pierde."</string>
- <string name="lockscreen_failed_attempts_almost_at_wipe" product="default" msgid="8603565142156826565">"Ați efectuat <xliff:g id="NUMBER_0">%1$d</xliff:g> încercări incorecte de deblocare a telefonului. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereuşite, acesta va fi resetat la setările prestabilite din fabrică, iar toate datele de utilizator vor fi pierdute."</string>
+ <string name="lockscreen_failed_attempts_almost_at_wipe" product="default" msgid="8603565142156826565">"Ați efectuat <xliff:g id="NUMBER_0">%1$d</xliff:g> încercări incorecte de deblocare a telefonului. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereușite, acesta va fi resetat la setările prestabilite din fabrică, iar toate datele de utilizator vor fi pierdute."</string>
<string name="lockscreen_failed_attempts_now_wiping" product="tablet" msgid="280873516493934365">"Ați efectuat <xliff:g id="NUMBER">%d</xliff:g> încercări incorecte de deblocare a tabletei. Tableta va fi acum resetată la setările prestabilite din fabrică."</string>
<string name="lockscreen_failed_attempts_now_wiping" product="tv" msgid="3195755534096192191">"Ați efectuat <xliff:g id="NUMBER">%d</xliff:g> încercări incorecte de deblocare a televizorului. Televizorul va reveni acum la setările prestabilite din fabrică."</string>
<string name="lockscreen_failed_attempts_now_wiping" product="default" msgid="3025504721764922246">"Ați efectuat <xliff:g id="NUMBER">%d</xliff:g> încercări incorecte de deblocare a telefonului. Acesta va fi acum resetat la setările prestabilite din fabrică."</string>
@@ -713,14 +713,14 @@
<string name="lockscreen_forgot_pattern_button_text" msgid="2626999449610695930">"Ați uitat modelul?"</string>
<string name="lockscreen_glogin_forgot_pattern" msgid="2588521501166032747">"Deblocare cont"</string>
<string name="lockscreen_glogin_too_many_attempts" msgid="2751368605287288808">"Prea multe încercări de desenare a modelului"</string>
- <string name="lockscreen_glogin_instructions" msgid="3931816256100707784">"Pentru a debloca, conectaţi-vă folosind Contul Google."</string>
+ <string name="lockscreen_glogin_instructions" msgid="3931816256100707784">"Pentru a debloca, conectați-vă folosind Contul Google."</string>
<string name="lockscreen_glogin_username_hint" msgid="8846881424106484447">"Nume de utilizator (e-mail)"</string>
<string name="lockscreen_glogin_password_hint" msgid="5958028383954738528">"Parolă"</string>
<string name="lockscreen_glogin_submit_button" msgid="7130893694795786300">"Conectați-vă"</string>
<string name="lockscreen_glogin_invalid_input" msgid="1364051473347485908">"Nume de utilizator sau parolă nevalide."</string>
<string name="lockscreen_glogin_account_recovery_hint" msgid="1696924763690379073">"Ați uitat numele de utilizator sau parola?\nAccesați "<b>"google.com/accounts/recovery"</b>"."</string>
<string name="lockscreen_glogin_checking_password" msgid="7114627351286933867">"Se verifică..."</string>
- <string name="lockscreen_unlock_label" msgid="737440483220667054">"Deblocaţi"</string>
+ <string name="lockscreen_unlock_label" msgid="737440483220667054">"Deblocați"</string>
<string name="lockscreen_sound_on_label" msgid="9068877576513425970">"Sunet activat"</string>
<string name="lockscreen_sound_off_label" msgid="996822825154319026">"Sunet dezactivat"</string>
<string name="lockscreen_access_pattern_start" msgid="3941045502933142847">"Desenarea modelului a început"</string>
@@ -758,7 +758,7 @@
<string name="granularity_label_link" msgid="5815508880782488267">"link"</string>
<string name="granularity_label_line" msgid="5764267235026120888">"rând"</string>
<string name="factorytest_failed" msgid="5410270329114212041">"Testarea de fabrică nu a reușit"</string>
- <string name="factorytest_not_system" msgid="4435201656767276723">"Acţiunea FACTORY_TEST este acceptată doar pentru pachetele instalate în /system/app."</string>
+ <string name="factorytest_not_system" msgid="4435201656767276723">"Acțiunea FACTORY_TEST este acceptată doar pentru pachetele instalate în /system/app."</string>
<string name="factorytest_no_action" msgid="872991874799998561">"Nu s-a găsit niciun pachet care să ofere acțiunea FACTORY_TEST."</string>
<string name="factorytest_reboot" msgid="6320168203050791643">"Reporniți"</string>
<string name="js_dialog_title" msgid="1987483977834603872">"La pagina de la „<xliff:g id="TITLE">%s</xliff:g>” apare:"</string>
@@ -798,10 +798,10 @@
<string name="permlab_addVoicemail" msgid="5525660026090959044">"adăugare mesagerie vocală"</string>
<string name="permdesc_addVoicemail" msgid="6604508651428252437">"Permite aplicației să adauge mesaje în Mesaje primite în mesageria vocală."</string>
<string name="permlab_writeGeolocationPermissions" msgid="5962224158955273932">"modificare permisiuni pentru locația geografică a browserului"</string>
- <string name="permdesc_writeGeolocationPermissions" msgid="1083743234522638747">"Permite aplicației să modifice permisiunile privind locația geografică a browserului. Aplicațiile rău intenţionate pot utiliza această permisiune pentru a permite trimiterea informațiilor privind locația către site-uri web arbitrare."</string>
+ <string name="permdesc_writeGeolocationPermissions" msgid="1083743234522638747">"Permite aplicației să modifice permisiunile privind locația geografică a browserului. Aplicațiile rău intenționate pot utiliza această permisiune pentru a permite trimiterea informațiilor privind locația către site-uri web arbitrare."</string>
<string name="save_password_message" msgid="767344687139195790">"Doriți ca browserul să rețină această parolă?"</string>
<string name="save_password_notnow" msgid="6389675316706699758">"Nu acum"</string>
- <string name="save_password_remember" msgid="6491879678996749466">"Reţineţi"</string>
+ <string name="save_password_remember" msgid="6491879678996749466">"Rețineți"</string>
<string name="save_password_never" msgid="8274330296785855105">"Niciodată"</string>
<string name="open_permission_deny" msgid="7374036708316629800">"Nu aveți permisiunea de a deschide această pagină."</string>
<string name="text_copied" msgid="4985729524670131385">"Text copiat în clipboard."</string>
@@ -866,8 +866,8 @@
<string name="relative_time" msgid="1818557177829411417">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="noon" msgid="7245353528818587908">"prânz"</string>
<string name="Noon" msgid="3342127745230013127">"Prânz"</string>
- <string name="midnight" msgid="7166259508850457595">"miezul nopţii"</string>
- <string name="Midnight" msgid="5630806906897892201">"Miezul nopţii"</string>
+ <string name="midnight" msgid="7166259508850457595">"miezul nopții"</string>
+ <string name="Midnight" msgid="5630806906897892201">"Miezul nopții"</string>
<string name="elapsed_time_short_format_mm_ss" msgid="4431555943828711473">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
<string name="elapsed_time_short_format_h_mm_ss" msgid="1846071997616654124">"<xliff:g id="HOURS">%1$d</xliff:g>:<xliff:g id="MINUTES">%2$02d</xliff:g>:<xliff:g id="SECONDS">%3$02d</xliff:g>"</string>
<string name="selectAll" msgid="6876518925844129331">"Selectați-le pe toate"</string>
@@ -885,9 +885,9 @@
<string name="addToDictionary" msgid="4352161534510057874">"Adăugați în dicţionar"</string>
<string name="deleteText" msgid="6979668428458199034">"Ștergeți"</string>
<string name="inputMethod" msgid="1653630062304567879">"Metodă de intrare"</string>
- <string name="editTextMenuTitle" msgid="4909135564941815494">"Acţiuni pentru text"</string>
- <string name="low_internal_storage_view_title" msgid="5576272496365684834">"Spaţiul de stocare aproape ocupat"</string>
- <string name="low_internal_storage_view_text" msgid="6640505817617414371">"Este posibil ca unele funcții de sistem să nu funcţioneze"</string>
+ <string name="editTextMenuTitle" msgid="4909135564941815494">"Acțiuni pentru text"</string>
+ <string name="low_internal_storage_view_title" msgid="5576272496365684834">"Spațiul de stocare aproape ocupat"</string>
+ <string name="low_internal_storage_view_text" msgid="6640505817617414371">"Este posibil ca unele funcții de sistem să nu funcționeze"</string>
<string name="low_internal_storage_view_text_no_boot" msgid="6935190099204693424">"Spațiu de stocare insuficient pentru sistem. Asigurați-vă că aveți 250 MB de spațiu liber și reporniți."</string>
<string name="app_running_notification_title" msgid="8718335121060787914">"<xliff:g id="APP_NAME">%1$s</xliff:g> rulează acum"</string>
<string name="app_running_notification_text" msgid="4653586947747330058">"Atingeți pentru mai multe informații sau pentru a opri aplicația."</string>
@@ -923,7 +923,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Resetați și reporniți aplicația"</string>
<string name="aerr_report" msgid="5371800241488400617">"Trimiteți feedback"</string>
<string name="aerr_close" msgid="2991640326563991340">"Închideți"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Dezactivați"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Dezactivați până la repornirea dispozitivului"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Așteptați"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Închideți aplicația"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -933,10 +933,10 @@
<string name="anr_process" msgid="6156880875555921105">"Procesul <xliff:g id="PROCESS">%1$s</xliff:g> nu răspunde"</string>
<string name="force_close" msgid="8346072094521265605">"OK"</string>
<string name="report" msgid="4060218260984795706">"Raportați"</string>
- <string name="wait" msgid="7147118217226317732">"Aşteptaţi"</string>
+ <string name="wait" msgid="7147118217226317732">"Așteptați"</string>
<string name="webpage_unresponsive" msgid="3272758351138122503">"Pagina a devenit inactivă.\n\nDoriți să o închideți?"</string>
- <string name="launch_warning_title" msgid="1547997780506713581">"Aplicaţie redirecționată"</string>
- <string name="launch_warning_replace" msgid="6202498949970281412">"<xliff:g id="APP_NAME">%1$s</xliff:g> funcţionează acum."</string>
+ <string name="launch_warning_title" msgid="1547997780506713581">"Aplicație redirecționată"</string>
+ <string name="launch_warning_replace" msgid="6202498949970281412">"<xliff:g id="APP_NAME">%1$s</xliff:g> funcționează acum."</string>
<string name="launch_warning_original" msgid="188102023021668683">"<xliff:g id="APP_NAME">%1$s</xliff:g> a fost lansată iniţial."</string>
<string name="screen_compat_mode_scale" msgid="3202955667675944499">"Scară"</string>
<string name="screen_compat_mode_show" msgid="4013878876486655892">"Afișați întotdeauna"</string>
@@ -952,11 +952,11 @@
<string name="android_upgrading_complete" msgid="1405954754112999229">"Se finalizează pornirea."</string>
<string name="heavy_weight_notification" msgid="9087063985776626166">"Rulează <xliff:g id="APP">%1$s</xliff:g>"</string>
<string name="heavy_weight_notification_detail" msgid="1721681741617898865">"Atingeți pentru a comuta la aplicație"</string>
- <string name="heavy_weight_switcher_title" msgid="7153167085403298169">"Comutaţi între aplicații?"</string>
+ <string name="heavy_weight_switcher_title" msgid="7153167085403298169">"Comutați între aplicații?"</string>
<string name="heavy_weight_switcher_text" msgid="7022631924534406403">"O altă aplicație rulează deja și trebuie oprită înainte a putea porni o aplicație nouă."</string>
- <string name="old_app_action" msgid="493129172238566282">"Reveniţi la <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
+ <string name="old_app_action" msgid="493129172238566282">"Reveniți la <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
<string name="old_app_description" msgid="2082094275580358049">"Nu porniți aplicația nouă."</string>
- <string name="new_app_action" msgid="5472756926945440706">"Porniţi <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
+ <string name="new_app_action" msgid="5472756926945440706">"Porniți <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
<string name="new_app_description" msgid="1932143598371537340">"Opriți vechea aplicație fără să salvați."</string>
<string name="dump_heap_notification" msgid="2618183274836056542">"<xliff:g id="PROC">%1$s</xliff:g> a depășit limita de memorie"</string>
<string name="dump_heap_notification_detail" msgid="2075673362317481664">"Datele privind memoria au fost culese; atingeți pentru a trimite"</string>
@@ -992,7 +992,7 @@
<item quantity="other">Rețele Wi-Fi deschise disponibile</item>
<item quantity="one">Rețea Wi-Fi deschisă disponibilă</item>
</plurals>
- <string name="wifi_available_sign_in" msgid="9157196203958866662">"Conectați-vă la reţeaua Wi-Fi"</string>
+ <string name="wifi_available_sign_in" msgid="9157196203958866662">"Conectați-vă la rețeaua Wi-Fi"</string>
<string name="network_available_sign_in" msgid="1848877297365446605">"Conectați-vă la rețea"</string>
<!-- no translation found for network_available_sign_in_detailed (8000081941447976118) -->
<skip />
@@ -1004,26 +1004,26 @@
<string name="wifi_connect_alert_message" msgid="6451273376815958922">"Aplicația %1$s dorește să se conecteze la rețeaua Wi-Fi %2$s"</string>
<string name="wifi_connect_default_application" msgid="7143109390475484319">"O aplicație"</string>
<string name="wifi_p2p_dialog_title" msgid="97611782659324517">"Wi-Fi Direct"</string>
- <string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"Porniţi Wi-Fi Direct. Acest lucru va dezactiva clientul/hotspotul Wi-Fi."</string>
+ <string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"Porniți Wi-Fi Direct. Acest lucru va dezactiva clientul/hotspotul Wi-Fi."</string>
<string name="wifi_p2p_failed_message" msgid="3763669677935623084">"Wi-Fi Direct nu a putut porni."</string>
<string name="wifi_p2p_enabled_notification_title" msgid="2068321881673734886">"Wi-Fi Direct este activat"</string>
<string name="wifi_p2p_enabled_notification_message" msgid="1638949953993894335">"Atingeți pentru setări"</string>
- <string name="accept" msgid="1645267259272829559">"Acceptaţi"</string>
- <string name="decline" msgid="2112225451706137894">"Refuzaţi"</string>
+ <string name="accept" msgid="1645267259272829559">"Acceptați"</string>
+ <string name="decline" msgid="2112225451706137894">"Refuzați"</string>
<string name="wifi_p2p_invitation_sent_title" msgid="1318975185112070734">"Invitația a fost trimisă."</string>
<string name="wifi_p2p_invitation_to_connect_title" msgid="4958803948658533637">"Invitație pentru conectare"</string>
<string name="wifi_p2p_from_message" msgid="570389174731951769">"De la:"</string>
<string name="wifi_p2p_to_message" msgid="248968974522044099">"Către:"</string>
- <string name="wifi_p2p_enter_pin_message" msgid="5920929550367828970">"Introduceţi codul PIN necesar:"</string>
+ <string name="wifi_p2p_enter_pin_message" msgid="5920929550367828970">"Introduceți codul PIN necesar:"</string>
<string name="wifi_p2p_show_pin_message" msgid="8530563323880921094">"Cod PIN:"</string>
<string name="wifi_p2p_frequency_conflict_message" product="tablet" msgid="8012981257742232475">"Tableta se va deconecta temporar de la rețeaua Wi-Fi cât timp este conectată la <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="wifi_p2p_frequency_conflict_message" product="tv" msgid="3087858235069421128">"Televizorul se va deconecta temporar de la rețeaua Wi-Fi cât timp este conectat la <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
- <string name="wifi_p2p_frequency_conflict_message" product="default" msgid="7363907213787469151">"Telefonul se va deconecta temporar de la reţeaua Wi-Fi cât timp este conectat la <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
- <string name="select_character" msgid="3365550120617701745">"Introduceţi caracterul"</string>
+ <string name="wifi_p2p_frequency_conflict_message" product="default" msgid="7363907213787469151">"Telefonul se va deconecta temporar de la rețeaua Wi-Fi cât timp este conectat la <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+ <string name="select_character" msgid="3365550120617701745">"Introduceți caracterul"</string>
<string name="sms_control_title" msgid="7296612781128917719">"Se trimit mesaje SMS"</string>
<string name="sms_control_message" msgid="3867899169651496433">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> trimite un număr mare de mesaje SMS. Permiteți acestei aplicații să trimită în continuare mesaje?"</string>
<string name="sms_control_yes" msgid="3663725993855816807">"Permiteți"</string>
- <string name="sms_control_no" msgid="625438561395534982">"Refuzaţi"</string>
+ <string name="sms_control_no" msgid="625438561395534982">"Refuzați"</string>
<string name="sms_short_code_confirm_message" msgid="1645436466285310855">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> intenționează să trimită un mesaj la <b><xliff:g id="DEST_ADDRESS">%2$s</xliff:g></b>."</string>
<string name="sms_short_code_details" msgid="5873295990846059400">"Acest lucru "<b>"poate genera costuri"</b>" în contul dvs. mobil."</string>
<string name="sms_premium_short_code_details" msgid="7869234868023975"><b>"Acest lucru va genera costuri în contul dvs. mobil."</b></string>
@@ -1038,14 +1038,14 @@
<string name="sim_done_button" msgid="827949989369963775">"Terminat"</string>
<string name="sim_added_title" msgid="3719670512889674693">"Card SIM adăugat"</string>
<string name="sim_added_message" msgid="7797975656153714319">"Reporniți dispozitivul pentru a accesa rețeaua mobilă."</string>
- <string name="sim_restart_button" msgid="4722407842815232347">"Reporniţi"</string>
+ <string name="sim_restart_button" msgid="4722407842815232347">"Reporniți"</string>
<string name="carrier_app_dialog_message" msgid="7066156088266319533">"Pentru ca noul SIM să funcționeze corect, va trebui să instalați și să deschideți o aplicație de la operatorul dvs."</string>
<string name="carrier_app_dialog_button" msgid="7900235513678617329">"DESCĂRCAȚI APLICAȚIA"</string>
<string name="carrier_app_dialog_not_now" msgid="6361378684292268027">"NU ACUM"</string>
<string name="carrier_app_notification_title" msgid="8921767385872554621">"S-a introdus un card SIM nou"</string>
<string name="carrier_app_notification_text" msgid="1132487343346050225">"Atingeți pentru a-l configura"</string>
- <string name="time_picker_dialog_title" msgid="8349362623068819295">"Setaţi ora"</string>
- <string name="date_picker_dialog_title" msgid="5879450659453782278">"Setaţi data"</string>
+ <string name="time_picker_dialog_title" msgid="8349362623068819295">"Setați ora"</string>
+ <string name="date_picker_dialog_title" msgid="5879450659453782278">"Setați data"</string>
<string name="date_time_set" msgid="5777075614321087758">"Setați"</string>
<string name="date_time_done" msgid="2507683751759308828">"Terminat"</string>
<string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ff33b5e5">"NOU: "</font></string>
@@ -1061,16 +1061,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Atingeți pentru mai multe opțiuni."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Depanarea USB este conectată"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Atingeți pentru a dezactiva depanarea USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Trimiteți raportul de eroare?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Se trimite raportul de eroare…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Administratorul IT a solicitat un raport de eroare pentru a remedia problemele acestui dispozitiv. Este posibil să se permită accesul la date și aplicații, iar funcționarea dispozitivului poate fi încetinită temporar."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Administratorul IT a solicitat un raport de eroare pentru a remedia problemele acestui dispozitiv. Este posibil să se permită accesul la date și aplicații."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Acest proces poate încetini temporar funcționarea dispozitivului"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ACCEPTAȚI"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"REFUZAȚI"</string>
<string name="select_input_method" msgid="8547250819326693584">"Schimbați tastatura"</string>
@@ -1134,13 +1129,13 @@
<string name="ime_action_done" msgid="8971516117910934605">"Terminat"</string>
<string name="ime_action_previous" msgid="1443550039250105948">"Înapoi"</string>
<string name="ime_action_default" msgid="2840921885558045721">"Executați"</string>
- <string name="dial_number_using" msgid="5789176425167573586">"Formaţi numărul\nutilizând <xliff:g id="NUMBER">%s</xliff:g>"</string>
+ <string name="dial_number_using" msgid="5789176425167573586">"Formați numărul\nutilizând <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="create_contact_using" msgid="4947405226788104538">"Creați contactul\nutilizând <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="grant_credentials_permission_message_header" msgid="2106103817937859662">"Următoarele aplicații solicită permisiunea de a accesa contul dvs. acum și în viitor."</string>
<string name="grant_credentials_permission_message_footer" msgid="3125211343379376561">"Permiteți această solicitare?"</string>
<string name="grant_permissions_header_text" msgid="6874497408201826708">"Solicitare de acces"</string>
<string name="allow" msgid="7225948811296386551">"Permiteți"</string>
- <string name="deny" msgid="2081879885755434506">"Refuzaţi"</string>
+ <string name="deny" msgid="2081879885755434506">"Refuzați"</string>
<string name="permission_request_notification_title" msgid="6486759795926237907">"Permisiune solicitată"</string>
<string name="permission_request_notification_with_subtitle" msgid="8530393139639560189">"Permisiune solicitată\npentru contul <xliff:g id="ACCOUNT">%s</xliff:g>."</string>
<string name="forward_intent_to_owner" msgid="1207197447013960896">"Utilizați această aplicație în afara profilului de serviciu"</string>
@@ -1149,29 +1144,29 @@
<string name="sync_binding_label" msgid="3687969138375092423">"Sincronizare"</string>
<string name="accessibility_binding_label" msgid="4148120742096474641">"Accesibilitate"</string>
<string name="wallpaper_binding_label" msgid="1240087844304687662">"Imagine de fundal"</string>
- <string name="chooser_wallpaper" msgid="7873476199295190279">"Modificaţi imaginea de fundal"</string>
+ <string name="chooser_wallpaper" msgid="7873476199295190279">"Modificați imaginea de fundal"</string>
<string name="notification_listener_binding_label" msgid="2014162835481906429">"Serviciu de citire a notificărilor"</string>
<string name="condition_provider_service_binding_label" msgid="1321343352906524564">"Furnizor de condiții"</string>
<string name="notification_assistant_binding_label" msgid="909456055569102952">"Asistent pentru notificări"</string>
<string name="vpn_title" msgid="19615213552042827">"VPN activat"</string>
<string name="vpn_title_long" msgid="6400714798049252294">"VPN este activată de <xliff:g id="APP">%s</xliff:g>"</string>
- <string name="vpn_text" msgid="3011306607126450322">"Atingeți pentru a gestiona reţeaua."</string>
- <string name="vpn_text_long" msgid="6407351006249174473">"Conectat la <xliff:g id="SESSION">%s</xliff:g>. Atingeți pentru a gestiona reţeaua."</string>
- <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Se efectuează conectarea la reţeaua VPN activată permanent…"</string>
- <string name="vpn_lockdown_connected" msgid="8202679674819213931">"Conectat(ă) la reţeaua VPN activată permanent"</string>
+ <string name="vpn_text" msgid="3011306607126450322">"Atingeți pentru a gestiona rețeaua."</string>
+ <string name="vpn_text_long" msgid="6407351006249174473">"Conectat la <xliff:g id="SESSION">%s</xliff:g>. Atingeți pentru a gestiona rețeaua."</string>
+ <string name="vpn_lockdown_connecting" msgid="6443438964440960745">"Se efectuează conectarea la rețeaua VPN activată permanent…"</string>
+ <string name="vpn_lockdown_connected" msgid="8202679674819213931">"Conectat(ă) la rețeaua VPN activată permanent"</string>
<string name="vpn_lockdown_error" msgid="6009249814034708175">"Eroare de rețea VPN activată permanent"</string>
<string name="vpn_lockdown_config" msgid="6415899150671537970">"Atingeți pentru a configura"</string>
<string name="upload_file" msgid="2897957172366730416">"Alegeți un fișier"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Nu au fost găsite fișiere"</string>
- <string name="reset" msgid="2448168080964209908">"Resetaţi"</string>
+ <string name="reset" msgid="2448168080964209908">"Resetați"</string>
<string name="submit" msgid="1602335572089911941">"Trimiteți"</string>
- <string name="car_mode_disable_notification_title" msgid="3164768212003864316">"Mod Maşină activat"</string>
- <string name="car_mode_disable_notification_message" msgid="8035230537563503262">"Atingeți pentru a ieşi din modul Maşină."</string>
+ <string name="car_mode_disable_notification_title" msgid="3164768212003864316">"Mod Mașină activat"</string>
+ <string name="car_mode_disable_notification_message" msgid="8035230537563503262">"Atingeți pentru a ieşi din modul Mașină."</string>
<string name="tethered_notification_title" msgid="3146694234398202601">"Tethering sau hotspot activ"</string>
<string name="tethered_notification_message" msgid="6857031760103062982">"Atingeți pentru a configura."</string>
<string name="back_button_label" msgid="2300470004503343439">"Înapoi"</string>
<string name="next_button_label" msgid="1080555104677992408">"Înainte"</string>
- <string name="skip_button_label" msgid="1275362299471631819">"Omiteţi"</string>
+ <string name="skip_button_label" msgid="1275362299471631819">"Omiteți"</string>
<string name="no_matches" msgid="8129421908915840737">"Nicio potrivire"</string>
<string name="find_on_page" msgid="1946799233822820384">"Găsiți pe pagină"</string>
<plurals name="matches_found" formatted="false" msgid="1210884353962081884">
@@ -1192,8 +1187,8 @@
<string name="gpsNotifMessage" msgid="1374718023224000702">"Solicitat de <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
<string name="gpsVerifYes" msgid="2346566072867213563">"Da"</string>
<string name="gpsVerifNo" msgid="1146564937346454865">"Nu"</string>
- <string name="sync_too_many_deletes" msgid="5296321850662746890">"Limita pentru ştergere a fost depăşită"</string>
- <string name="sync_too_many_deletes_desc" msgid="496551671008694245">"Există <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> (de) elemente şterse pentru <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, contul <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Ce doriți să faceți?"</string>
+ <string name="sync_too_many_deletes" msgid="5296321850662746890">"Limita pentru ștergere a fost depășită"</string>
+ <string name="sync_too_many_deletes_desc" msgid="496551671008694245">"Există <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> (de) elemente șterse pentru <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, contul <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Ce doriți să faceți?"</string>
<string name="sync_really_delete" msgid="2572600103122596243">"Ștergeți elementele"</string>
<string name="sync_undo_deletes" msgid="2941317360600338602">"Anulați aceste ştergeri"</string>
<string name="sync_do_nothing" msgid="3743764740430821845">"Nu trebuie să luați nicio măsură deocamdată"</string>
@@ -1203,13 +1198,13 @@
<string name="number_picker_increment_button" msgid="2412072272832284313">"Creșteți"</string>
<string name="number_picker_decrement_button" msgid="476050778386779067">"Reduceți"</string>
<string name="number_picker_increment_scroll_mode" msgid="3073101067441638428">"Atingeți și țineți apăsat <xliff:g id="VALUE">%s</xliff:g>."</string>
- <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Glisaţi în sus pentru a creşte și în jos pentru a reduce."</string>
+ <string name="number_picker_increment_scroll_action" msgid="9101473045891835490">"Glisați în sus pentru a crește și în jos pentru a reduce."</string>
<string name="time_picker_increment_minute_button" msgid="8865885114028614321">"Creșteți valoarea pentru minute"</string>
<string name="time_picker_decrement_minute_button" msgid="6246834937080684791">"Reduceți valoarea pentru minute"</string>
<string name="time_picker_increment_hour_button" msgid="3652056055810223139">"Creșteți valoarea pentru oră"</string>
<string name="time_picker_decrement_hour_button" msgid="1377479863429214792">"Reduceți valoarea pentru oră"</string>
- <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Setaţi valoarea PM"</string>
- <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Setaţi valoarea AM"</string>
+ <string name="time_picker_increment_set_pm_button" msgid="4147590696151230863">"Setați valoarea PM"</string>
+ <string name="time_picker_decrement_set_am_button" msgid="8302140353539486752">"Setați valoarea AM"</string>
<string name="date_picker_increment_month_button" msgid="5369998479067934110">"Creșteți valoarea pentru lună"</string>
<string name="date_picker_decrement_month_button" msgid="1832698995541726019">"Reduceți valoarea pentru lună"</string>
<string name="date_picker_increment_day_button" msgid="7130465412308173903">"Creșteți valoarea pentru zi"</string>
@@ -1230,11 +1225,11 @@
<string name="shareactionprovider_share_with" msgid="806688056141131819">"Permiteți accesul pentru"</string>
<string name="shareactionprovider_share_with_application" msgid="5627411384638389738">"Permiteți accesul pentru <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
<string name="content_description_sliding_handle" msgid="415975056159262248">"Mâner glisant. Atingeți și țineți apăsat."</string>
- <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Glisaţi pentru a debloca."</string>
- <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Conectaţi un set căşti-microfon pentru a auzi tastele apăsate când introduceţi parola."</string>
+ <string name="description_target_unlock_tablet" msgid="3833195335629795055">"Glisați pentru a debloca."</string>
+ <string name="keyboard_headset_required_to_hear_password" msgid="7011927352267668657">"Conectați un set căști-microfon pentru a auzi tastele apăsate când introduceți parola."</string>
<string name="keyboard_password_character_no_headset" msgid="2859873770886153678">"Punct."</string>
- <string name="action_bar_home_description" msgid="5293600496601490216">"Navigaţi la ecranul de pornire"</string>
- <string name="action_bar_up_description" msgid="2237496562952152589">"Navigaţi în sus"</string>
+ <string name="action_bar_home_description" msgid="5293600496601490216">"Navigați la ecranul de pornire"</string>
+ <string name="action_bar_up_description" msgid="2237496562952152589">"Navigați în sus"</string>
<string name="action_menu_overflow_description" msgid="2295659037509008453">"Mai multe opțiuni"</string>
<string name="action_bar_home_description_format" msgid="7965984360903693903">"%1$s, %2$s"</string>
<string name="action_bar_home_subtitle_description_format" msgid="6985546530471780727">"%1$s, %2$s, %3$s"</string>
@@ -1257,7 +1252,7 @@
<string name="data_usage_mobile_limit_snoozed_title" msgid="4941346653729943789">"Limită de date mobile depășită"</string>
<string name="data_usage_wifi_limit_snoozed_title" msgid="8743856006384825974">"S-a depăşit limita de date Wi-Fi"</string>
<string name="data_usage_limit_snoozed_body" msgid="7035490278298441767">"<xliff:g id="SIZE">%s</xliff:g> peste limita specificată."</string>
- <string name="data_usage_restricted_title" msgid="5965157361036321914">"Datele de fundal restricţionate"</string>
+ <string name="data_usage_restricted_title" msgid="5965157361036321914">"Datele de fundal restricționate"</string>
<string name="data_usage_restricted_body" msgid="6741521330997452990">"Atingeți pt. a elimina limita."</string>
<string name="ssl_certificate" msgid="6510040486049237639">"Certificat de securitate"</string>
<string name="ssl_certificate_is_valid" msgid="6825263250774569373">"Certificatul este valid."</string>
@@ -1312,21 +1307,21 @@
<string name="kg_wrong_password" msgid="2333281762128113157">"Parolă greșită"</string>
<string name="kg_wrong_pin" msgid="1131306510833563801">"Cod PIN greşit"</string>
<string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"Încercați din nou peste <xliff:g id="NUMBER">%1$d</xliff:g> (de) secunde."</string>
- <string name="kg_pattern_instructions" msgid="398978611683075868">"Desenaţi modelul"</string>
- <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"Introduceţi codul PIN al cardului SIM"</string>
- <string name="kg_pin_instructions" msgid="2377242233495111557">"Introduceţi codul PIN"</string>
- <string name="kg_password_instructions" msgid="5753646556186936819">"Introduceţi parola"</string>
- <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"Cardul SIM este acum dezactivat. Introduceţi codul PUK pentru a continua. Contactaţi operatorul pentru mai multe detalii."</string>
- <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"Introduceţi codul PIN dorit"</string>
+ <string name="kg_pattern_instructions" msgid="398978611683075868">"Desenați modelul"</string>
+ <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"Introduceți codul PIN al cardului SIM"</string>
+ <string name="kg_pin_instructions" msgid="2377242233495111557">"Introduceți codul PIN"</string>
+ <string name="kg_password_instructions" msgid="5753646556186936819">"Introduceți parola"</string>
+ <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"Cardul SIM este acum dezactivat. Introduceți codul PUK pentru a continua. Contactați operatorul pentru mai multe detalii."</string>
+ <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"Introduceți codul PIN dorit"</string>
<string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"Confirmați codul PIN dorit"</string>
<string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"Se deblochează cardul SIM..."</string>
<string name="kg_password_wrong_pin_code" msgid="1139324887413846912">"Cod PIN incorect."</string>
- <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"Introduceţi un cod PIN format din 4 până la 8 cifre."</string>
+ <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"Introduceți un cod PIN format din 4 până la 8 cifre."</string>
<string name="kg_invalid_sim_puk_hint" msgid="6025069204539532000">"Codul PUK trebuie să conțină 8 numere."</string>
- <string name="kg_invalid_puk" msgid="3638289409676051243">"Reintroduceţi codul PUK corect. Încercările repetate vor dezactiva definitiv cardul SIM."</string>
+ <string name="kg_invalid_puk" msgid="3638289409676051243">"Reintroduceți codul PUK corect. Încercările repetate vor dezactiva definitiv cardul SIM."</string>
<string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"Codurile PIN nu coincid"</string>
<string name="kg_login_too_many_attempts" msgid="6486842094005698475">"Prea multe încercări de desenare a modelului"</string>
- <string name="kg_login_instructions" msgid="1100551261265506448">"Pentru a debloca, conectaţi-vă cu Contul dvs. Google."</string>
+ <string name="kg_login_instructions" msgid="1100551261265506448">"Pentru a debloca, conectați-vă cu Contul dvs. Google."</string>
<string name="kg_login_username_hint" msgid="5718534272070920364">"Nume de utilizator (e-mail)"</string>
<string name="kg_login_password_hint" msgid="9057289103827298549">"Parolă"</string>
<string name="kg_login_submit_button" msgid="5355904582674054702">"Conectați-vă"</string>
@@ -1336,17 +1331,17 @@
<string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"Ați introdus incorect codul PIN de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori.\n\nÎncercați din nou peste <xliff:g id="NUMBER_1">%2$d</xliff:g> (de) secunde."</string>
<string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"Ați introdus incorect parola de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori. \n\nÎncercați din nou peste <xliff:g id="NUMBER_1">%2$d</xliff:g> (de) secunde."</string>
<string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"Ați desenat incorect modelul pentru deblocare de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori. \n\nÎncercați din nou peste <xliff:g id="NUMBER_1">%2$d</xliff:g> (de) secunde."</string>
- <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"Ați efectuat <xliff:g id="NUMBER_0">%1$d</xliff:g> încercări incorecte de deblocare a tabletei. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereuşite, aceasta va fi resetată la setările prestabilite din fabrică, iar toate datele de utilizator se vor pierde."</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"Ați efectuat <xliff:g id="NUMBER_0">%1$d</xliff:g> încercări incorecte de deblocare a tabletei. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereușite, aceasta va fi resetată la setările prestabilite din fabrică, iar toate datele de utilizator se vor pierde."</string>
<string name="kg_failed_attempts_almost_at_wipe" product="tv" msgid="5621231220154419413">"Ați efectuat <xliff:g id="NUMBER_0">%1$d</xliff:g> încercări incorecte de deblocare a televizorului. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereușite, televizorul va reveni la setările prestabilite din fabrică, iar toate datele de utilizator se vor pierde."</string>
- <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"Ați efectuat <xliff:g id="NUMBER_0">%1$d</xliff:g> încercări incorecte de deblocare a telefonului. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereuşite, acesta va fi resetat la setările prestabilite din fabrică, iar toate datele de utilizator se vor pierde."</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"Ați efectuat <xliff:g id="NUMBER_0">%1$d</xliff:g> încercări incorecte de deblocare a telefonului. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereușite, acesta va fi resetat la setările prestabilite din fabrică, iar toate datele de utilizator se vor pierde."</string>
<string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2072996269148483637">"Ați efectuat <xliff:g id="NUMBER">%d</xliff:g> încercări incorecte de deblocare a tabletei. Tableta va fi acum resetată la setările prestabilite din fabrică."</string>
<string name="kg_failed_attempts_now_wiping" product="tv" msgid="4987878286750741463">"Ați efectuat <xliff:g id="NUMBER">%d</xliff:g> încercări incorecte de deblocare a televizorului. Televizorul va reveni acum la setările prestabilite din fabrică."</string>
<string name="kg_failed_attempts_now_wiping" product="default" msgid="4817627474419471518">"Ați efectuat <xliff:g id="NUMBER">%d</xliff:g> încercări incorecte de deblocare a telefonului. Telefonul va fi acum resetat la setările prestabilite din fabrică."</string>
- <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Ați desenat incorect modelul pentru deblocare de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereuşite, vi se va solicita să deblocați tableta cu ajutorul unui cont de e-mail.\n\n Încercați din nou peste <xliff:g id="NUMBER_2">%3$d</xliff:g> (de) secunde."</string>
+ <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Ați desenat incorect modelul pentru deblocare de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereușite, vi se va solicita să deblocați tableta cu ajutorul unui cont de e-mail.\n\n Încercați din nou peste <xliff:g id="NUMBER_2">%3$d</xliff:g> (de) secunde."</string>
<string name="kg_failed_attempts_almost_at_login" product="tv" msgid="4224651132862313471">"Ați desenat incorect modelul pentru deblocare de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereușite, vi se va solicita să deblocați televizorul cu ajutorul unui cont de e-mail.\n\n Încercați din nou peste <xliff:g id="NUMBER_2">%3$d</xliff:g> (de) secunde."</string>
- <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Ați desenat incorect modelul pentru deblocare de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereuşite, vi se va solicita să deblocați telefonul cu ajutorul unui cont de e-mail.\n\n Încercați din nou peste <xliff:g id="NUMBER_2">%3$d</xliff:g> (de) secunde."</string>
+ <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Ați desenat incorect modelul pentru deblocare de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereușite, vi se va solicita să deblocați telefonul cu ajutorul unui cont de e-mail.\n\n Încercați din nou peste <xliff:g id="NUMBER_2">%3$d</xliff:g> (de) secunde."</string>
<string name="kg_text_message_separator" product="default" msgid="4160700433287233771">" — "</string>
- <string name="kg_reordering_delete_drop_target_text" msgid="7899202978204438708">"Eliminaţi"</string>
+ <string name="kg_reordering_delete_drop_target_text" msgid="7899202978204438708">"Eliminați"</string>
<string name="safe_media_volume_warning" product="default" msgid="2276318909314492312">"Ridicați volumul mai sus de nivelul recomandat?\n\nAscultarea la volum ridicat pe perioade lungi de timp vă poate afecta auzul."</string>
<string name="continue_to_enable_accessibility" msgid="1626427372316070258">"Mențineți două degete pe ecran pentru a activa accesibilitatea."</string>
<string name="accessibility_enabled" msgid="1381972048564547685">"S-a activat accesibilitatea."</string>
@@ -1562,8 +1557,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> selectate</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> selectat</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Diverse"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Dvs. setați importanța acestor notificări."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Notificarea este importantă având în vedere persoanele implicate."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Permiteți ca <xliff:g id="APP">%1$s</xliff:g> să creeze un nou utilizator folosind <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Permiteți ca <xliff:g id="APP">%1$s</xliff:g> să creeze un nou utilizator folosind <xliff:g id="ACCOUNT">%2$s</xliff:g>? (există deja un utilizator cu acest cont)"</string>
@@ -1584,7 +1579,7 @@
<string name="user_encrypted_message" msgid="4923292604515744267">"Atingeți pentru a debloca"</string>
<string name="user_encrypted_detail" msgid="5708447464349420392">"Datele utilizatorului: blocate"</string>
<string name="profile_encrypted_detail" msgid="3700965619978314974">"Profil de serviciu blocat"</string>
- <string name="profile_encrypted_message" msgid="6964994232310195874">"Atingeți ca să deblocați profilul de serviciu"</string>
+ <string name="profile_encrypted_message" msgid="6964994232310195874">"Atingeți ca să deblocați"</string>
<string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"Conectat la <xliff:g id="PRODUCT_NAME">%1$s</xliff:g>"</string>
<string name="usb_mtp_launch_notification_description" msgid="8541876176425411358">"Atingeți pentru a vedea fișierele"</string>
<string name="pin_target" msgid="3052256031352291362">"Fixați"</string>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index 8ed321f..44011cf 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -929,7 +929,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Сбросить и перезапустить"</string>
<string name="aerr_report" msgid="5371800241488400617">"Отправить отзыв"</string>
<string name="aerr_close" msgid="2991640326563991340">"Закрыть"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Скрыть"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Отключить до перезагрузки устройства"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Подождать"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Закрыть приложение"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1069,16 +1069,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Нажмите, чтобы настроить."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Отладка по USB разрешена"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Нажмите, чтобы отключить отладку по USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Разрешить доступ к информации об ошибке?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Отправка отчета об ошибке"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Администратор запросил отчет об ошибке, чтобы устранить неполадку. Он может получить доступ к приложениям и данным. Возможно временное снижение скорости работы вашего устройства."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Администратор запросил отчет об ошибке, чтобы устранить неполадку. Он может получить доступ к приложениям и данным."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Скорость работы устройства может быть временно снижена."</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ПРИНЯТЬ"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ОТКЛОНИТЬ"</string>
<string name="select_input_method" msgid="8547250819326693584">"Выбор раскладки"</string>
@@ -1581,8 +1576,8 @@
<item quantity="many">Выбрано: <xliff:g id="COUNT_1">%1$d</xliff:g></item>
<item quantity="other">Выбрано: <xliff:g id="COUNT_1">%1$d</xliff:g></item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Другое"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Вы определяете важность этих уведомлений."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Важное (люди)"</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Разрешить приложению \"<xliff:g id="APP">%1$s</xliff:g>\" создать пользователя для аккаунта <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Разрешить приложению \"<xliff:g id="APP">%1$s</xliff:g>\" создать нового пользователя для аккаунта <xliff:g id="ACCOUNT">%2$s</xliff:g> (пользователь c таким аккаунтом уже есть)?"</string>
diff --git a/core/res/res/values-si-rLK/strings.xml b/core/res/res/values-si-rLK/strings.xml
index ee0afad..a3e1994 100644
--- a/core/res/res/values-si-rLK/strings.xml
+++ b/core/res/res/values-si-rLK/strings.xml
@@ -919,7 +919,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"යෙදුම නැවත සකසා නැවත ආරම්භ කරන්න"</string>
<string name="aerr_report" msgid="5371800241488400617">"ප්රතිපෝෂණය යවන්න"</string>
<string name="aerr_close" msgid="2991640326563991340">"වසන්න"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"නිහඬ කරන්න"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"උපාංගය නැවත ආරම්භ වන තෙක් නිහඬ කරන්න"</string>
<string name="aerr_wait" msgid="3199956902437040261">"රැඳී සිටින්න"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"යෙදුම වසන්න"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1055,16 +1055,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"වඩා වැඩි විකල්ප සඳහා ස්පර්ශ කරන්න."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB නිදොස්කරණය සම්බන්ධිතයි"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB නිදොස්කරණය අබල කිරීමට ස්පර්ශ කරන්න."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"දෝෂ වාර්තාව බෙදා ගන්නද?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"දෝෂ වාර්තාවක් බෙදා ගනිමින්..."</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"මෙම උපාංගය දෝෂාවේක්ෂණය සඳහා උදවු කිරීමට ඔබේ IT පරිපාලක දෝෂ වාර්තාවක් ඉල්ලා ඇත. යෙදුම් සහ දත්ත බෙදා ගත හැකි අතර ඔබේ උපාංගය තාවකාලිකව මන්දගාමී විය හැකිය."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"මෙම උපාංගය දෝෂාවේක්ෂණය සඳහා උදවු කිරීමට ඔබේ IT පරිපාලක දෝෂ වාර්තාවක් ඉල්ලා ඇත. යෙදුම් සහ දත්ත බෙදා ගත හැකිය."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"මෙය ඔබේ උපාංගය තාවකාලිකව මන්දගාමී කළ හැකිය"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"පිළිගන්න"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ප්රතික්ෂේප කරන්න"</string>
<string name="select_input_method" msgid="8547250819326693584">"යතුරු පුවරු වෙනස් කිරීම"</string>
@@ -1545,8 +1540,7 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ක් තෝරන ලදි</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ක් තෝරන ලදි</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"විවිධාකාර"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"ඔබ මෙම දැනුම්දීම්වල වැදගත්කම සකසා ඇත."</string>
+ <string name="importance_from_user" msgid="7318955817386549931">"ඔබ මෙම දැනුම්දීම්වල වැදගත්කම සකසා ඇත."</string>
<string name="importance_from_person" msgid="9160133597262938296">"සම්බන්ධ වූ පුද්ගලයන් නිසා මෙය වැදගත් වේ."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g> හට <xliff:g id="ACCOUNT">%2$s</xliff:g> සමගින් නව පරිශීලකයෙකු සෑදීමට ඉඩ දෙන්නද?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="APP">%1$s</xliff:g> හට <xliff:g id="ACCOUNT">%2$s</xliff:g> සමගින් නව පරිශීලකයෙකු සෑදීමට ඉඩ දෙන්නද (මෙම ගිණුම සහිත පරිශීලකයෙකු දැනටමත් සිටී) ?"</string>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index 88e3939..e41f0b1 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -929,7 +929,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Resetovať a reštartovať aplikáciu"</string>
<string name="aerr_report" msgid="5371800241488400617">"Odoslať spätnú väzbu"</string>
<string name="aerr_close" msgid="2991640326563991340">"Zavrieť"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Ignorovať"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Ignorovať do reštartu zariadenia"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Čakať"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Zavrieť aplikáciu"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1069,16 +1069,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Ďalšie možnosti zobrazíte klepnutím."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Ladenie cez USB pripojené"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Klepnutím zakážete ladenie cez USB"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Chcete zdieľať hlásenie chyby?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Zdieľa sa hlásenie chyby…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Správca IT si vyžiadal hlásenie chyby, aby mohol vyriešiť problém na tomto zariadení. Aplikácie a dáta môžu byť zdieľané. Môže to dočasne spomaliť vaše zariadenie."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Správca IT si vyžiadal hlásenie chyby, aby mohol vyriešiť problém na tomto zariadení. Aplikácie a dáta môžu byť zdieľané."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Môže to dočasne spomaliť vaše zariadenie."</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"PRIJAŤ"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ODMIETNUŤ"</string>
<string name="select_input_method" msgid="8547250819326693584">"Zmeniť klávesnicu"</string>
@@ -1581,8 +1576,8 @@
<item quantity="other">Vybrané: <xliff:g id="COUNT_1">%1$d</xliff:g></item>
<item quantity="one">Vybrané: <xliff:g id="COUNT_0">%1$d</xliff:g></item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Rôzne"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Nastavili ste dôležitosť týchto upozornení."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Táto správa je dôležitá vzhľadom na osoby, ktorých sa to týka."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Povoliť aplikácii <xliff:g id="APP">%1$s</xliff:g> vytvoriť nového používateľa pomocou účtu <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Povoliť aplikácii <xliff:g id="APP">%1$s</xliff:g> vytvoriť nového používateľa pomocou účtu <xliff:g id="ACCOUNT">%2$s</xliff:g> (používateľ s týmto účtom už existuje)?"</string>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index e821a7f..0f0c0f7 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -929,7 +929,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Ponastavitev in vnovični zagon aplikacije"</string>
<string name="aerr_report" msgid="5371800241488400617">"Pošlji povratne informacije"</string>
<string name="aerr_close" msgid="2991640326563991340">"Zapri"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Prezri"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Prezri do vnovičnega zagona naprave"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Počakajte"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Zapri aplikacijo"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1069,16 +1069,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Za več možnosti se dotaknite."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Iskanje in odpravljanje napak USB je povezano"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Dotaknite se, če želite onemogočiti iskanje in odpravljanje napak prek vrat USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Želite poslati poročilo o napakah?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Pošiljanje poročila o napakah …"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Skrbnik za IT je zahteval poročilo o napakah za pomoč pri odpravljanju napak v tej napravi. Aplikacije in podatki bodo morda dani v skupno rabo in delovanje naprave bo morda začasno upočasnjeno."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Skrbnik za IT je zahteval poročilo o napakah za pomoč pri odpravljanju napak v tej napravi. Aplikacije in podatki bodo morda dani v skupno rabo."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"To bo morda začasno upočasnilo delovanje naprave"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"SPREJMEM"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"NE SPREJMEM"</string>
<string name="select_input_method" msgid="8547250819326693584">"Sprememba tipkovnice"</string>
@@ -1581,8 +1576,8 @@
<item quantity="few"><xliff:g id="COUNT_1">%1$d</xliff:g> izbrani</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> izbranih</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Razno"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Vi določite raven pomembnosti teh obvestil."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Pomembno zaradi udeleženih ljudi."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Dovolite, da aplikacija <xliff:g id="APP">%1$s</xliff:g> ustvari novega uporabnika za račun <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Dovolite aplikaciji <xliff:g id="APP">%1$s</xliff:g>, da ustvari novega uporabnika za račun <xliff:g id="ACCOUNT">%2$s</xliff:g> (uporabnik s tem računom že obstaja)?"</string>
diff --git a/core/res/res/values-sq-rAL/strings.xml b/core/res/res/values-sq-rAL/strings.xml
index ed2c066..a88ad0c 100644
--- a/core/res/res/values-sq-rAL/strings.xml
+++ b/core/res/res/values-sq-rAL/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Rivendos dhe rinis aplikacionin"</string>
<string name="aerr_report" msgid="5371800241488400617">"Dërgo komentin"</string>
<string name="aerr_close" msgid="2991640326563991340">"Mbyll"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Çaktivizo audion"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Vendose në heshtje deri kur të riniset pajisja"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Prit!"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Mbyll aplikacionin"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Prek për më shumë opsione."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Korrigjuesi i USB-së i lidhur"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Prek për të çaktivizuar korrigjimin e gabimeve të USB-së."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Të ndahet raporti i defektit në kod?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Po ndan raportin e defekteve në kod..."</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Administratori i teknologjisë së informacionit kërkoi një raport të defekteve në kod për të ndihmuar me zgjidhjen e problemeve. Aplikacioni dhe të dhënat mund të ndahen dhe kjo mund të ngadalësojë përkohësisht pajisjen tënde."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Administratori i teknologjisë së informacionit kërkoi një raport të defekteve në kod për të ndihmuar me zgjidhjen e problemeve. Aplikacioni dhe të dhënat mund të ndahen."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Kjo mund të ngadalësojë përkohësisht pajisjen tënde"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"PRANO"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"REFUZO"</string>
<string name="select_input_method" msgid="8547250819326693584">"Ndërro tastierë"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> të zgjedhura</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> i zgjedhur</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Të ndryshme"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Ke caktuar rëndësinë e këtyre njoftimeve."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Është i rëndësishëm për shkak të personave të përfshirë."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Dëshiron të lejosh <xliff:g id="APP">%1$s</xliff:g> që të krijojë një përdorues të ri me <xliff:g id="ACCOUNT">%2$s</xliff:g> ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Dëshiron të lejosh <xliff:g id="APP">%1$s</xliff:g> që të krijojë një përdorues të ri me <xliff:g id="ACCOUNT">%2$s</xliff:g> (një përdorues me këtë llogari ekziston tashmë) ?"</string>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index 2212c98..b6b0f40 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -923,7 +923,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Ресетуј и поново покрени апликацију"</string>
<string name="aerr_report" msgid="5371800241488400617">"Пошаљите повратне информације"</string>
<string name="aerr_close" msgid="2991640326563991340">"Затвори"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Игнориши"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Игнориши док се уређај не покрене поново"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Чекај"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Затвори апликацију"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1061,16 +1061,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Додирните за још опција."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Отклањање грешака са USB-а је успостављено"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Додирните да бисте онемогућили отклањање грешака са USB-а."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Желите ли да поделите извештај о грешци?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Дели се извештај о грешци…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"ИТ администратор је затражио извештај о грешци ради лакшег решавања проблема у вези са овим уређајем. Апликације и подаци могу да се деле, а уређај ће се привремено успорити."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"ИТ администратор је затражио извештај о грешци ради лакшег решавања проблема у вези са овим уређајем. Апликације и подаци могу да се деле."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Ово ће привремено успорити уређај"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ПРИХВАТИ"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ОДБИЈ"</string>
<string name="select_input_method" msgid="8547250819326693584">"Промените тастатуру"</string>
@@ -1562,8 +1557,8 @@
<item quantity="few">Изабране су <xliff:g id="COUNT_1">%1$d</xliff:g> ставке</item>
<item quantity="other">Изабрано је <xliff:g id="COUNT_1">%1$d</xliff:g> ставки</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Разно"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Ви подешавате важност ових обавештења."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Ово је важно због људи који учествују."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Желите ли да дозволите апликацији <xliff:g id="APP">%1$s</xliff:g> да направи новог корисника за <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Желите ли да дозволите апликацији <xliff:g id="APP">%1$s</xliff:g> да направи новог корисника за <xliff:g id="ACCOUNT">%2$s</xliff:g> (корисник са овим налогом већ постоји)?"</string>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 8483eaa..ec6ee0a 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Återställ och starta om appen"</string>
<string name="aerr_report" msgid="5371800241488400617">"Skicka feedback"</string>
<string name="aerr_close" msgid="2991640326563991340">"Stäng"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Dölj"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Ignorera tills enheten har startat om"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Vänta"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Stäng appen"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Visa fler alternativ genom att trycka."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB-felsökning ansluten"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Tryck om du vill inaktivera USB-felsökning."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Vill du dela felrapporten?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Felrapporten delas …"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"IT-administratören har bett om en felrapport som hjälp vid felsökningen av den här enheten. Appar och data kan komma att delas. Detta kan tillfälligt göra enheten långsammare."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"IT-administratören har bett om en felrapport som hjälp vid felsökningen av den här enheten. Appar och data kan komma att delas."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Detta kan tillfälligt göra enheten långsammare"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"GODKÄNN"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"AVVISA"</string>
<string name="select_input_method" msgid="8547250819326693584">"Byt tangentbord"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> har valts</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> har valts</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Diverse"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Du anger hur viktiga aviseringarna är."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Detta är viktigt på grund av personerna som deltar."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Tillåter du att <xliff:g id="APP">%1$s</xliff:g> skapar en ny användare för <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Tillåter du att <xliff:g id="APP">%1$s</xliff:g> skapar en ny användare för <xliff:g id="ACCOUNT">%2$s</xliff:g> (det finns redan en användare med det här kontot)?"</string>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index 8564764..3e1a6fe 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -919,7 +919,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Weka na uanzishe upya programu"</string>
<string name="aerr_report" msgid="5371800241488400617">"Tuma maoni yako"</string>
<string name="aerr_close" msgid="2991640326563991340">"Funga"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Komesha"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Komesha hadi kifaa kianze upya"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Subiri"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Funga programu"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1055,16 +1055,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Gusa kwa chaguo zaidi."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Utatuaji wa USB umeunganishwa"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Gusa ili uzime utatuaji wa USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Ungependa kushiriki ripoti ya hitilafu?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Inashiriki ripoti ya hitilafu…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Msimamizi wako wa Teknolojia ya Habari ameomba ripoti ya hitilafu ili kusaidia katika utatuzi wa kifaa hiki. Huenda hatua hii ikasababisha programu na data kushirikiwa na kupunguza kasi ya kifaa chako kwa muda."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Msimamizi wako wa IT ameomba ripoti ya hitilafu ili kusaidia katika utatuzi wa kifaa hiki. Programu na data zinaweza kushirikiwa."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Hatua hii inaweza kupunguza kasi ya kifaa chako kwa muda"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"KUBALI"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"KATAA"</string>
<string name="select_input_method" msgid="8547250819326693584">"Badilisha kibodi"</string>
@@ -1545,8 +1540,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> vimechaguliwa</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> kimechaguliwa</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Anuwai"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Uliweka umuhimu wa arifa hizi."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Hii ni muhimu kwa sababu ya watu waliohusika."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Ungependa kuruhusu <xliff:g id="APP">%1$s</xliff:g> iunde Mtumiaji mpya ikitumia <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Ungependa kuruhusu <xliff:g id="APP">%1$s</xliff:g> iunde Mtumiaji mpya ikitumia <xliff:g id="ACCOUNT">%2$s</xliff:g> (Je, akaunti hii tayari ina Mtumiaji)?"</string>
diff --git a/core/res/res/values-ta-rIN/strings.xml b/core/res/res/values-ta-rIN/strings.xml
index b5f3673..acc1094 100644
--- a/core/res/res/values-ta-rIN/strings.xml
+++ b/core/res/res/values-ta-rIN/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"பயன்பாட்டை மீட்டமைத்து மீண்டும் தொடங்கு"</string>
<string name="aerr_report" msgid="5371800241488400617">"கருத்து தெரிவி"</string>
<string name="aerr_close" msgid="2991640326563991340">"மூடு"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"முடக்கு"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"சாதனம் மீண்டும் தொடங்கும் வரை முடக்கு"</string>
<string name="aerr_wait" msgid="3199956902437040261">"காத்திரு"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"பயன்பாட்டை மூடு"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"கூடுதல் விருப்பங்களுக்காகத் தொடவும்."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB பிழைதிருத்தம் இணைக்கப்பட்டது"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB பிழைத்திருத்தத்தை முடக்க, தொடவும்."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"பிழை அறிக்கையைப் பகிரவா?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"பிழை அறிக்கையைப் பகிர்கிறது…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"இந்தச் சாதனத்தின் பிழைகாண்பதற்கு உதவ, உங்கள் ஐடி நிர்வாகி பிழை அறிக்கையைக் கோரியுள்ளார். பயன்பாடுகளும் தரவும் பகிரப்படலாம். தற்காலிகமாக சாதனத்தின் வேகம் குறையலாம்."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"இந்தச் சாதனத்தின் பிழைகாண்பதற்கு உதவ, உங்கள் ஐடி நிர்வாகி பிழை அறிக்கையைக் கோரியுள்ளார். பயன்பாடுகளும் தரவும் பகிரப்படலாம்."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"இது தற்காலிகமாக சாதனத்தின் வேகத்தைக் குறைக்கலாம்"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"சரி"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"வேண்டாம்"</string>
<string name="select_input_method" msgid="8547250819326693584">"விசைப்பலகையை மாற்று"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> தேர்ந்தெடுக்கப்பட்டன</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> தேர்ந்தெடுக்கப்பட்டது</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"இதர அமைப்பு"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"இந்த அறிவிப்புகளின் முக்கியத்துவத்தை அமைத்துள்ளீர்கள்."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"ஈடுபட்டுள்ளவர்களின் காரணமாக, இது முக்கியமானது."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="ACCOUNT">%2$s</xliff:g> மூலம் புதிய பயனரை உருவாக்க <xliff:g id="APP">%1$s</xliff:g>ஐ அனுமதிக்கவா?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="ACCOUNT">%2$s</xliff:g> (இந்தக் கணக்கில் ஏற்கனவே ஒரு பயனர் உள்ளார்) மூலம் புதிய பயனரை உருவாக்க <xliff:g id="APP">%1$s</xliff:g>ஐ அனுமதிக்கவா?"</string>
diff --git a/core/res/res/values-te-rIN/strings.xml b/core/res/res/values-te-rIN/strings.xml
index e7d0fa8..a552a2a 100644
--- a/core/res/res/values-te-rIN/strings.xml
+++ b/core/res/res/values-te-rIN/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"రీసెట్ చేసి, అనువర్తనాన్ని పునఃప్రారంభించు"</string>
<string name="aerr_report" msgid="5371800241488400617">"అభిప్రాయాన్ని పంపు"</string>
<string name="aerr_close" msgid="2991640326563991340">"మూసివేయి"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"మ్యూట్ చేయి"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"పరికరం పునఃప్రారంభమయ్యే వరకు మ్యూట్ చేయి"</string>
<string name="aerr_wait" msgid="3199956902437040261">"వేచి ఉండండి"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"అనువర్తనాన్ని మూసివేయి"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"మరిన్ని ఎంపికల కోసం తాకండి."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB డీబగ్గింగ్ కనెక్ట్ చేయబడింది"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB డీబగ్గింగ్ను నిలిపివేయడానికి తాకండి."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"బగ్ నివేదికను భాగస్వామ్యం చేయాలా?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"బగ్ నివేదికను భాగస్వామ్యం చేస్తోంది..."</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"మీ ఐటి నిర్వాహకులు ఈ పరికరం సమస్యకు పరిష్కారాన్ని కనుగొనడంలో సహాయం కోసం బగ్ నివేదికను అభ్యర్థించారు. అనువర్తనాలు మరియు డేటా భాగస్వామ్యం చేయబడవచ్చు మరియు మీ పరికరం పనితీరు తాత్కాలికంగా నెమ్మదించవచ్చు."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"మీ ఐటి నిర్వాహకులు ఈ పరికరం సమస్యకు పరిష్కారాన్ని కనుగొనడంలో సహాయం కోసం బగ్ నివేదికను అభ్యర్థించారు. అనువర్తనాలు మరియు డేటా భాగస్వామ్యం చేయబడవచ్చు."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"దీని వల్ల మీ పరికరం పనితీరు తాత్కాలికంగా నెమ్మదించవచ్చు"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ఆమోదిస్తున్నాను"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"తిరస్కరిస్తున్నాను"</string>
<string name="select_input_method" msgid="8547250819326693584">"కీబోర్డ్ను మార్చు"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ఎంచుకోబడ్డాయి</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ఎంచుకోబడింది</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"ఇతరాలు"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"మీరు ఈ నోటిఫికేషన్ల ప్రాముఖ్యతను సెట్ చేసారు."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"ఇందులో పేర్కొనబడిన వ్యక్తులను బట్టి ఇది చాలా ముఖ్యమైనది."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="ACCOUNT">%2$s</xliff:g>తో కొత్త వినియోగదారుని సృష్టించడానికి <xliff:g id="APP">%1$s</xliff:g>ని అనుమతించాలా ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="ACCOUNT">%2$s</xliff:g>తో (ఈ ఖాతాతో ఇప్పటికే ఒక వినియోగదారు ఉన్నారు) కొత్త వినియోగదారుని సృష్టించడానికి <xliff:g id="APP">%1$s</xliff:g>ని అనుమతించాలా?"</string>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index 8486c7be..ffc60e4 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"รีเซ็ตแอปและเปิดใหม่"</string>
<string name="aerr_report" msgid="5371800241488400617">"ส่งความคิดเห็น"</string>
<string name="aerr_close" msgid="2991640326563991340">"ปิด"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"ปิด"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"ปิดการแจ้งเตือนจนกว่าอุปกรณ์จะรีสตาร์ท"</string>
<string name="aerr_wait" msgid="3199956902437040261">"รอ"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"ปิดแอป"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"แตะเพื่อดูตัวเลือกเพิ่มเติม"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"เชื่อมต่อการแก้ไขข้อบกพร่อง USB แล้ว"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"แตะเพื่อปิดใช้งานการแก้ไขข้อบกพร่อง USB"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"แชร์รายงานข้อบกพร่องไหม"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"กำลังแชร์รายงานข้อบกพร่อง…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"ผู้ดูแลระบบไอทีของคุณขอรายงานข้อบกพร่องเพื่อช่วยในการแก้ปัญหาอุปกรณ์นี้ อาจมีการแชร์แอปและข้อมูล ซึ่งอาจทำให้อุปกรณ์ทำงานช้าลงชั่วคราว"</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"ผู้ดูแลระบบไอทีของคุณขอรายงานข้อบกพร่องเพื่อช่วยในการแก้ปัญหาอุปกรณ์นี้ อาจมีการแชร์แอปและข้อมูล"</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"การดำเนินการนี้อาจทำให้อุปกรณ์ทำงานช้าลงชั่วคราว"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ยอมรับ"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ปฏิเสธ"</string>
<string name="select_input_method" msgid="8547250819326693584">"เปลี่ยนแป้นพิมพ์"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other">เลือกไว้ <xliff:g id="COUNT_1">%1$d</xliff:g> รายการ</item>
<item quantity="one">เลือกไว้ <xliff:g id="COUNT_0">%1$d</xliff:g> รายการ</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"เบ็ดเตล็ด"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"คุณตั้งค่าความสำคัญของการแจ้งเตือนเหล่านี้"</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"ข้อความนี้สำคัญเนื่องจากบุคคลที่เกี่ยวข้อง"</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"อนุญาตให้ <xliff:g id="APP">%1$s</xliff:g> สร้างผู้ใช้ใหม่ด้วย <xliff:g id="ACCOUNT">%2$s</xliff:g> ไหม"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"อนุญาตให้ <xliff:g id="APP">%1$s</xliff:g> สร้างผู้ใช้ใหม่ด้วย <xliff:g id="ACCOUNT">%2$s</xliff:g> (มีผู้ใช้ที่มีบัญชีนี้อยู่แล้ว) ไหม"</string>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 70b32c7..5c04b85 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"I-reset at i-restart ang app"</string>
<string name="aerr_report" msgid="5371800241488400617">"Magpadala ng feedback"</string>
<string name="aerr_close" msgid="2991640326563991340">"Isara"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"I-mute"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"I-mute hanggang sa mag-restart ang device"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Maghintay"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Isara ang app"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Pindutin para sa higit pang mga opsyon."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Konektado ang debugging ng USB"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Pindutin upang i-disable ang pagde-debug ng USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Gusto mo bang ibahagi ang ulat ng bug?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Ibinabahagi ang ulat ng bug…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Humiling ang iyong IT admin ng isang ulat ng bug upang makatulong sa pag-troubleshoot sa device na ito. Maaaring ibahagi ang mga app at data at maaaring pansamantalang bumagal ang iyong device."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Humiling ang iyong IT admin ng isang ulat ng bug upang makatulong sa pag-troubleshoot sa device na ito. Maaaring ibahagi ang mga app at data."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Maaaring pansamantalang bumagal ang iyong device dahil dito"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"TANGGAPIN"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"TANGGIHAN"</string>
<string name="select_input_method" msgid="8547250819326693584">"Baguhin ang keyboard"</string>
@@ -1543,8 +1538,8 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> ang napili</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ang napili</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Iba Pa"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Ikaw ang magtatakda ng kahalagahan ng mga notification na ito."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Mahalaga ito dahil sa mga taong kasangkot."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Payagan ang <xliff:g id="APP">%1$s</xliff:g> na gumawa ng bagong User sa <xliff:g id="ACCOUNT">%2$s</xliff:g> ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Payagan ang <xliff:g id="APP">%1$s</xliff:g> na gumawa ng bagong User sa <xliff:g id="ACCOUNT">%2$s</xliff:g> (mayroon nang User sa account na ito) ?"</string>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index ee55277..f224ac7 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Uygulamayı sıfırla ve yeniden başlat"</string>
<string name="aerr_report" msgid="5371800241488400617">"Geri bildirim gönder"</string>
<string name="aerr_close" msgid="2991640326563991340">"Kapat"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Yok say"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Cihaz yeniden başlatılana kadar bir daha gösterme"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Bekle"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Uygulamayı kapat"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Daha fazla seçenek için dokunun."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB hata ayıklaması bağlandı"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB hata ayıklama özelliğini devre dışı bırakmak için dokunun."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Hata raporu paylaşılsın mı?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Hata raporu paylaşılıyor..."</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"BT yöneticiniz, bu cihazda sorun gidermeye yardımcı olması için bir hata raporu istedi. Uygulamalar ve veriler paylaşılabilir. Bu durum, cihazınızı geçici olarak yavaşlatabilir."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"BT yöneticiniz, bu cihazda sorun gidermeye yardımcı olması için bir hata raporu istedi. Uygulamalar ve veriler paylaşılabilir."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Bu durum, cihazınızı geçici olarak yavaşlatabilir"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"KABUL ET"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"REDDET"</string>
<string name="select_input_method" msgid="8547250819326693584">"Klavyeyi değiştir"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> öğe seçildi</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> öğe seçildi</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Çeşitli"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Bu bildirimlerin önem derecesini ayarladınız."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Bu, dahil olan kişiler nedeniyle önemlidir."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g> uygulamasının <xliff:g id="ACCOUNT">%2$s</xliff:g> hesabına sahip yeni bir Kullanıcı eklemesine izin verilsin mi?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="APP">%1$s</xliff:g> uygulamasının <xliff:g id="ACCOUNT">%2$s</xliff:g> hesabına sahip yeni bir Kullanıcı eklemesine izin verilsin mi (bu hesaba sahip bir kullanıcı zaten var)?"</string>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index f546d56..0a52011 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -929,7 +929,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Скинути та перезапустити додаток"</string>
<string name="aerr_report" msgid="5371800241488400617">"Надіслати відгук"</string>
<string name="aerr_close" msgid="2991640326563991340">"Закрити"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Вимкнути звук"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Вимкнути звук до перезавантаження пристрою"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Чекати"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Закрити додаток"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1069,16 +1069,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Торкніться, щоб побачити більше опцій."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Налагодження USB завершено"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Торкніться, щоб вимкнути налагодження USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Надіслати звіт про помилку?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Надсилається звіт про помилку…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Ваш IT-адміністратор просить надіслати повідомлення про помилку, щоб вирішити проблему з пристроєм. Він може отримати доступ до ваших додатків і даних. Це також може тимчасово сповільнити роботу вашого пристрою."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Ваш IT-адміністратор просить надіслати повідомлення про помилку, щоб вирішити проблему з пристроєм. Він може отримати доступ до ваших додатків і даних."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Це може тимчасово сповільнити роботу вашого пристрою"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"ПРИЙНЯТИ"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"ВІДХИЛИТИ"</string>
<string name="select_input_method" msgid="8547250819326693584">"Змінити клавіатуру"</string>
@@ -1581,8 +1576,8 @@
<item quantity="many">Вибрано <xliff:g id="COUNT_1">%1$d</xliff:g></item>
<item quantity="other">Вибрано <xliff:g id="COUNT_1">%1$d</xliff:g></item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Інше"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Ви вказуєте пріоритет цих сповіщень."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Важливе з огляду на учасників."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Дозволити додатку <xliff:g id="APP">%1$s</xliff:g> створити нового користувача з обліковим записом <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Дозволити додатку <xliff:g id="APP">%1$s</xliff:g> створити нового користувача з обліковим записом <xliff:g id="ACCOUNT">%2$s</xliff:g> (користувач із таким обліковим записом уже існує)?"</string>
diff --git a/core/res/res/values-ur-rPK/strings.xml b/core/res/res/values-ur-rPK/strings.xml
index 80d4c85..b4dac96 100644
--- a/core/res/res/values-ur-rPK/strings.xml
+++ b/core/res/res/values-ur-rPK/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"ایپ کو دوبارہ ترتیب دیں اور دوبارہ شروع کریں"</string>
<string name="aerr_report" msgid="5371800241488400617">"تاثرات بھیجیں"</string>
<string name="aerr_close" msgid="2991640326563991340">"بند کریں"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"خاموش کریں"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"آلہ دوبارہ اسٹارٹ ہونے تک خاموش رکھیں"</string>
<string name="aerr_wait" msgid="3199956902437040261">"انتظار کریں"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"ایپ بند کریں"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"مزید اختیارات کیلئے ٹچ کریں۔"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB ڈیبگ کرنا مربوط ہو گیا"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"USB ڈیبگنگ کو غیر فعال کرنے کیلئے ٹچ کریں۔"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"بگ رپورٹ کا اشتراک کریں؟"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"بگ رپورٹ کا اشتراک ہو رہا ہے…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"آپ کے IT منتظم نے اس آلہ کا مسئلہ حل کرنے میں مدد کیلئے ایک بگ رپورٹ کی درخواست کی ہے۔ ایپس اور ڈیٹا کا اشتراک ہو سکتا ہے اور آپ کا آلہ عارضی طور پر سست ہو سکتا ہے۔"</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"آپ کے IT منتظم نے اس آلہ کا مسئلہ حل کرنے میں مدد کیلئے ایک بگ رپورٹ کی درخواست کی ہے۔ ایپس اور ڈیٹا کا اشتراک ہو سکتا ہے۔"</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"اس سے آپ کا آلہ عارضی طور پر سست ہو سکتا ہے"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"قبول کریں"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"مسترد کریں"</string>
<string name="select_input_method" msgid="8547250819326693584">"کی بورڈ تبدیل کریں"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> منتخب کردہ</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> منتخب کردہ</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"متفرقات"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"ان اطلاعات کی اہمیت آپ مقرر کرتے ہیں۔"</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"اس میں موجود لوگوں کی وجہ سے یہ اہم ہے۔"</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g> کو <xliff:g id="ACCOUNT">%2$s</xliff:g> کے ساتھ ایک نیا صارف بنانے کی اجازت دیں؟"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="APP">%1$s</xliff:g> کو <xliff:g id="ACCOUNT">%2$s</xliff:g> کے ساتھ ایک نیا صارف بنانے کی اجازت دیں (اس اکاؤنٹ کے ساتھ ایک صارف پہلے سے موجود ہے) ؟"</string>
diff --git a/core/res/res/values-uz-rUZ/strings.xml b/core/res/res/values-uz-rUZ/strings.xml
index 8b5e230..5f56c64 100644
--- a/core/res/res/values-uz-rUZ/strings.xml
+++ b/core/res/res/values-uz-rUZ/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Ilovani qayta tiklash va qayta ishga tushirish"</string>
<string name="aerr_report" msgid="5371800241488400617">"Fikr-mulohaza yuborish"</string>
<string name="aerr_close" msgid="2991640326563991340">"Yopish"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"E’tiborsiz qoldirish"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Qurilma o‘chirib yoqilguncha e’tiborsiz qoldirish"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Kuting"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Ilovani yopish"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -998,7 +998,7 @@
<string name="wifi_p2p_dialog_title" msgid="97611782659324517">"Wi-Fi Direct"</string>
<string name="wifi_p2p_turnon_message" msgid="2909250942299627244">"Wi-Fi Direct’ni ishga tushirish. Bu Wi-Fi mijoz/ulanish nuqtasini o‘chiradi."</string>
<string name="wifi_p2p_failed_message" msgid="3763669677935623084">"Wi-Fi Direct ishga tushirilmadi."</string>
- <string name="wifi_p2p_enabled_notification_title" msgid="2068321881673734886">"Wi-Fi Direct yoqilgan"</string>
+ <string name="wifi_p2p_enabled_notification_title" msgid="2068321881673734886">"Wi-Fi Direct yoniq"</string>
<string name="wifi_p2p_enabled_notification_message" msgid="1638949953993894335">"Sozlamalarga kirish uchun bosing"</string>
<string name="accept" msgid="1645267259272829559">"Qabul qilish"</string>
<string name="decline" msgid="2112225451706137894">"Rad qilish"</string>
@@ -1019,7 +1019,7 @@
<string name="sms_short_code_confirm_message" msgid="1645436466285310855">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEST_ADDRESS">%2$s</xliff:g></b>ga xabar jo‘natishni xohlaydi."</string>
<string name="sms_short_code_details" msgid="5873295990846059400">"Bunda, mobil hisobingizdan "<b>"to‘lov olinishi mumkin"</b>"."</string>
<string name="sms_premium_short_code_details" msgid="7869234868023975"><b>"Bunda, mobil hisobingizdan to‘lov olinishi mumkin."</b></string>
- <string name="sms_short_code_confirm_allow" msgid="4458878637111023413">"Jo‘natish"</string>
+ <string name="sms_short_code_confirm_allow" msgid="4458878637111023413">"Yuborish"</string>
<string name="sms_short_code_confirm_deny" msgid="2927389840209170706">"Bekor qilish"</string>
<string name="sms_short_code_remember_choice" msgid="5289538592272218136">"Tanlovim eslab qolinsin"</string>
<string name="sms_short_code_remember_undo_instruction" msgid="4960944133052287484">"Siz buni keyinroq sozlamalar > ilovalar menusidan o‘zgartirishingiz mumkin"</string>
@@ -1053,16 +1053,13 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Sozlash uchun bosing."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"USB orqali nosozliklarni tuzatish"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"O‘chirib qo‘yish uchun bosing."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Xatoliklar hisoboti yuborilsinmi?"</string>
+ <!-- no translation found for sharing_remote_bugreport_notification_title (7572089031496651372) -->
<skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
+ <!-- no translation found for share_remote_bugreport_notification_message (752583906074230920) -->
<skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Administratoringiz bu qurilma nosozliklarini tuzatish uchun xatoliklar hisobotini so‘ramoqda. Ilova va ma’lumotlardan foydalanilishi mumkin."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Bu vaqtincha qurilmangizni sekinlashtirishi mumkin"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"QABUL QILISH"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"RAD ETISH"</string>
<string name="select_input_method" msgid="8547250819326693584">"Klaviaturani o‘zgartirish"</string>
@@ -1121,7 +1118,7 @@
<string name="gadget_host_error_inflating" msgid="4882004314906466162">"Vidjet qo‘shilmadi."</string>
<string name="ime_action_go" msgid="8320845651737369027">"O‘tish"</string>
<string name="ime_action_search" msgid="658110271822807811">"Qidirish"</string>
- <string name="ime_action_send" msgid="2316166556349314424">"Jo‘natish"</string>
+ <string name="ime_action_send" msgid="2316166556349314424">"Yuborish"</string>
<string name="ime_action_next" msgid="3138843904009813834">"Keyingi"</string>
<string name="ime_action_done" msgid="8971516117910934605">"Tayyor"</string>
<string name="ime_action_previous" msgid="1443550039250105948">"Old."</string>
@@ -1156,7 +1153,7 @@
<string name="upload_file" msgid="2897957172366730416">"Faylni tanlash"</string>
<string name="no_file_chosen" msgid="6363648562170759465">"Hech qanday fayl tanlanmadi"</string>
<string name="reset" msgid="2448168080964209908">"Tiklash"</string>
- <string name="submit" msgid="1602335572089911941">"Jo‘natish"</string>
+ <string name="submit" msgid="1602335572089911941">"Yuborish"</string>
<string name="car_mode_disable_notification_title" msgid="3164768212003864316">"Mashina usuli yoqilgan"</string>
<string name="car_mode_disable_notification_message" msgid="8035230537563503262">"Avtomashina rejimidan chiqish uchun bosing."</string>
<string name="tethered_notification_title" msgid="3146694234398202601">"Modem rejimi yoniq"</string>
@@ -1543,8 +1540,8 @@
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> ta tanlandi</item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> ta tanlandi</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Boshqa belgilar"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Siz ushbu bildirishnomalarning muhimligini belgilagansiz."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Bu odamlar siz uchun muhim."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"<xliff:g id="APP">%1$s</xliff:g> ilovasiga <xliff:g id="ACCOUNT">%2$s</xliff:g> hisobi bilan yangi foydalanuvchi yaratishiga ruxsat berilsinmi ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"<xliff:g id="APP">%1$s</xliff:g> ilovasiga <xliff:g id="ACCOUNT">%2$s</xliff:g> hisobi bilan yangi foydalanuvchi yaratishiga ruxsat berilsinmi (bunday hisobdagi foydalanuvchi allaqachon mavjud) ?"</string>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index 7d4e43f..e5c6562 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Đặt lại và khởi động lại ứng dụng"</string>
<string name="aerr_report" msgid="5371800241488400617">"Gửi phản hồi"</string>
<string name="aerr_close" msgid="2991640326563991340">"Đóng"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Bỏ qua"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Tắt tiếng cho đến khi thiết bị khởi động lại"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Đợi"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Đóng ứng dụng"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Chạm để có các tùy chọn khác."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Gỡ lỗi USB đã được kết nối"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Chạm để vô hiệu hóa gỡ lỗi USB."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Chia sẻ báo cáo lỗi?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Đang chia sẻ báo cáo lỗi…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Quản trị viên CNTT của bạn đã yêu cầu báo cáo lỗi để giúp khắc phục sự cố thiết bị này. Bạn có thể chia sẻ ứng dụng, đồng thời dữ liệu và thiết bị của bạn tạm thời có thể bị chậm."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Quản trị viên CNTT của bạn đã yêu cầu báo cáo lỗi để giúp khắc phục sự cố thiết bị này. Bạn có thể chia sẻ ứng dụng và dữ liệu."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Tác vụ này tạm thời có thể làm chậm thiết bị của bạn"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"CHẤP NHẬN"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"TỪ CHỐI"</string>
<string name="select_input_method" msgid="8547250819326693584">"Thay đổi bàn phím"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other">Đã chọn <xliff:g id="COUNT_1">%1$d</xliff:g></item>
<item quantity="one">Đã chọn <xliff:g id="COUNT_0">%1$d</xliff:g></item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Khác"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Bạn đặt tầm quan trọng của các thông báo này."</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"Thông báo này quan trọng vì những người có liên quan."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Cho phép <xliff:g id="APP">%1$s</xliff:g> tạo người dùng mới bằng <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Cho phép <xliff:g id="APP">%1$s</xliff:g> tạo người dùng mới bằng <xliff:g id="ACCOUNT">%2$s</xliff:g> (người dùng có tài khoản này đã tồn tại)?"</string>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index b8ea898..6074b20 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"重置并重启应用"</string>
<string name="aerr_report" msgid="5371800241488400617">"发送反馈"</string>
<string name="aerr_close" msgid="2991640326563991340">"关闭"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"忽略"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"忽略直到设备重新启动"</string>
<string name="aerr_wait" msgid="3199956902437040261">"等待"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"关闭应用"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,13 @@
<string name="usb_notification_message" msgid="7347368030849048437">"触摸以查看更多选项。"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"已连接到USB调试"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"触摸可停用USB调试。"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"要分享错误报告吗?"</string>
+ <!-- no translation found for sharing_remote_bugreport_notification_title (7572089031496651372) -->
<skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
+ <!-- no translation found for share_remote_bugreport_notification_message (752583906074230920) -->
<skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"您的 IT 管理员请求获取错误报告,以协助您排查此设备的问题。报告可能会透露您设备中的应用和数据。"</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"这可能会暂时减慢您设备的运行速度"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"接受"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"拒绝"</string>
<string name="select_input_method" msgid="8547250819326693584">"更改键盘"</string>
@@ -1543,8 +1540,8 @@
<item quantity="other">已选择 <xliff:g id="COUNT_1">%1$d</xliff:g> 项</item>
<item quantity="one">已选择 <xliff:g id="COUNT_0">%1$d</xliff:g> 项</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"其他"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"这些通知的重要性由您来设置。"</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"这条通知涉及特定的人,因此被归为重要通知。"</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"允许<xliff:g id="APP">%1$s</xliff:g>使用 <xliff:g id="ACCOUNT">%2$s</xliff:g> 创建新用户吗?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"允许<xliff:g id="APP">%1$s</xliff:g>使用 <xliff:g id="ACCOUNT">%2$s</xliff:g>(目前已有用户使用此帐号)创建新用户吗?"</string>
diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml
index 5464fbf..a0e896a 100644
--- a/core/res/res/values-zh-rHK/strings.xml
+++ b/core/res/res/values-zh-rHK/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"重設並重新啟動應用程式"</string>
<string name="aerr_report" msgid="5371800241488400617">"傳送意見反映"</string>
<string name="aerr_close" msgid="2991640326563991340">"關閉"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"忽略"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"忽略直至裝置重新啟動"</string>
<string name="aerr_wait" msgid="3199956902437040261">"等一下"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"關閉應用程式"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"輕觸以瀏覽更多選項。"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"已連接 USB 偵錯工具"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"輕觸即可停用 USB 偵錯。"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"要分享錯誤報告嗎?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"正在分享錯誤報告…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"您的 IT 管理員要求您提供錯誤報告,以協助解決此裝置的問題。報告可能會披露應用程式和相關資料,裝置的運作速度也可能暫時減慢。"</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"您的 IT 管理員要求您提供錯誤報告,以協助解決此裝置的問題。報告可能會披露裝置中的應用程式和相關資料。"</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"裝置的運作速度可能因而減慢"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"接受"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"拒絕"</string>
<string name="select_input_method" msgid="8547250819326693584">"變更鍵盤"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other">已選取 <xliff:g id="COUNT_1">%1$d</xliff:g> 個項目</item>
<item quantity="one">已選取 <xliff:g id="COUNT_0">%1$d</xliff:g> 個項目</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"其他"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"您可以為這些通知設定重要性。"</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"列為重要的原因:涉及的人。"</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"要允許 <xliff:g id="APP">%1$s</xliff:g> 使用 <xliff:g id="ACCOUNT">%2$s</xliff:g> 建立新使用者嗎?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"要允許 <xliff:g id="APP">%1$s</xliff:g> 使用 <xliff:g id="ACCOUNT">%2$s</xliff:g> 建立新使用者 (此帳戶目前已有此使用者) 嗎?"</string>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index ff6dc23..208f2e2 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"重設並重新啟動應用程式"</string>
<string name="aerr_report" msgid="5371800241488400617">"提供意見"</string>
<string name="aerr_close" msgid="2991640326563991340">"關閉"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"忽略"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"略過直到裝置重新啟動"</string>
<string name="aerr_wait" msgid="3199956902437040261">"等候"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"關閉應用程式"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"輕觸即可顯示更多選項。"</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"已連接 USB 偵錯工具"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"輕觸即可停用 USB 偵錯。"</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"要分享錯誤報告嗎?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"正在分享錯誤報告…"</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"您的 IT 管理員要求您提供錯誤報告,以便排解這個裝置發生的問題。報告可能會揭露裝置中的應用程式和相關資料,裝置運行速度也可能會因此暫時減慢。"</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"您的 IT 管理員要求您提供錯誤報告,以便排解這個裝置發生的問題。報告可能會揭露裝置中的應用程式和相關資料。"</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"這可能會暫時減慢裝置運行速度"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"接受"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"拒絕"</string>
<string name="select_input_method" msgid="8547250819326693584">"變更鍵盤"</string>
@@ -1543,8 +1538,8 @@
<item quantity="other">已選取 <xliff:g id="COUNT_1">%1$d</xliff:g> 個項目</item>
<item quantity="one">已選取 <xliff:g id="COUNT_0">%1$d</xliff:g> 個項目</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"其他"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"這些通知的重要性由您決定。"</string>
+ <!-- no translation found for importance_from_user (7318955817386549931) -->
+ <skip />
<string name="importance_from_person" msgid="9160133597262938296">"這則通知涉及特定人士,因此被歸為重要通知。"</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"要允許 <xliff:g id="APP">%1$s</xliff:g> 為 <xliff:g id="ACCOUNT">%2$s</xliff:g> 建立新使用者嗎?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"要允許 <xliff:g id="APP">%1$s</xliff:g> 為 <xliff:g id="ACCOUNT">%2$s</xliff:g> 建立新使用者嗎 (這個帳戶目前已有使用者)?"</string>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index 6793a9a..b1f27e2 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -917,7 +917,7 @@
<string name="aerr_reset" msgid="7645427603514220451">"Setha kabusha uphinde uqalise kabusha uhlelo lokusebenza"</string>
<string name="aerr_report" msgid="5371800241488400617">"Thumela impendulo"</string>
<string name="aerr_close" msgid="2991640326563991340">"Vala"</string>
- <string name="aerr_mute" msgid="7698966346654789433">"Thulisa"</string>
+ <string name="aerr_mute" msgid="1974781923723235953">"Thulisa ize iqalise kabusha idivayisi"</string>
<string name="aerr_wait" msgid="3199956902437040261">"Linda"</string>
<string name="aerr_close_app" msgid="3269334853724920302">"Vala uhlelo lokusebenza"</string>
<string name="anr_title" msgid="4351948481459135709"></string>
@@ -1053,16 +1053,11 @@
<string name="usb_notification_message" msgid="7347368030849048437">"Thinta ukuze uthole ezinye izinketho."</string>
<string name="adb_active_notification_title" msgid="6729044778949189918">"Ukulungisa iphutha le-USB kuxhunyiwe"</string>
<string name="adb_active_notification_message" msgid="1016654627626476142">"Thinta ukwenza ukuthi ukudibhaga kwe-USB kungasebenzi."</string>
- <!-- no translation found for share_remote_bugreport_notification_title (4987095013583691873) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_title (7692523022154791488) -->
- <skip />
- <!-- no translation found for share_remote_bugreport_notification_message (8643704339578372992) -->
- <skip />
- <!-- no translation found for share_finished_remote_bugreport_notification_message (4627312060769912353) -->
- <skip />
- <!-- no translation found for sharing_remote_bugreport_notification_message (673106383408474893) -->
- <skip />
+ <string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"Yabelana ngombiko wesiphazamisi?"</string>
+ <string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"Yabelana ngombiko wesiphazamisi..."</string>
+ <string name="share_remote_bugreport_notification_message" msgid="752583906074230920">"Umlawuli wakho we-IT ucele umbiko wesiphazamisi ukusiza ukuxazulula inkinga yale divayisi. Izinhlelo zokusebenza zingabelwana futhi idivayisi yakho ingahle yehle kancane."</string>
+ <string name="share_finished_remote_bugreport_notification_message" msgid="4627312060769912353">"Umqondisi wakho we-IT ucele umbiko wesiphazamisi ukukusiza ukuxazulula inkinga kule divayisi. Izinhlelo zokusebenza nedatha ingabiwa."</string>
+ <string name="sharing_remote_bugreport_notification_message" msgid="673106383408474893">"Lokhu kungahambisa kancane idivayisi yakho okwesikhashana"</string>
<string name="share_remote_bugreport_notification_accept" msgid="8203856129078669677">"YAMUKELA"</string>
<string name="share_remote_bugreport_notification_decline" msgid="6337969352057443969">"YENQABA"</string>
<string name="select_input_method" msgid="8547250819326693584">"Shintsha ikhibhodi"</string>
@@ -1543,8 +1538,7 @@
<item quantity="one"><xliff:g id="COUNT_1">%1$d</xliff:g> okukhethiwe</item>
<item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> okukhethiwe</item>
</plurals>
- <string name="default_notification_topic_label" msgid="227586145791870829">"Okwahlukahlukene"</string>
- <string name="importance_from_topic" msgid="3572280439880023233">"Usethe ukubaluleka kwalezi zaziso."</string>
+ <string name="importance_from_user" msgid="7318955817386549931">"Usethe ukubaluleka kwalezi zaziso."</string>
<string name="importance_from_person" msgid="9160133597262938296">"Lokhu kubalulekile ngenxa yabantu ababandakanyekayo."</string>
<string name="user_creation_account_exists" msgid="1942606193570143289">"Vumela i-<xliff:g id="APP">%1$s</xliff:g> ukudala umsebenzisi omusha nge-<xliff:g id="ACCOUNT">%2$s</xliff:g> ?"</string>
<string name="user_creation_adding" msgid="4482658054622099197">"Vumela i-<xliff:g id="APP">%1$s</xliff:g> ukudala umsebenzisi omusha nge-<xliff:g id="ACCOUNT">%2$s</xliff:g> (umsebenzisi onale akhawunti usuvel ukhona) ?"</string>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 016ed60..54f9093 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -29,6 +29,7 @@
<string-array name="config_statusBarIcons">
<item><xliff:g id="id">@string/status_bar_rotate</xliff:g></item>
<item><xliff:g id="id">@string/status_bar_headset</xliff:g></item>
+ <item><xliff:g id="id">@string/status_bar_data_saver</xliff:g></item>
<item><xliff:g id="id">@string/status_bar_managed_profile</xliff:g></item>
<item><xliff:g id="id">@string/status_bar_ime</xliff:g></item>
<item><xliff:g id="id">@string/status_bar_sync_failing</xliff:g></item>
@@ -56,6 +57,7 @@
<string translatable="false" name="status_bar_rotate">rotate</string>
<string translatable="false" name="status_bar_headset">headset</string>
+ <string translatable="false" name="status_bar_data_saver">data_saver</string>
<string translatable="false" name="status_bar_managed_profile">managed_profile</string>
<string translatable="false" name="status_bar_ime">ime</string>
<string translatable="false" name="status_bar_sync_failing">sync_failing</string>
@@ -1992,10 +1994,10 @@
See {@link com.android.server.notification.NotificationSignalExtractor} -->
<string-array name="config_notificationSignalExtractors">
<item>com.android.server.notification.ValidateNotificationPeople</item>
- <item>com.android.server.notification.TopicPriorityExtractor</item>
- <item>com.android.server.notification.TopicImportanceExtractor</item>
+ <item>com.android.server.notification.PriorityExtractor</item>
+ <item>com.android.server.notification.ImportanceExtractor</item>
<item>com.android.server.notification.NotificationIntrusivenessExtractor</item>
- <item>com.android.server.notification.TopicVisibilityExtractor</item>
+ <item>com.android.server.notification.VisibilityExtractor</item>
</string-array>
<!-- Flag indicating that this device does not rotate and will always remain in its default
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index 8e86f78..1005704 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -56,6 +56,10 @@
calculate the bounds of the stacks-->
<dimen name="docked_stack_divider_insets">19dp</dimen>
+ <!-- To how much the docked stack gets reduced when we decide to minimize the docked stack, i.e.
+ when the user opens homescreen. -->
+ <dimen name="docked_stack_minimize_thickness">8dp</dimen>
+
<!-- Min width for a tablet device -->
<dimen name="min_xlarge_screen_width">800dp</dimen>
@@ -146,9 +150,6 @@
<!-- The margin on the end of the content view with a picture.-->
<dimen name="notification_content_picture_margin">56dp</dimen>
- <!-- The margin on the end of the content view with a picture in the compact media.-->
- <dimen name="notification_content_picture_margin_media">72dp</dimen>
-
<!-- height of the content margin to accomodate for the header -->
<dimen name="notification_content_margin_top">30dp</dimen>
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 1f0e96d..da88146 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -4162,9 +4162,7 @@
<item quantity="other"><xliff:g id="count" example="3">%1$d</xliff:g> selected</item>
</plurals>
- <string name="default_notification_topic_label">Miscellaneous</string>
-
- <string name="importance_from_topic">You set the importance of these notifications.</string>
+ <string name="importance_from_user">You set the importance of these notifications.</string>
<string name="importance_from_person">This is important because of the people involved.</string>
<!-- Message to user that app trying to create user for an account that already exists. [CHAR LIMIT=none] -->
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 2d3ad17..9950884 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -1506,6 +1506,7 @@
<java-symbol type="bool" name="target_honeycomb_needs_options_menu" />
<java-symbol type="dimen" name="docked_stack_divider_thickness" />
<java-symbol type="dimen" name="docked_stack_divider_insets" />
+ <java-symbol type="dimen" name="docked_stack_minimize_thickness" />
<java-symbol type="integer" name="config_dockedStackDividerSnapMode" />
<java-symbol type="fraction" name="docked_stack_divider_fixed_ratio" />
<java-symbol type="dimen" name="navigation_bar_height" />
@@ -2388,7 +2389,6 @@
<java-symbol type="string" name="config_iccHotswapPromptForRestartDialogComponent" />
<java-symbol type="string" name="config_packagedKeyboardName" />
- <java-symbol type="string" name="default_notification_topic_label" />
<java-symbol type="bool" name="config_forceWindowDrawsStatusBarBackground" />
<java-symbol type="color" name="system_bar_background_semi_transparent" />
@@ -2427,7 +2427,7 @@
<java-symbol type="dimen" name="notification_content_margin_end" />
<java-symbol type="dimen" name="notification_content_picture_margin" />
<java-symbol type="dimen" name="notification_content_margin_top" />
- <java-symbol type="string" name="importance_from_topic" />
+ <java-symbol type="string" name="importance_from_user" />
<java-symbol type="string" name="importance_from_person" />
<java-symbol type="layout" name="work_widget_mask_view" />
@@ -2460,6 +2460,7 @@
<java-symbol type="string" name="status_bar_rotate" />
<java-symbol type="string" name="status_bar_headset" />
+ <java-symbol type="string" name="status_bar_data_saver" />
<java-symbol type="string" name="status_bar_managed_profile" />
<java-symbol type="string" name="status_bar_ime" />
<java-symbol type="string" name="status_bar_sync_failing" />
@@ -2512,13 +2513,14 @@
<java-symbol type="dimen" name="media_notification_expanded_image_max_size" />
<java-symbol type="dimen" name="media_notification_expanded_image_margin_bottom" />
<java-symbol type="dimen" name="notification_content_image_margin_end" />
- <java-symbol type="dimen" name="notification_content_picture_margin_media" />
<java-symbol type="bool" name="config_strongAuthRequiredOnBoot" />
<java-symbol type="layout" name="app_anr_dialog" />
<java-symbol type="id" name="aerr_wait" />
+ <java-symbol type="id" name="notification_content_container" />
+
<!-- Encryption notification while accounts are locked by credential encryption -->
<java-symbol type="string" name="user_encrypted_title" />
<java-symbol type="string" name="user_encrypted_message" />
diff --git a/core/tests/coretests/apks/install_jni_lib/Android.mk b/core/tests/coretests/apks/install_jni_lib/Android.mk
index 7322e8d..9e45d09 100644
--- a/core/tests/coretests/apks/install_jni_lib/Android.mk
+++ b/core/tests/coretests/apks/install_jni_lib/Android.mk
@@ -22,6 +22,8 @@
LOCAL_SHARED_LIBRARIES := \
libnativehelper
+LOCAL_CFLAGS += -Wall -Werror
+
LOCAL_MODULE := libframeworks_coretests_jni
# this does not prevent build system
diff --git a/core/tests/coretests/apks/install_jni_lib/com_android_frameworks_coretests_JNITest.cpp b/core/tests/coretests/apks/install_jni_lib/com_android_frameworks_coretests_JNITest.cpp
index 3e83010..8d91192 100644
--- a/core/tests/coretests/apks/install_jni_lib/com_android_frameworks_coretests_JNITest.cpp
+++ b/core/tests/coretests/apks/install_jni_lib/com_android_frameworks_coretests_JNITest.cpp
@@ -37,7 +37,7 @@
/*
* JNI Initialization
*/
-jint JNI_OnLoad(JavaVM *jvm, void *reserved) {
+jint JNI_OnLoad(JavaVM *jvm, void */* reserved */) {
JNIEnv *e;
int status;
diff --git a/core/tests/hosttests/test-apps/SharedUid/32/jni/Android.mk b/core/tests/hosttests/test-apps/SharedUid/32/jni/Android.mk
index ff5a535..994131a 100644
--- a/core/tests/hosttests/test-apps/SharedUid/32/jni/Android.mk
+++ b/core/tests/hosttests/test-apps/SharedUid/32/jni/Android.mk
@@ -32,6 +32,8 @@
# All of the shard libraries we link against.
LOCAL_SHARED_LIBRARIES := liblog
+LOCAL_CFLAGS += -Wall -Wextra -Werror
+
# Also need the JNI headers.
LOCAL_C_INCLUDES += \
$(JNI_H_INCLUDE)
diff --git a/core/tests/hosttests/test-apps/SharedUid/32/jni/native.cpp b/core/tests/hosttests/test-apps/SharedUid/32/jni/native.cpp
index 67b12d7..99cf587 100644
--- a/core/tests/hosttests/test-apps/SharedUid/32/jni/native.cpp
+++ b/core/tests/hosttests/test-apps/SharedUid/32/jni/native.cpp
@@ -22,7 +22,7 @@
#include "jni.h"
static jint
-add(JNIEnv *env, jobject thiz, jint a, jint b) {
+add(JNIEnv */* env */, jobject /* thiz */, jint a, jint b) {
int result = a + b;
ALOGI("%d + %d = %d", a, b, result);
return result;
@@ -82,7 +82,7 @@
void* venv;
} UnionJNIEnvToVoid;
-jint JNI_OnLoad(JavaVM* vm, void* reserved)
+jint JNI_OnLoad(JavaVM* vm, void* /* reserved */)
{
UnionJNIEnvToVoid uenv;
uenv.venv = NULL;
diff --git a/core/tests/hosttests/test-apps/SharedUid/64/jni/Android.mk b/core/tests/hosttests/test-apps/SharedUid/64/jni/Android.mk
index abb1d9f..6c2679b 100644
--- a/core/tests/hosttests/test-apps/SharedUid/64/jni/Android.mk
+++ b/core/tests/hosttests/test-apps/SharedUid/64/jni/Android.mk
@@ -34,6 +34,8 @@
LOCAL_SHARED_LIBRARIES := \
libutils liblog
+LOCAL_CFLAGS += -Wall -Wextra -Werror
+
# Also need the JNI headers.
LOCAL_C_INCLUDES += \
$(JNI_H_INCLUDE)
diff --git a/core/tests/hosttests/test-apps/SharedUid/64/jni/native.cpp b/core/tests/hosttests/test-apps/SharedUid/64/jni/native.cpp
index 342b3bc..0b6d750 100644
--- a/core/tests/hosttests/test-apps/SharedUid/64/jni/native.cpp
+++ b/core/tests/hosttests/test-apps/SharedUid/64/jni/native.cpp
@@ -22,7 +22,7 @@
#include "jni.h"
static jint
-add(JNIEnv *env, jobject thiz, jint a, jint b) {
+add(JNIEnv */* env */, jobject /* thiz */, jint a, jint b) {
int result = a + b;
ALOGI("%d + %d = %d", a, b, result);
return result;
@@ -82,7 +82,7 @@
void* venv;
} UnionJNIEnvToVoid;
-jint JNI_OnLoad(JavaVM* vm, void* reserved)
+jint JNI_OnLoad(JavaVM* vm, void* /* reserved */)
{
UnionJNIEnvToVoid uenv;
uenv.venv = NULL;
diff --git a/core/tests/hosttests/test-apps/SharedUid/dual/jni/Android.mk b/core/tests/hosttests/test-apps/SharedUid/dual/jni/Android.mk
index ae8e636..d668f29 100644
--- a/core/tests/hosttests/test-apps/SharedUid/dual/jni/Android.mk
+++ b/core/tests/hosttests/test-apps/SharedUid/dual/jni/Android.mk
@@ -33,6 +33,8 @@
LOCAL_LDLIBS = -llog
LOCAL_SHARED_LIBRARIES := liblog
+LOCAL_CFLAGS += -Wall -Wextra -Werror
+
# Also need the JNI headers.
LOCAL_C_INCLUDES += \
$(JNI_H_INCLUDE)
diff --git a/core/tests/hosttests/test-apps/SharedUid/dual/jni/native.cpp b/core/tests/hosttests/test-apps/SharedUid/dual/jni/native.cpp
index 9b38e3e..3947e21 100644
--- a/core/tests/hosttests/test-apps/SharedUid/dual/jni/native.cpp
+++ b/core/tests/hosttests/test-apps/SharedUid/dual/jni/native.cpp
@@ -22,7 +22,7 @@
#include "jni.h"
static jint
-add(JNIEnv *env, jobject thiz, jint a, jint b) {
+add(JNIEnv */* env */, jobject /* thiz */, jint a, jint b) {
int result = a + b;
ALOGI("%d + %d = %d", a, b, result);
return result;
@@ -82,7 +82,7 @@
void* venv;
} UnionJNIEnvToVoid;
-jint JNI_OnLoad(JavaVM* vm, void* reserved)
+jint JNI_OnLoad(JavaVM* vm, void* /* reserved */)
{
UnionJNIEnvToVoid uenv;
uenv.venv = NULL;
diff --git a/core/tests/utiltests/src/com/android/internal/util/AsyncChannelTest.java b/core/tests/utiltests/src/com/android/internal/util/AsyncChannelTest.java
deleted file mode 100644
index 7088650..0000000
--- a/core/tests/utiltests/src/com/android/internal/util/AsyncChannelTest.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.internal.util;
-
-import android.os.Debug;
-import android.test.suitebuilder.annotation.SmallTest;
-import android.util.Log;
-
-import junit.framework.TestCase;
-
-/**
- * Test for AsyncChannel.
- */
-public class AsyncChannelTest extends TestCase {
- private static final boolean DBG = true;
- private static final boolean WAIT_FOR_DEBUGGER = false;
- private static final String TAG = "AsyncChannelTest";
-
- @SmallTest
- public void test1() throws Exception {
- if (DBG) log("test1");
- if (WAIT_FOR_DEBUGGER) Debug.waitForDebugger();
- assertTrue(1 == 1);
- }
-
- protected void log(String s) {
- Log.d(TAG, s);
- }
-}
diff --git a/core/tests/utiltests/src/com/android/internal/util/FastXmlSerializerTest.java b/core/tests/utiltests/src/com/android/internal/util/FastXmlSerializerTest.java
index be7116d..5f36c2d 100644
--- a/core/tests/utiltests/src/com/android/internal/util/FastXmlSerializerTest.java
+++ b/core/tests/utiltests/src/com/android/internal/util/FastXmlSerializerTest.java
@@ -42,6 +42,6 @@
out.endDocument();
assertEquals("<?xml version='1.0' encoding='utf-8' standalone='yes' ?>\n"
- + "<string name=\"meow\"></string>", stream.toString());
+ + "<string name=\"meow\"></string>\n", stream.toString());
}
}
diff --git a/libs/hwui/Android.mk b/libs/hwui/Android.mk
index 6257122..8660b75 100644
--- a/libs/hwui/Android.mk
+++ b/libs/hwui/Android.mk
@@ -7,7 +7,7 @@
# Enables fine-grained GLES error checking
# If set to true, every GLES call is wrapped & error checked
# Has moderate overhead
-HWUI_ENABLE_OPENGL_VALIDATION := false
+HWUI_ENABLE_OPENGL_VALIDATION := true
hwui_src_files := \
font/CacheTexture.cpp \
diff --git a/libs/hwui/RecordingCanvas.cpp b/libs/hwui/RecordingCanvas.cpp
index 269e590..0adb21c 100644
--- a/libs/hwui/RecordingCanvas.cpp
+++ b/libs/hwui/RecordingCanvas.cpp
@@ -406,12 +406,16 @@
void RecordingCanvas::drawArc(float left, float top, float right, float bottom,
float startAngle, float sweepAngle, bool useCenter, const SkPaint& paint) {
- addOp(alloc().create_trivial<ArcOp>(
- Rect(left, top, right, bottom),
- *(mState.currentSnapshot()->transform),
- getRecordedClip(),
- refPaint(&paint),
- startAngle, sweepAngle, useCenter));
+ if (fabs(sweepAngle) >= 360.0f) {
+ drawOval(left, top, right, bottom, paint);
+ } else {
+ addOp(alloc().create_trivial<ArcOp>(
+ Rect(left, top, right, bottom),
+ *(mState.currentSnapshot()->transform),
+ getRecordedClip(),
+ refPaint(&paint),
+ startAngle, sweepAngle, useCenter));
+ }
}
void RecordingCanvas::drawPath(const SkPath& path, const SkPaint& paint) {
diff --git a/libs/hwui/tests/common/TestUtils.cpp b/libs/hwui/tests/common/TestUtils.cpp
index 3440d03..9595a85 100644
--- a/libs/hwui/tests/common/TestUtils.cpp
+++ b/libs/hwui/tests/common/TestUtils.cpp
@@ -162,6 +162,7 @@
renderState.onGLContextCreated();
rtCallback(renderthread::RenderThread::getInstance());
+ renderState.flush(Caches::FlushMode::Full);
renderState.onGLContextDestroyed();
// Restore the previous signal handler
diff --git a/libs/hwui/tests/unit/RecordingCanvasTests.cpp b/libs/hwui/tests/unit/RecordingCanvasTests.cpp
index 20d2f1f..cd9ffc5 100644
--- a/libs/hwui/tests/unit/RecordingCanvasTests.cpp
+++ b/libs/hwui/tests/unit/RecordingCanvasTests.cpp
@@ -57,6 +57,22 @@
<< "Clip should be serialized once";
}
+TEST(RecordingCanvas, drawArc) {
+ auto dl = TestUtils::createDisplayList<RecordingCanvas>(200, 200, [](RecordingCanvas& canvas) {
+ canvas.drawArc(0, 0, 200, 200, 0, 180, true, SkPaint());
+ canvas.drawArc(0, 0, 100, 100, 0, 360, true, SkPaint());
+ });
+
+ auto&& ops = dl->getOps();
+ ASSERT_EQ(2u, ops.size()) << "Must be exactly two ops";
+ EXPECT_EQ(RecordedOpId::ArcOp, ops[0]->opId);
+ EXPECT_EQ(Rect(200, 200), ops[0]->unmappedBounds);
+
+ EXPECT_EQ(RecordedOpId::OvalOp, ops[1]->opId)
+ << "Circular arcs should be converted to ovals";
+ EXPECT_EQ(Rect(100, 100), ops[1]->unmappedBounds);
+}
+
TEST(RecordingCanvas, drawLines) {
auto dl = TestUtils::createDisplayList<RecordingCanvas>(100, 200, [](RecordingCanvas& canvas) {
SkPaint paint;
diff --git a/location/java/android/location/GnssClock.java b/location/java/android/location/GnssClock.java
index 37ef3df79..5ba3f2c 100644
--- a/location/java/android/location/GnssClock.java
+++ b/location/java/android/location/GnssClock.java
@@ -73,7 +73,7 @@
private double mBiasUncertaintyInNs;
private double mDriftInNsPerSec;
private double mDriftUncertaintyInNsPerSec;
- private long mTimeOfLastHwClockDiscontinuityInNs;
+ private int mHardwareClockDiscontinuityCount;
GnssClock() {
initialize();
@@ -93,7 +93,7 @@
mBiasUncertaintyInNs = clock.mBiasUncertaintyInNs;
mDriftInNsPerSec = clock.mDriftInNsPerSec;
mDriftUncertaintyInNsPerSec = clock.mDriftUncertaintyInNsPerSec;
- mTimeOfLastHwClockDiscontinuityInNs = clock.mTimeOfLastHwClockDiscontinuityInNs;
+ mHardwareClockDiscontinuityCount = clock.mHardwareClockDiscontinuityCount;
}
/**
@@ -395,17 +395,17 @@
}
/**
- * Gets time of last hardware clock discontinuity.
+ * Gets count of last hardware clock discontinuity.
*/
- public long getTimeOfLastHwClockDiscontinuityInNs() {
- return mTimeOfLastHwClockDiscontinuityInNs;
+ public int getHardwareClockDiscontinuityCount() {
+ return mHardwareClockDiscontinuityCount;
}
/**
- * Sets time of last hardware clock discontinuity.
+ * Sets count of last hardware clock discontinuity.
*/
- public void setTimeOfLastHwClockDiscontinuityInNs(long timeOfLastHwClockDiscontinuityInNs) {
- mTimeOfLastHwClockDiscontinuityInNs = timeOfLastHwClockDiscontinuityInNs;
+ public void setHardwareClockDiscontinuityCount(int value) {
+ mHardwareClockDiscontinuityCount = value;
}
/**
@@ -431,7 +431,7 @@
gpsClock.mBiasUncertaintyInNs = parcel.readDouble();
gpsClock.mDriftInNsPerSec = parcel.readDouble();
gpsClock.mDriftUncertaintyInNsPerSec = parcel.readDouble();
- gpsClock.mTimeOfLastHwClockDiscontinuityInNs = parcel.readLong();
+ gpsClock.mHardwareClockDiscontinuityCount = parcel.readInt();
return gpsClock;
}
@@ -442,6 +442,7 @@
}
};
+ @Override
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeInt(mFlags);
parcel.writeInt(mLeapSecond);
@@ -453,7 +454,7 @@
parcel.writeDouble(mBiasUncertaintyInNs);
parcel.writeDouble(mDriftInNsPerSec);
parcel.writeDouble(mDriftUncertaintyInNsPerSec);
- parcel.writeLong(mTimeOfLastHwClockDiscontinuityInNs);
+ parcel.writeInt(mHardwareClockDiscontinuityCount);
}
@Override
@@ -497,9 +498,9 @@
"DriftUncertaintyInNsPerSec",
hasDriftUncertaintyInNsPerSec() ? mDriftUncertaintyInNsPerSec : null));
- builder.append(String.format(format, "TimeOfLastHwClockDiscontinuityInNs",
+ builder.append(String.format(format, "HardwareClockDiscontinuityCount",
getType() == CLOCK_TYPE_LOCAL_HW_TIME
- ? mTimeOfLastHwClockDiscontinuityInNs : null));
+ ? mHardwareClockDiscontinuityCount : null));
return builder.toString();
}
@@ -515,7 +516,7 @@
resetBiasUncertaintyInNs();
resetDriftInNsPerSec();
resetDriftUncertaintyInNsPerSec();
- setTimeOfLastHwClockDiscontinuityInNs(Long.MIN_VALUE);
+ setHardwareClockDiscontinuityCount(Integer.MIN_VALUE);
}
private void setFlag(short flag) {
diff --git a/location/java/android/location/GnssMeasurement.java b/location/java/android/location/GnssMeasurement.java
index a490685..a619ab2 100644
--- a/location/java/android/location/GnssMeasurement.java
+++ b/location/java/android/location/GnssMeasurement.java
@@ -24,15 +24,16 @@
import java.lang.annotation.RetentionPolicy;
/**
- * A class representing a GPS satellite measurement, containing raw and computed information.
+ * A class representing a GNSS satellite measurement, containing raw and computed information.
*/
public final class GnssMeasurement implements Parcelable {
private int mFlags;
private short mSvid;
+ private byte mConstellationType;
private double mTimeOffsetInNs;
private short mState;
- private long mReceivedGpsTowInNs;
- private long mReceivedGpsTowUncertaintyInNs;
+ private long mReceivedSvTimeInNs;
+ private long mReceivedSvTimeUncertaintyInNs;
private double mCn0InDbHz;
private double mPseudorangeRateInMetersPerSec;
private double mPseudorangeRateUncertaintyInMetersPerSec;
@@ -59,8 +60,6 @@
private double mAzimuthInDeg;
private double mAzimuthUncertaintyInDeg;
private boolean mUsedInFix;
- private double mPseudorangeRateCarrierInMetersPerSec;
- private double mPseudorangeRateCarrierUncertaintyInMetersPerSec;
// The following enumerations must be in sync with the values declared in gps.h
@@ -82,8 +81,8 @@
private static final int HAS_TIME_FROM_LAST_BIT = (1<<14);
private static final int HAS_DOPPLER_SHIFT = (1<<15);
private static final int HAS_DOPPLER_SHIFT_UNCERTAINTY = (1<<16);
- private static final int HAS_USED_IN_FIX = (1<<17);
- private static final int GPS_MEASUREMENT_HAS_UNCORRECTED_PSEUDORANGE_RATE = (1<<18);
+ // private static final int HAS_USED_IN_FIX = (1<<17);
+ private static final int HAS_UNCORRECTED_PSEUDORANGE_RATE = (1<<18);
/** The status of 'loss of lock'. */
@Retention(RetentionPolicy.SOURCE)
@@ -127,37 +126,37 @@
public static final byte MULTIPATH_INDICATOR_NOT_USED = 2;
/**
- * The state of GPS receiver the measurement is invalid or unknown.
+ * The state of GNSS receiver the measurement is invalid or unknown.
*/
public static final short STATE_UNKNOWN = 0;
/**
- * The state of the GPS receiver is ranging code lock.
+ * The state of the GNSS receiver is ranging code lock.
*/
public static final short STATE_CODE_LOCK = (1<<0);
/**
- * The state of the GPS receiver is in bit sync.
+ * The state of the GNSS receiver is in bit sync.
*/
public static final short STATE_BIT_SYNC = (1<<1);
/**
- *The state of the GPS receiver is in sub-frame sync.
+ *The state of the GNSS receiver is in sub-frame sync.
*/
public static final short STATE_SUBFRAME_SYNC = (1<<2);
/**
- * The state of the GPS receiver has TOW decoded.
+ * The state of the GNSS receiver has TOW decoded.
*/
public static final short STATE_TOW_DECODED = (1<<3);
/**
- * The state of the GPS receiver contains millisecond ambiguity.
+ * The state of the GNSS receiver contains millisecond ambiguity.
*/
public static final short STATE_MSEC_AMBIGUOUS = (1<<4);
/**
- * All the GPS receiver state flags.
+ * All the GNSS receiver state flags.
*/
private static final short STATE_ALL = STATE_CODE_LOCK | STATE_BIT_SYNC | STATE_SUBFRAME_SYNC
| STATE_TOW_DECODED | STATE_MSEC_AMBIGUOUS;
@@ -199,10 +198,11 @@
public void set(GnssMeasurement measurement) {
mFlags = measurement.mFlags;
mSvid = measurement.mSvid;
+ mConstellationType = measurement.mConstellationType;
mTimeOffsetInNs = measurement.mTimeOffsetInNs;
mState = measurement.mState;
- mReceivedGpsTowInNs = measurement.mReceivedGpsTowInNs;
- mReceivedGpsTowUncertaintyInNs = measurement.mReceivedGpsTowUncertaintyInNs;
+ mReceivedSvTimeInNs = measurement.mReceivedSvTimeInNs;
+ mReceivedSvTimeUncertaintyInNs = measurement.mReceivedSvTimeUncertaintyInNs;
mCn0InDbHz = measurement.mCn0InDbHz;
mPseudorangeRateInMetersPerSec = measurement.mPseudorangeRateInMetersPerSec;
mPseudorangeRateUncertaintyInMetersPerSec =
@@ -231,10 +231,6 @@
mAzimuthInDeg = measurement.mAzimuthInDeg;
mAzimuthUncertaintyInDeg = measurement.mAzimuthUncertaintyInDeg;
mUsedInFix = measurement.mUsedInFix;
- mPseudorangeRateCarrierInMetersPerSec =
- measurement.mPseudorangeRateCarrierInMetersPerSec;
- mPseudorangeRateCarrierUncertaintyInMetersPerSec =
- measurement.mPseudorangeRateCarrierUncertaintyInMetersPerSec;
}
/**
@@ -260,6 +256,21 @@
}
/**
+ * Getst the constellation type.
+ */
+ @GnssStatus.ConstellationType
+ public byte getConstellationType() {
+ return mConstellationType;
+ }
+
+ /**
+ * Sets the constellation type.
+ */
+ public void setConstellationType(@GnssStatus.ConstellationType byte value) {
+ mConstellationType = value;
+ }
+
+ /**
* Gets the time offset at which the measurement was taken in nanoseconds.
* The reference receiver's time is specified by {@link GnssClock#getTimeInNs()} and should be
* interpreted in the same way as indicated by {@link GnssClock#getType()}.
@@ -285,7 +296,7 @@
* Gets per-satellite sync state.
* It represents the current sync state for the associated satellite.
*
- * This value helps interpret {@link #getReceivedGpsTowInNs()}.
+ * This value helps interpret {@link #getReceivedSvTimeInNs()}.
*/
public short getState() {
return mState;
@@ -333,39 +344,92 @@
}
/**
- * Gets the received GPS Time-of-Week at the measurement time, in nanoseconds.
- * The value is relative to the beginning of the current GPS week.
+ * Gets the received GNSS satellite time, at the measurement time, in nanoseconds.
*
- * Given {@link #getState()} of the GPS receiver, the range of this field can be:
- * Searching : [ 0 ] : {@link #STATE_UNKNOWN} is set
- * Ranging code lock : [ 0 1 ms ] : {@link #STATE_CODE_LOCK} is set
- * Bit sync : [ 0 20 ms ] : {@link #STATE_BIT_SYNC} is set
- * Subframe sync : [ 0 6 ms ] : {@link #STATE_SUBFRAME_SYNC} is set
- * TOW decoded : [ 0 1 week ] : {@link #STATE_TOW_DECODED} is set
+ * For GPS & QZSS, this is:
+ * Received GPS Time-of-Week at the measurement time, in nanoseconds.
+ * The value is relative to the beginning of the current GPS week.
+ *
+ * Given the highest sync state that can be achieved, per each satellite, valid range
+ * for this field can be:
+ * Searching : [ 0 ] : STATE_UNKNOWN
+ * C/A code lock : [ 0 1ms ] : STATE_CODE_LOCK is set
+ * Bit sync : [ 0 20ms ] : STATE_BIT_SYNC is set
+ * Subframe sync : [ 0 6s ] : STATE_SUBFRAME_SYNC is set
+ * TOW decoded : [ 0 1week ] : STATE_TOW_DECODED is set
+ *
+ * Note well: if there is any ambiguity in integer millisecond,
+ * STATE_MSEC_AMBIGUOUS should be set accordingly, in the 'state' field.
+ *
+ * This value must be populated if 'state' != STATE_UNKNOWN.
+ *
+ * For Glonass, this is:
+ * Received Glonass time of day, at the measurement time in nanoseconds.
+ *
+ * Given the highest sync state that can be achieved, per each satellite, valid range for
+ * this field can be:
+ * Searching : [ 0 ] : STATE_UNKNOWN
+ * C/A code lock : [ 0 1ms ] : STATE_CODE_LOCK is set
+ * Symbol sync : [ 0 10ms ] : STATE_SYMBOL_SYNC is set
+ * Bit sync : [ 0 20ms ] : STATE_BIT_SYNC is set
+ * String sync : [ 0 2s ] : STATE_GLO_STRING_SYNC is set
+ * Time of day : [ 0 1day ] : STATE_GLO_TOD_DECODED is set
+ *
+ * For Beidou, this is:
+ * Received Beidou time of week, at the measurement time in nanoseconds.
+ *
+ * Given the highest sync state that can be achieved, per each satellite, valid range for
+ * this field can be:
+ * Searching : [ 0 ] : STATE_UNKNOWN
+ * C/A code lock : [ 0 1ms ] : STATE_CODE_LOCK is set
+ * Bit sync (D2) : [ 0 2ms ] : STATE_BDS_D2_BIT_SYNC is set
+ * Bit sync (D1) : [ 0 20ms ] : STATE_BIT_SYNC is set
+ * Subframe (D2) : [ 0 0.6s ] : STATE_BDS_D2_SUBFRAME_SYNC is set
+ * Subframe (D1) : [ 0 6s ] : STATE_SUBFRAME_SYNC is set
+ * Time of week : [ 0 1week ] : STATE_TOW_DECODED is set
+ *
+ * For Galileo, this is:
+ * Received Galileo time of week, at the measurement time in nanoseconds.
+ *
+ * E1BC code lock : [ 0 4ms ] : STATE_GAL_E1BC_CODE_LOCK is set
+ * E1C 2nd code lock : [ 0 100ms ] : STATE_GAL_E1C_2ND_CODE_LOCK is set
+ *
+ * E1B page : [ 0 2s ] : STATE_GAL_E1B_PAGE_SYNC is set
+ * Time of week : [ 0 1week ] : STATE_GAL_TOW_DECODED is set
+ *
+ * For SBAS, this is:
+ * Received SBAS time, at the measurement time in nanoseconds.
+ *
+ * Given the highest sync state that can be achieved, per each satellite, valid range for
+ * this field can be:
+ * Searching : [ 0 ] : STATE_UNKNOWN
+ * C/A code lock : [ 0 1ms ] : STATE_CODE_LOCK is set
+ * Symbol sync : [ 0 2ms ] : STATE_SYMBOL_SYNC is set
+ * Message : [ 0 1s ] : STATE_SBAS_SYNC is set
*/
- public long getReceivedGpsTowInNs() {
- return mReceivedGpsTowInNs;
+ public long getReceivedSvTimeInNs() {
+ return mReceivedSvTimeInNs;
}
/**
- * Sets the received GPS time-of-week in nanoseconds.
+ * Sets the received GNSS time in nanoseconds.
*/
- public void setReceivedGpsTowInNs(long value) {
- mReceivedGpsTowInNs = value;
+ public void setReceivedSvTimeInNs(long value) {
+ mReceivedSvTimeInNs = value;
}
/**
- * Gets the received GPS time-of-week's uncertainty (1-Sigma) in nanoseconds.
+ * Gets the received GNSS time uncertainty (1-Sigma) in nanoseconds.
*/
- public long getReceivedGpsTowUncertaintyInNs() {
- return mReceivedGpsTowUncertaintyInNs;
+ public long getReceivedSvTimeUncertaintyInNs() {
+ return mReceivedSvTimeUncertaintyInNs;
}
/**
- * Sets the received GPS time-of-week's uncertainty (1-Sigma) in nanoseconds.
+ * Sets the received GNSS time uncertainty (1-Sigma) in nanoseconds.
*/
- public void setReceivedGpsTowUncertaintyInNs(long value) {
- mReceivedGpsTowUncertaintyInNs = value;
+ public void setReceivedSvTimeUncertaintyInNs(long value) {
+ mReceivedSvTimeUncertaintyInNs = value;
}
/**
@@ -416,7 +480,7 @@
* value, {@code false} if it contains an uncorrected value.
*/
public boolean isPseudorangeRateCorrected() {
- return !isFlagSet(GPS_MEASUREMENT_HAS_UNCORRECTED_PSEUDORANGE_RATE);
+ return !isFlagSet(HAS_UNCORRECTED_PSEUDORANGE_RATE);
}
/**
@@ -1160,7 +1224,7 @@
}
/**
- * Gets a flag indicating whether the GPS represented by the measurement was used for computing
+ * Gets a flag indicating whether the GNSS represented by the measurement was used for computing
* the most recent fix.
*
* @return A non-null value if the data is available, null otherwise.
@@ -1176,34 +1240,6 @@
mUsedInFix = value;
}
- /**
- * Gets pseudorange rate (based on carrier phase changes) at the timestamp in m/s.
- */
- public double getPseudorangeRateCarrierInMetersPerSec() {
- return mPseudorangeRateCarrierInMetersPerSec;
- }
-
- /**
- * Sets pseudorange rate (based on carrier phase changes) at the timestamp in m/s.
- */
- public void setPseudorangeRateCarrierInMetersPerSec(double value) {
- mPseudorangeRateCarrierInMetersPerSec = value;
- }
-
- /**
- * Gets 1-Sigma uncertainty of the pseudorange rate carrier.
- */
- public double getPseudorangeRateCarrierUncertaintyInMetersPerSec() {
- return mPseudorangeRateCarrierUncertaintyInMetersPerSec;
- }
-
- /**
- * Sets 1-Sigma uncertainty of the pseudorange rate carrier.
- */
- public void setPseudorangeRateCarrierUncertaintyInMetersPerSec(double value) {
- mPseudorangeRateCarrierUncertaintyInMetersPerSec = value;
- }
-
public static final Creator<GnssMeasurement> CREATOR = new Creator<GnssMeasurement>() {
@Override
public GnssMeasurement createFromParcel(Parcel parcel) {
@@ -1211,10 +1247,11 @@
gnssMeasurement.mFlags = parcel.readInt();
gnssMeasurement.mSvid = (short) parcel.readInt();
+ gnssMeasurement.mConstellationType = parcel.readByte();
gnssMeasurement.mTimeOffsetInNs = parcel.readDouble();
gnssMeasurement.mState = (short) parcel.readInt();
- gnssMeasurement.mReceivedGpsTowInNs = parcel.readLong();
- gnssMeasurement.mReceivedGpsTowUncertaintyInNs = parcel.readLong();
+ gnssMeasurement.mReceivedSvTimeInNs = parcel.readLong();
+ gnssMeasurement.mReceivedSvTimeUncertaintyInNs = parcel.readLong();
gnssMeasurement.mCn0InDbHz = parcel.readDouble();
gnssMeasurement.mPseudorangeRateInMetersPerSec = parcel.readDouble();
gnssMeasurement.mPseudorangeRateUncertaintyInMetersPerSec = parcel.readDouble();
@@ -1241,8 +1278,6 @@
gnssMeasurement.mAzimuthInDeg = parcel.readDouble();
gnssMeasurement.mAzimuthUncertaintyInDeg = parcel.readDouble();
gnssMeasurement.mUsedInFix = parcel.readInt() != 0;
- gnssMeasurement.mPseudorangeRateCarrierInMetersPerSec = parcel.readDouble();
- gnssMeasurement.mPseudorangeRateCarrierUncertaintyInMetersPerSec = parcel.readDouble();
return gnssMeasurement;
}
@@ -1257,10 +1292,11 @@
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeInt(mFlags);
parcel.writeInt(mSvid);
+ parcel.writeByte(mConstellationType);
parcel.writeDouble(mTimeOffsetInNs);
parcel.writeInt(mState);
- parcel.writeLong(mReceivedGpsTowInNs);
- parcel.writeLong(mReceivedGpsTowUncertaintyInNs);
+ parcel.writeLong(mReceivedSvTimeInNs);
+ parcel.writeLong(mReceivedSvTimeUncertaintyInNs);
parcel.writeDouble(mCn0InDbHz);
parcel.writeDouble(mPseudorangeRateInMetersPerSec);
parcel.writeDouble(mPseudorangeRateUncertaintyInMetersPerSec);
@@ -1287,8 +1323,6 @@
parcel.writeDouble(mAzimuthInDeg);
parcel.writeDouble(mAzimuthUncertaintyInDeg);
parcel.writeInt(mUsedInFix ? 1 : 0);
- parcel.writeDouble(mPseudorangeRateCarrierInMetersPerSec);
- parcel.writeDouble(mPseudorangeRateCarrierUncertaintyInMetersPerSec);
}
@Override
@@ -1303,17 +1337,17 @@
StringBuilder builder = new StringBuilder("GnssMeasurement:\n");
builder.append(String.format(format, "Svid", mSvid));
-
+ builder.append(String.format(format, "ConstellationType", mConstellationType));
builder.append(String.format(format, "TimeOffsetInNs", mTimeOffsetInNs));
builder.append(String.format(format, "State", getStateString()));
builder.append(String.format(
formatWithUncertainty,
- "ReceivedGpsTowInNs",
- mReceivedGpsTowInNs,
- "ReceivedGpsTowUncertaintyInNs",
- mReceivedGpsTowUncertaintyInNs));
+ "ReceivedSvTimeInNs",
+ mReceivedSvTimeInNs,
+ "ReceivedSvTimeUncertaintyInNs",
+ mReceivedSvTimeUncertaintyInNs));
builder.append(String.format(format, "Cn0InDbHz", mCn0InDbHz));
@@ -1413,11 +1447,6 @@
builder.append(String.format(format, "UsedInFix", mUsedInFix));
- builder.append(String.format(format, "PseudorangeRateCarrierInMetersPerSec",
- mPseudorangeRateCarrierInMetersPerSec));
- builder.append(String.format(format, "PseudorangeRateCarrierUncertaintyInMetersPerSec",
- mPseudorangeRateCarrierUncertaintyInMetersPerSec));
-
return builder.toString();
}
@@ -1426,8 +1455,8 @@
setSvid((short) 0);
setTimeOffsetInNs(Long.MIN_VALUE);
setState(STATE_UNKNOWN);
- setReceivedGpsTowInNs(Long.MIN_VALUE);
- setReceivedGpsTowUncertaintyInNs(Long.MAX_VALUE);
+ setReceivedSvTimeInNs(Long.MIN_VALUE);
+ setReceivedSvTimeUncertaintyInNs(Long.MAX_VALUE);
setCn0InDbHz(Double.MIN_VALUE);
setPseudorangeRateInMetersPerSec(Double.MIN_VALUE);
setPseudorangeRateUncertaintyInMetersPerSec(Double.MIN_VALUE);
@@ -1454,8 +1483,6 @@
resetAzimuthInDeg();
resetAzimuthUncertaintyInDeg();
setUsedInFix(false);
- setPseudorangeRateCarrierInMetersPerSec(Double.MIN_VALUE);
- setPseudorangeRateCarrierUncertaintyInMetersPerSec(Double.MIN_VALUE);
}
private void setFlag(int flag) {
diff --git a/location/java/android/location/GnssNavigationMessage.java b/location/java/android/location/GnssNavigationMessage.java
index 86328eb..faefd0bb 100644
--- a/location/java/android/location/GnssNavigationMessage.java
+++ b/location/java/android/location/GnssNavigationMessage.java
@@ -34,36 +34,33 @@
/** The type of the GPS Clock. */
@Retention(RetentionPolicy.SOURCE)
- @IntDef({MESSAGE_TYPE_UNKNOWN, MESSAGE_TYPE_L1CA, MESSAGE_TYPE_L2CNAV, MESSAGE_TYPE_L5CNAV,
- MESSAGE_TYPE_CNAV2})
+ @IntDef({MESSAGE_TYPE_UNKNOWN, MESSAGE_TYPE_GPS_L1CA, MESSAGE_TYPE_GPS_L2CNAV,
+ MESSAGE_TYPE_GPS_L5CNAV, MESSAGE_TYPE_GPS_CNAV2, MESSAGE_TYPE_GLO_L1CA, MESSAGE_TYPE_BDS_D1,
+ MESSAGE_TYPE_BDS_D2, MESSAGE_TYPE_GAL_I, MESSAGE_TYPE_GAL_F})
public @interface GnssNavigationMessageType {}
// The following enumerations must be in sync with the values declared in gps.h
- /**
- * The type of the navigation message is not available or unknown.
- */
- public static final byte MESSAGE_TYPE_UNKNOWN = 0;
-
- /**
- * The Navigation Message is of type L1 C/A.
- */
- public static final byte MESSAGE_TYPE_L1CA = 1;
-
- /**
- * The Navigation Message is of type L1-CNAV.
- */
- public static final byte MESSAGE_TYPE_L2CNAV = 2;
-
- /**
- * The Navigation Message is of type L5-CNAV.
- */
- public static final byte MESSAGE_TYPE_L5CNAV = 3;
-
- /**
- * The Navigation Message is of type CNAV-2.
- */
- public static final byte MESSAGE_TYPE_CNAV2 = 4;
+ /** Message type unknown */
+ public static final short MESSAGE_TYPE_UNKNOWN = 0;
+ /** GPS L1 C/A message contained in the structure. */
+ public static final short MESSAGE_TYPE_GPS_L1CA = 0x0101;
+ /** GPS L2-CNAV message contained in the structure. */
+ public static final short MESSAGE_TYPE_GPS_L2CNAV = 0x0102;
+ /** GPS L5-CNAV message contained in the structure. */
+ public static final short MESSAGE_TYPE_GPS_L5CNAV = 0x0103;
+ /** GPS CNAV-2 message contained in the structure. */
+ public static final short MESSAGE_TYPE_GPS_CNAV2 = 0x0104;
+ /** Glonass L1 CA message contained in the structure. */
+ public static final short MESSAGE_TYPE_GLO_L1CA = 0x0301;
+ /** Beidou D1 message contained in the structure. */
+ public static final short MESSAGE_TYPE_BDS_D1 = 0x0501;
+ /** Beidou D2 message contained in the structure. */
+ public static final short MESSAGE_TYPE_BDS_D2 = 0x0502;
+ /** Galileo I/NAV message contained in the structure. */
+ public static final short MESSAGE_TYPE_GAL_I = 0x0601;
+ /** Galileo F/NAV message contained in the structure. */
+ public static final short MESSAGE_TYPE_GAL_F = 0x0602;
/**
* The Navigation Message Status is 'unknown'.
@@ -83,7 +80,7 @@
// End enumerations in sync with gps.h
- private byte mType;
+ private short mType;
private short mSvid;
private short mMessageId;
private short mSubmessageId;
@@ -117,14 +114,14 @@
* Gets the type of the navigation message contained in the object.
*/
@GnssNavigationMessageType
- public byte getType() {
+ public short getType() {
return mType;
}
/**
* Sets the type of the navigation message.
*/
- public void setType(@GnssNavigationMessageType byte value) {
+ public void setType(@GnssNavigationMessageType short value) {
mType = value;
}
@@ -136,14 +133,24 @@
switch (mType) {
case MESSAGE_TYPE_UNKNOWN:
return "Unknown";
- case MESSAGE_TYPE_L1CA:
- return "L1 C/A";
- case MESSAGE_TYPE_L2CNAV:
- return "L2-CNAV";
- case MESSAGE_TYPE_L5CNAV:
- return "L5-CNAV";
- case MESSAGE_TYPE_CNAV2:
- return "CNAV-2";
+ case MESSAGE_TYPE_GPS_L1CA:
+ return "GPS L1 C/A";
+ case MESSAGE_TYPE_GPS_L2CNAV:
+ return "GPS L2-CNAV";
+ case MESSAGE_TYPE_GPS_L5CNAV:
+ return "GPS L5-CNAV";
+ case MESSAGE_TYPE_GPS_CNAV2:
+ return "GPS CNAV2";
+ case MESSAGE_TYPE_GLO_L1CA:
+ return "Glonass L1 C/A";
+ case MESSAGE_TYPE_BDS_D1:
+ return "Beidou D1";
+ case MESSAGE_TYPE_BDS_D2:
+ return "Beidou D2";
+ case MESSAGE_TYPE_GAL_I:
+ return "Galileo I";
+ case MESSAGE_TYPE_GAL_F:
+ return "Galileo F";
default:
return "<Invalid:" + mType + ">";
}
@@ -255,7 +262,7 @@
public GnssNavigationMessage createFromParcel(Parcel parcel) {
GnssNavigationMessage navigationMessage = new GnssNavigationMessage();
- navigationMessage.setType(parcel.readByte());
+ navigationMessage.setType((short) parcel.readInt());
navigationMessage.setSvid((short) parcel.readInt());
navigationMessage.setMessageId((short) parcel.readInt());
navigationMessage.setSubmessageId((short) parcel.readInt());
@@ -283,7 +290,7 @@
@Override
public void writeToParcel(Parcel parcel, int flags) {
- parcel.writeByte(mType);
+ parcel.writeInt(mType);
parcel.writeInt(mSvid);
parcel.writeInt(mMessageId);
parcel.writeInt(mSubmessageId);
diff --git a/location/java/android/location/GnssStatus.java b/location/java/android/location/GnssStatus.java
index 906e944..06ce30c 100644
--- a/location/java/android/location/GnssStatus.java
+++ b/location/java/android/location/GnssStatus.java
@@ -16,25 +16,36 @@
package android.location;
+import android.annotation.IntDef;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
/**
* This class represents the current state of the GNSS engine.
* This class is used in conjunction with the {@link GnssStatusCallback}.
*/
public final class GnssStatus {
/** Unknown constellation type. */
- public static final int CONSTELLATION_UNKNOWN = 0;
+ public static final byte CONSTELLATION_UNKNOWN = 0;
/** Constellation type constant for GPS. */
- public static final int CONSTELLATION_GPS = 1;
+ public static final byte CONSTELLATION_GPS = 1;
/** Constellation type constant for SBAS. */
- public static final int CONSTELLATION_SBAS = 2;
+ public static final byte CONSTELLATION_SBAS = 2;
/** Constellation type constant for Glonass. */
- public static final int CONSTELLATION_GLONASS = 3;
+ public static final byte CONSTELLATION_GLONASS = 3;
/** Constellation type constant for QZSS. */
- public static final int CONSTELLATION_QZSS = 4;
+ public static final byte CONSTELLATION_QZSS = 4;
/** Constellation type constant for Beidou. */
- public static final int CONSTELLATION_BEIDOU = 5;
+ public static final byte CONSTELLATION_BEIDOU = 5;
/** Constellation type constant for Galileo. */
- public static final int CONSTELLATION_GALILEO = 6;
+ public static final byte CONSTELLATION_GALILEO = 6;
+
+ /** Constellation type. */
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef({CONSTELLATION_UNKNOWN, CONSTELLATION_GPS, CONSTELLATION_SBAS, CONSTELLATION_GLONASS,
+ CONSTELLATION_QZSS, CONSTELLATION_BEIDOU, CONSTELLATION_GALILEO})
+ public @interface ConstellationType {}
// these must match the definitions in gps.h
/** @hide */
@@ -80,9 +91,10 @@
* Retrieves the constellation type of the satellite at the specified position.
* @param satIndex the index of the satellite in the list.
*/
- public int getConstellationType(int satIndex) {
- return (mSvidWithFlags[satIndex] >> CONSTELLATION_TYPE_SHIFT_WIDTH)
- & CONSTELLATION_TYPE_MASK;
+ @ConstellationType
+ public byte getConstellationType(int satIndex) {
+ return (byte) ((mSvidWithFlags[satIndex] >> CONSTELLATION_TYPE_SHIFT_WIDTH)
+ & CONSTELLATION_TYPE_MASK);
}
/**
diff --git a/location/java/android/location/GpsStatus.java b/location/java/android/location/GpsStatus.java
index e41e20c..7b3dd7d 100644
--- a/location/java/android/location/GpsStatus.java
+++ b/location/java/android/location/GpsStatus.java
@@ -147,7 +147,6 @@
& GnssStatus.CONSTELLATION_TYPE_MASK;
// Skip all non-GPS satellites.
if (constellationType != GnssStatus.CONSTELLATION_GPS) {
- // TODO: translate the defacto pre-N use of prn's >32 to new struct
continue;
}
int prn = svidWithFlags[i] >> GnssStatus.SVID_SHIFT_WIDTH;
diff --git a/location/java/android/location/ILocationManager.aidl b/location/java/android/location/ILocationManager.aidl
index 4f1e039..bc8b026 100644
--- a/location/java/android/location/ILocationManager.aidl
+++ b/location/java/android/location/ILocationManager.aidl
@@ -69,7 +69,7 @@
in String packageName);
void removeGnssNavigationMessageListener(in IGnssNavigationMessageListener listener);
- int getGpsYearOfHardware();
+ int getGnssYearOfHardware();
// --- deprecated ---
List<String> getAllProviders();
diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java
index 23f0710..e14e36d 100644
--- a/location/java/android/location/LocationManager.java
+++ b/location/java/android/location/LocationManager.java
@@ -1959,11 +1959,11 @@
* @hide
*/
@TestApi
- public int getGpsYearOfHardware() {
+ public int getGnssYearOfHardware() {
try {
- return mService.getGpsYearOfHardware();
+ return mService.getGnssYearOfHardware();
} catch (RemoteException e) {
- Log.e(TAG, "RemoteException in getGpsSystemInfo: ", e);
+ Log.e(TAG, "RemoteException in getGnssSystemInfo: ", e);
return 0;
}
}
diff --git a/media/java/android/media/MediaFormat.java b/media/java/android/media/MediaFormat.java
index d06da97..646ab4e 100644
--- a/media/java/android/media/MediaFormat.java
+++ b/media/java/android/media/MediaFormat.java
@@ -65,6 +65,7 @@
* <tr><th>Name</th><th>Value Type</th><th>Description</th></tr>
* <tr><td>{@link #KEY_CHANNEL_COUNT}</td><td>Integer</td><td></td></tr>
* <tr><td>{@link #KEY_SAMPLE_RATE}</td><td>Integer</td><td></td></tr>
+ * <tr><td>{@link #KEY_PCM_ENCODING}</td><td>Integer</td><td>optional</td></tr>
* <tr><td>{@link #KEY_IS_ADTS}</td><td>Integer</td><td>optional, if <em>decoding</em> AAC audio content, setting this key to 1 indicates that each audio frame is prefixed by the ADTS header.</td></tr>
* <tr><td>{@link #KEY_AAC_PROFILE}</td><td>Integer</td><td><b>encoder-only</b>, optional, if content is AAC audio, specifies the desired profile.</td></tr>
* <tr><td>{@link #KEY_AAC_SBR_MODE}</td><td>Integer</td><td><b>encoder-only</b>, optional, if content is AAC audio, specifies the desired SBR mode.</td></tr>
@@ -197,6 +198,26 @@
public static final String KEY_FRAME_RATE = "frame-rate";
/**
+ * A key describing the raw audio sample encoding/format.
+ *
+ * <p>The associated value is an integer, using one of the
+ * {@link AudioFormat}.ENCODING_PCM_ values.</p>
+ *
+ * <p>This is an optional key for audio decoders and encoders specifying the
+ * desired raw audio sample format during {@link MediaCodec#configure
+ * MediaCodec.configure(…)} call. Use {@link MediaCodec#getInputFormat
+ * MediaCodec.getInput}/{@link MediaCodec#getOutputFormat OutputFormat(…)}
+ * to confirm the actual format. For the PCM decoder this key specifies both
+ * input and output sample encodings.</p>
+ *
+ * <p>This key is also used by {@link MediaExtractor} to specify the sample
+ * format of audio data, if it is specified.</p>
+ *
+ * <p>If this key is missing, the raw audio sample format is signed 16-bit short.</p>
+ */
+ public static final String KEY_PCM_ENCODING = "pcm-encoding";
+
+ /**
* A key describing the capture rate of a video format in frames/sec.
* <p>
* When capture rate is different than the frame rate, it means that the
@@ -564,7 +585,7 @@
public static final String KEY_IS_TIMED_TEXT = "is-timed-text";
// The following color aspect values must be in sync with the ones in HardwareAPI.h.
- /*
+ /**
* An optional key describing the color primaries, white point and
* luminance factors for video content.
*
diff --git a/media/java/android/media/session/ISessionCallback.aidl b/media/java/android/media/session/ISessionCallback.aidl
index adb6b06..893bd3c 100644
--- a/media/java/android/media/session/ISessionCallback.aidl
+++ b/media/java/android/media/session/ISessionCallback.aidl
@@ -29,6 +29,10 @@
void onMediaButton(in Intent mediaButtonIntent, int sequenceNumber, in ResultReceiver cb);
// These callbacks are for the TransportPerformer
+ void onPrepare();
+ void onPrepareFromMediaId(String mediaId, in Bundle extras);
+ void onPrepareFromSearch(String query, in Bundle extras);
+ void onPrepareFromUri(in Uri uri, in Bundle extras);
void onPlay();
void onPlayFromMediaId(String mediaId, in Bundle extras);
void onPlayFromSearch(String query, in Bundle extras);
diff --git a/media/java/android/media/session/ISessionController.aidl b/media/java/android/media/session/ISessionController.aidl
index 285e5f7..249bcdc 100644
--- a/media/java/android/media/session/ISessionController.aidl
+++ b/media/java/android/media/session/ISessionController.aidl
@@ -50,6 +50,10 @@
void setVolumeTo(int value, int flags, String packageName);
// These commands are for the TransportControls
+ void prepare();
+ void prepareFromMediaId(String mediaId, in Bundle extras);
+ void prepareFromSearch(String string, in Bundle extras);
+ void prepareFromUri(in Uri uri, in Bundle extras);
void play();
void playFromMediaId(String mediaId, in Bundle extras);
void playFromSearch(String string, in Bundle extras);
diff --git a/media/java/android/media/session/MediaController.java b/media/java/android/media/session/MediaController.java
index 3d9b60d..13db00e 100644
--- a/media/java/android/media/session/MediaController.java
+++ b/media/java/android/media/session/MediaController.java
@@ -592,6 +592,90 @@
}
/**
+ * Request that the player prepare its playback. Once the preparation is done, the session
+ * will change its playback state to {@link PlaybackState#STATE_PAUSED}. Afterwards,
+ * {@link #play} can be called to start playback. If the preparation is not needed,
+ * {@link #play} can be directly called without this method.
+ */
+ public void prepare() {
+ try {
+ mSessionBinder.prepare();
+ } catch (RemoteException e) {
+ Log.wtf(TAG, "Error calling prepare.", e);
+ }
+ }
+
+ /**
+ * Request that the player prepare playback for a specific media id. Once the preparation is
+ * done, the session will change its playback state to {@link PlaybackState#STATE_PAUSED}.
+ * Afterwards, {@link #play} can be called to start playback. If the preparation is not
+ * needed, {@link #playFromMediaId} can be directly called without this method.
+ *
+ * @param mediaId The id of the requested media.
+ * @param extras Optional extras that can include extra information about the media item
+ * to be prepared.
+ */
+ public void prepareFromMediaId(String mediaId, Bundle extras) {
+ if (TextUtils.isEmpty(mediaId)) {
+ throw new IllegalArgumentException(
+ "You must specify a non-empty String for prepareFromMediaId.");
+ }
+ try {
+ mSessionBinder.prepareFromMediaId(mediaId, extras);
+ } catch (RemoteException e) {
+ Log.wtf(TAG, "Error calling prepare(" + mediaId + ").", e);
+ }
+ }
+
+ /**
+ * Request that the player prepare playback for a specific search query.
+ * An empty or null query should be treated as a request to prepare any
+ * music. Once the preparation is done, the session will change its playback state to
+ * {@link PlaybackState#STATE_PAUSED}. Afterwards, {@link #play} can be called to start
+ * playback. If the preparation is not needed, {@link #playFromSearch} can be directly
+ * called without this method.
+ *
+ * @param query The search query.
+ * @param extras Optional extras that can include extra information
+ * about the query.
+ */
+ public void prepareFromSearch(String query, Bundle extras) {
+ if (query == null) {
+ // This is to remain compatible with
+ // INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH
+ query = "";
+ }
+ try {
+ mSessionBinder.prepareFromSearch(query, extras);
+ } catch (RemoteException e) {
+ Log.wtf(TAG, "Error calling prepare(" + query + ").", e);
+ }
+ }
+
+ /**
+ * Request that the player prepare playback for a specific {@link Uri}.
+ * Once the preparation is done, the session will change its playback state to
+ * {@link PlaybackState#STATE_PAUSED}. Afterwards, {@link #play} can be called to start
+ * playback. If the preparation is not needed, {@link #playFromUri} can be directly
+ * called without this method.
+ *
+ * @param uri The URI of the requested media.
+ * @param extras Optional extras that can include extra information about the media item
+ * to be prepared.
+ */
+ public void prepareFromUri(Uri uri, Bundle extras) {
+ if (uri == null || Uri.EMPTY.equals(uri)) {
+ throw new IllegalArgumentException(
+ "You must specify a non-empty Uri for prepareFromUri.");
+ }
+ try {
+ mSessionBinder.prepareFromUri(uri, extras);
+ } catch (RemoteException e) {
+ Log.wtf(TAG, "Error calling prepare(" + uri + ").", e);
+ }
+ }
+
+ /**
* Request that the player start its playback at its current position.
*/
public void play() {
@@ -605,7 +689,6 @@
/**
* Request that the player start playback for a specific media id.
*
- * @see PlaybackState#EXTRA_PREPARE_ONLY
* @param mediaId The id of the requested media.
* @param extras Optional extras that can include extra information about the media item
* to be played.
@@ -627,10 +710,9 @@
* An empty or null query should be treated as a request to play any
* music.
*
- * @see PlaybackState#EXTRA_PREPARE_ONLY
* @param query The search query.
* @param extras Optional extras that can include extra information
- * about the query.
+ * about the query.
*/
public void playFromSearch(String query, Bundle extras) {
if (query == null) {
@@ -648,8 +730,7 @@
/**
* Request that the player start playback for a specific {@link Uri}.
*
- * @see PlaybackState#EXTRA_PREPARE_ONLY
- * @param uri The URI of the requested media.
+ * @param uri The URI of the requested media.
* @param extras Optional extras that can include extra information about the media item
* to be played.
*/
diff --git a/media/java/android/media/session/MediaSession.java b/media/java/android/media/session/MediaSession.java
index 8c5b19c..3b1b6c8 100644
--- a/media/java/android/media/session/MediaSession.java
+++ b/media/java/android/media/session/MediaSession.java
@@ -87,12 +87,6 @@
public static final int FLAG_HANDLES_TRANSPORT_CONTROLS = 1 << 1;
/**
- * Set this flag on the session to indicate that it can handle
- * the {@link PlaybackState#EXTRA_PREPARE_ONLY} field.
- */
- public static final int FLAG_HANDLES_PREPARE_ONLY = 1 << 2;
-
- /**
* System only flag for a session that needs to have priority over all other
* sessions. This flag ensures this session will receive media button events
* regardless of the current ordering in the system.
@@ -106,7 +100,6 @@
@IntDef(flag = true, value = {
FLAG_HANDLES_MEDIA_BUTTONS,
FLAG_HANDLES_TRANSPORT_CONTROLS,
- FLAG_HANDLES_PREPARE_ONLY,
FLAG_EXCLUSIVE_GLOBAL_PRIORITY })
public @interface SessionFlags { }
@@ -519,6 +512,22 @@
}
}
+ private void dispatchPrepare() {
+ postToCallback(CallbackMessageHandler.MSG_PREPARE);
+ }
+
+ private void dispatchPrepareFromMediaId(String mediaId, Bundle extras) {
+ postToCallback(CallbackMessageHandler.MSG_PREPARE_MEDIA_ID, mediaId, extras);
+ }
+
+ private void dispatchPrepareFromSearch(String query, Bundle extras) {
+ postToCallback(CallbackMessageHandler.MSG_PREPARE_SEARCH, query, extras);
+ }
+
+ private void dispatchPrepareFromUri(Uri uri, Bundle extras) {
+ postToCallback(CallbackMessageHandler.MSG_PREPARE_URI, uri, extras);
+ }
+
private void dispatchPlay() {
postToCallback(CallbackMessageHandler.MSG_PLAY);
}
@@ -805,16 +814,49 @@
}
/**
- * Override to handle requests to begin playback.
+ * Override to handle requests to prepare playback. The state of playback should be updated
+ * to {@link PlaybackState#STATE_PAUSED} after the preparation is done. Override
+ * {@link #onPlay} to handle requests for starting playback of prepared content.
*/
- public void onPlay() {
+ public void onPrepare() {
}
/**
- * Override to handle requests to play a specific mediaId that was
- * provided by your app's {@link MediaBrowserService}.
+ * Override to handle requests to prepare for playing a specific mediaId that was provided
+ * by your app's {@link MediaBrowserService}. The state of playback should be updated
+ * to {@link PlaybackState#STATE_PAUSED} after the preparation is done. The playback of
+ * the prepared content should start in the implementation of {@link #onPlay}. Override
+ * {@link #onPlayFromMediaId} to handle requests for starting playback without preparation.
*/
- public void onPlayFromMediaId(String mediaId, Bundle extras) {
+ public void onPrepareFromMediaId(String mediaId, Bundle extras) {
+ }
+
+ /**
+ * Override to handle requests to prepare playback from a search query. An
+ * empty query indicates that the app may prepare any music. The
+ * implementation should attempt to make a smart choice about what to
+ * play. The state of playback should be updated to {@link PlaybackState#STATE_PAUSED}
+ * after the preparation is done. The playback of the prepared content should start
+ * in the implementation of {@link #onPlay}. Override {@link #onPlayFromSearch}
+ * to handle requests for starting playback without preparation.
+ */
+ public void onPrepareFromSearch(String query, Bundle extras) {
+ }
+
+ /**
+ * Override to handle requests to prepare a specific media item represented by a URI.
+ * The state of playback should be updated to {@link PlaybackState#STATE_PAUSED}
+ * after the preparation is done. The playback of the prepared content should start in
+ * the implementation of {@link #onPlay}. Override {@link #onPlayFromUri} to handle requests
+ * for starting playback without preparation.
+ */
+ public void onPrepareFromUri(Uri uri, Bundle extras) {
+ }
+
+ /**
+ * Override to handle requests to begin playback.
+ */
+ public void onPlay() {
}
/**
@@ -827,6 +869,13 @@
}
/**
+ * Override to handle requests to play a specific mediaId that was
+ * provided by your app's {@link MediaBrowserService}.
+ */
+ public void onPlayFromMediaId(String mediaId, Bundle extras) {
+ }
+
+ /**
* Override to handle requests to play a specific media item represented by a URI.
*/
public void onPlayFromUri(Uri uri, Bundle extras) {
@@ -937,6 +986,38 @@
}
@Override
+ public void onPrepare() {
+ MediaSession session = mMediaSession.get();
+ if (session != null) {
+ session.dispatchPrepare();
+ }
+ }
+
+ @Override
+ public void onPrepareFromMediaId(String mediaId, Bundle extras) {
+ MediaSession session = mMediaSession.get();
+ if (session != null) {
+ session.dispatchPrepareFromMediaId(mediaId, extras);
+ }
+ }
+
+ @Override
+ public void onPrepareFromSearch(String query, Bundle extras) {
+ MediaSession session = mMediaSession.get();
+ if (session != null) {
+ session.dispatchPrepareFromSearch(query, extras);
+ }
+ }
+
+ @Override
+ public void onPrepareFromUri(Uri uri, Bundle extras) {
+ MediaSession session = mMediaSession.get();
+ if (session != null) {
+ session.dispatchPrepareFromUri(uri, extras);
+ }
+ }
+
+ @Override
public void onPlay() {
MediaSession session = mMediaSession.get();
if (session != null) {
@@ -1162,24 +1243,28 @@
private class CallbackMessageHandler extends Handler {
- private static final int MSG_PLAY = 1;
- private static final int MSG_PLAY_MEDIA_ID = 2;
- private static final int MSG_PLAY_SEARCH = 3;
- private static final int MSG_SKIP_TO_ITEM = 4;
- private static final int MSG_PAUSE = 5;
- private static final int MSG_STOP = 6;
- private static final int MSG_NEXT = 7;
- private static final int MSG_PREVIOUS = 8;
- private static final int MSG_FAST_FORWARD = 9;
- private static final int MSG_REWIND = 10;
- private static final int MSG_SEEK_TO = 11;
- private static final int MSG_RATE = 12;
- private static final int MSG_CUSTOM_ACTION = 13;
- private static final int MSG_MEDIA_BUTTON = 14;
- private static final int MSG_COMMAND = 15;
- private static final int MSG_ADJUST_VOLUME = 16;
- private static final int MSG_SET_VOLUME = 17;
- private static final int MSG_PLAY_URI = 18;
+ private static final int MSG_COMMAND = 1;
+ private static final int MSG_MEDIA_BUTTON = 2;
+ private static final int MSG_PREPARE = 3;
+ private static final int MSG_PREPARE_MEDIA_ID = 4;
+ private static final int MSG_PREPARE_SEARCH = 5;
+ private static final int MSG_PREPARE_URI = 6;
+ private static final int MSG_PLAY = 7;
+ private static final int MSG_PLAY_MEDIA_ID = 8;
+ private static final int MSG_PLAY_SEARCH = 9;
+ private static final int MSG_PLAY_URI = 10;
+ private static final int MSG_SKIP_TO_ITEM = 11;
+ private static final int MSG_PAUSE = 12;
+ private static final int MSG_STOP = 13;
+ private static final int MSG_NEXT = 14;
+ private static final int MSG_PREVIOUS = 15;
+ private static final int MSG_FAST_FORWARD = 16;
+ private static final int MSG_REWIND = 17;
+ private static final int MSG_SEEK_TO = 18;
+ private static final int MSG_RATE = 19;
+ private static final int MSG_CUSTOM_ACTION = 20;
+ private static final int MSG_ADJUST_VOLUME = 21;
+ private static final int MSG_SET_VOLUME = 22;
private MediaSession.Callback mCallback;
@@ -1210,6 +1295,25 @@
public void handleMessage(Message msg) {
VolumeProvider vp;
switch (msg.what) {
+ case MSG_COMMAND:
+ Command cmd = (Command) msg.obj;
+ mCallback.onCommand(cmd.command, cmd.extras, cmd.stub);
+ break;
+ case MSG_MEDIA_BUTTON:
+ mCallback.onMediaButtonEvent((Intent) msg.obj);
+ break;
+ case MSG_PREPARE:
+ mCallback.onPrepare();
+ break;
+ case MSG_PREPARE_MEDIA_ID:
+ mCallback.onPrepareFromMediaId((String) msg.obj, msg.getData());
+ break;
+ case MSG_PREPARE_SEARCH:
+ mCallback.onPrepareFromSearch((String) msg.obj, msg.getData());
+ break;
+ case MSG_PREPARE_URI:
+ mCallback.onPrepareFromUri((Uri) msg.obj, msg.getData());
+ break;
case MSG_PLAY:
mCallback.onPlay();
break;
@@ -1252,13 +1356,6 @@
case MSG_CUSTOM_ACTION:
mCallback.onCustomAction((String) msg.obj, msg.getData());
break;
- case MSG_MEDIA_BUTTON:
- mCallback.onMediaButtonEvent((Intent) msg.obj);
- break;
- case MSG_COMMAND:
- Command cmd = (Command) msg.obj;
- mCallback.onCommand(cmd.command, cmd.extras, cmd.stub);
- break;
case MSG_ADJUST_VOLUME:
synchronized (mLock) {
vp = mVolumeProvider;
diff --git a/media/java/android/media/session/PlaybackState.java b/media/java/android/media/session/PlaybackState.java
index 1079a1f..1485cd7 100644
--- a/media/java/android/media/session/PlaybackState.java
+++ b/media/java/android/media/session/PlaybackState.java
@@ -133,19 +133,32 @@
public static final long ACTION_PLAY_FROM_URI = 1 << 13;
/**
- * Used as an optional boolean extra field in
- * {@link MediaController.TransportControls#playFromMediaId},
- * {@link MediaController.TransportControls#playFromSearch}, and
- * {@link MediaController.TransportControls#playFromUri}. Value of {@code true} overrides
- * the default behavior of starting the playback after preparing. Check
- * {@link MediaSession#FLAG_HANDLES_PREPARE_ONLY} to see if the media session supports this.
+ * Indicates this session supports the prepare command.
*
- * @see MediaSession#FLAG_HANDLES_PREPARE_ONLY
- * @see MediaController.TransportControls#playFromMediaId
- * @see MediaController.TransportControls#playFromSearch
- * @see MediaController.TransportControls#playFromUri
+ * @see Builder#setActions(long)
*/
- public static final String EXTRA_PREPARE_ONLY = "android.media.session.extra.PREPARE_ONLY";
+ public static final long ACTION_PREPARE = 1 << 14;
+
+ /**
+ * Indicates this session supports the prepare from media id command.
+ *
+ * @see Builder#setActions(long)
+ */
+ public static final long ACTION_PREPARE_FROM_MEDIA_ID = 1 << 15;
+
+ /**
+ * Indicates this session supports the prepare from search command.
+ *
+ * @see Builder#setActions(long)
+ */
+ public static final long ACTION_PREPARE_FROM_SEARCH = 1 << 16;
+
+ /**
+ * Indicates this session supports the prepare from URI command.
+ *
+ * @see Builder#setActions(long)
+ */
+ public static final long ACTION_PREPARE_FROM_URI = 1 << 17;
/**
* This is the default playback state and indicates that no media has been
@@ -330,6 +343,10 @@
* <li> {@link PlaybackState#STATE_REWINDING}</li>
* <li> {@link PlaybackState#STATE_BUFFERING}</li>
* <li> {@link PlaybackState#STATE_ERROR}</li>
+ * <li> {@link PlaybackState#STATE_CONNECTING}</li>
+ * <li> {@link PlaybackState#STATE_SKIPPING_TO_PREVIOUS}</li>
+ * <li> {@link PlaybackState#STATE_SKIPPING_TO_NEXT}</li>
+ * <li> {@link PlaybackState#STATE_SKIPPING_TO_QUEUE_ITEM}</li>
* </ul>
*/
public int getState() {
@@ -380,6 +397,10 @@
* <li> {@link PlaybackState#ACTION_PLAY_FROM_SEARCH}</li>
* <li> {@link PlaybackState#ACTION_SKIP_TO_QUEUE_ITEM}</li>
* <li> {@link PlaybackState#ACTION_PLAY_FROM_URI}</li>
+ * <li> {@link PlaybackState#ACTION_PREPARE}</li>
+ * <li> {@link PlaybackState#ACTION_PREPARE_FROM_MEDIA_ID}</li>
+ * <li> {@link PlaybackState#ACTION_PREPARE_FROM_SEARCH}</li>
+ * <li> {@link PlaybackState#ACTION_PREPARE_FROM_URI}</li>
* </ul>
*/
public long getActions() {
@@ -831,6 +852,10 @@
* <li> {@link PlaybackState#STATE_REWINDING}</li>
* <li> {@link PlaybackState#STATE_BUFFERING}</li>
* <li> {@link PlaybackState#STATE_ERROR}</li>
+ * <li> {@link PlaybackState#STATE_CONNECTING}</li>
+ * <li> {@link PlaybackState#STATE_SKIPPING_TO_PREVIOUS}</li>
+ * <li> {@link PlaybackState#STATE_SKIPPING_TO_NEXT}</li>
+ * <li> {@link PlaybackState#STATE_SKIPPING_TO_QUEUE_ITEM}</li>
* </ul>
*
* @param state The current state of playback.
@@ -870,6 +895,10 @@
* <li> {@link PlaybackState#STATE_REWINDING}</li>
* <li> {@link PlaybackState#STATE_BUFFERING}</li>
* <li> {@link PlaybackState#STATE_ERROR}</li>
+ * <li> {@link PlaybackState#STATE_CONNECTING}</li>
+ * <li> {@link PlaybackState#STATE_SKIPPING_TO_PREVIOUS}</li>
+ * <li> {@link PlaybackState#STATE_SKIPPING_TO_NEXT}</li>
+ * <li> {@link PlaybackState#STATE_SKIPPING_TO_QUEUE_ITEM}</li>
* </ul>
*
* @param state The current state of playback.
@@ -900,6 +929,10 @@
* <li> {@link PlaybackState#ACTION_PLAY_FROM_SEARCH}</li>
* <li> {@link PlaybackState#ACTION_SKIP_TO_QUEUE_ITEM}</li>
* <li> {@link PlaybackState#ACTION_PLAY_FROM_URI}</li>
+ * <li> {@link PlaybackState#ACTION_PREPARE}</li>
+ * <li> {@link PlaybackState#ACTION_PREPARE_FROM_MEDIA_ID}</li>
+ * <li> {@link PlaybackState#ACTION_PREPARE_FROM_SEARCH}</li>
+ * <li> {@link PlaybackState#ACTION_PREPARE_FROM_URI}</li>
* </ul>
*
* @param actions The set of actions allowed.
diff --git a/media/java/android/media/tv/TvContract.java b/media/java/android/media/tv/TvContract.java
index 7b8e4b2..1c11842 100644
--- a/media/java/android/media/tv/TvContract.java
+++ b/media/java/android/media/tv/TvContract.java
@@ -1314,6 +1314,8 @@
private static final char COMMA = ',';
private static final String DELIMITER = ",";
+ private static final String[] EMPTY_STRING_ARRAY = new String[0];
+
private Genres() {}
/**
@@ -1359,6 +1361,12 @@
* @return genre strings.
*/
public static String[] decode(String genres) {
+ if (genres.isEmpty()) {
+ return EMPTY_STRING_ARRAY;
+ }
+ if (genres.indexOf(COMMA) == -1 && genres.indexOf(DOUBLE_QUOTE) == -1) {
+ return new String[] {genres.trim()};
+ }
StringBuilder sb = new StringBuilder();
List<String> results = new ArrayList<>();
int length = genres.length();
diff --git a/packages/DocumentsUI/res/values-ro/strings.xml b/packages/DocumentsUI/res/values-ro/strings.xml
index 565a4e9..ee0e883 100644
--- a/packages/DocumentsUI/res/values-ro/strings.xml
+++ b/packages/DocumentsUI/res/values-ro/strings.xml
@@ -117,5 +117,5 @@
<string name="rename_error" msgid="4203041674883412606">"Documentul nu a putut fi redenumit"</string>
<string name="notification_copy_files_converted_title" msgid="3153573223054275181">"Unele fișiere au fost convertite"</string>
<string name="allow" msgid="7225948811296386551">"Permiteți"</string>
- <string name="deny" msgid="2081879885755434506">"Refuzaţi"</string>
+ <string name="deny" msgid="2081879885755434506">"Refuzați"</string>
</resources>
diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
index fd96391..216509d 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
@@ -18,6 +18,7 @@
import static com.android.documentsui.Shared.DEBUG;
import static com.android.documentsui.Shared.TAG;
+import static com.android.internal.util.Preconditions.checkState;
import android.content.ContentProviderClient;
import android.content.ContentResolver;
@@ -40,6 +41,7 @@
import com.android.documentsui.model.RootInfo;
import com.android.internal.annotations.GuardedBy;
+import com.android.internal.util.Preconditions;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
@@ -85,15 +87,13 @@
// Create a new anonymous "Recents" RootInfo. It's a faker.
mRecentsRoot = new RootInfo() {{
- // Special root for recents
- authority = null;
- rootId = null;
- derivedIcon = R.drawable.ic_root_recent;
- derivedType = RootInfo.TYPE_RECENTS;
- flags = Root.FLAG_LOCAL_ONLY | Root.FLAG_SUPPORTS_IS_CHILD;
- title = mContext.getString(R.string.root_recent);
- availableBytes = -1;
- }};
+ // Special root for recents
+ derivedIcon = R.drawable.ic_root_recent;
+ derivedType = RootInfo.TYPE_RECENTS;
+ flags = Root.FLAG_LOCAL_ONLY | Root.FLAG_SUPPORTS_IS_CHILD;
+ title = mContext.getString(R.string.root_recent);
+ availableBytes = -1;
+ }};
}
private class RootsChangedObserver extends ContentObserver {
@@ -116,6 +116,16 @@
* Gather roots from all known storage providers.
*/
public void updateAsync() {
+ // Verifying an assumption about the recents root being immutable.
+ if (DEBUG) {
+ checkState(mRecentsRoot.authority == null);
+ checkState(mRecentsRoot.rootId == null);
+ checkState(mRecentsRoot.derivedIcon == R.drawable.ic_root_recent);
+ checkState(mRecentsRoot.derivedType == RootInfo.TYPE_RECENTS);
+ checkState(mRecentsRoot.flags == (Root.FLAG_LOCAL_ONLY | Root.FLAG_SUPPORTS_IS_CHILD));
+ checkState(mRecentsRoot.title == mContext.getString(R.string.root_recent));
+ checkState(mRecentsRoot.availableBytes == -1);
+ }
new UpdateTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
@@ -412,9 +422,10 @@
if (!state.showAdvanced && root.isAdvanced()) continue;
// Exclude non-local devices when local only
if (state.localOnly && !root.isLocalOnly()) continue;
- // Exclude downloads roots that don't support directory creation
- // TODO: Add flag to check the root supports directory creation or not.
- if (state.directoryCopy && !root.supportsChildren()) continue;
+ // Exclude downloads roots as it doesn't support directory creation (actually
+ // we just don't show them).
+ // TODO: Add flag to check the root supports directory creation.
+ if (state.directoryCopy && !root.isDownloads()) continue;
// Only show empty roots when creating, or in browse mode.
if (root.isEmpty() && (state.action == State.ACTION_OPEN
diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java b/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
index f908eeb..9f83c04 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
@@ -45,7 +45,6 @@
import android.widget.ListView;
import android.widget.TextView;
-import com.android.documentsui.model.DocumentInfo;
import com.android.documentsui.model.RootInfo;
import java.util.ArrayList;
@@ -403,17 +402,7 @@
public static class RootComparator implements Comparator<RootItem> {
@Override
public int compare(RootItem lhs, RootItem rhs) {
- // Sort by root type, then title, then summary.
- int score = lhs.root.derivedType - rhs.root.derivedType;
- if (score != 0) {
- return score;
- }
- score = DocumentInfo.compareToIgnoreCaseNullable(lhs.root.title, rhs.root.title);
- if (score != 0) {
- return score;
- }
-
- return DocumentInfo.compareToIgnoreCaseNullable(lhs.root.summary, rhs.root.summary);
+ return lhs.root.compareTo(rhs.root);
}
}
}
diff --git a/packages/DocumentsUI/src/com/android/documentsui/Shared.java b/packages/DocumentsUI/src/com/android/documentsui/Shared.java
index 22cb25a..b90a119 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/Shared.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/Shared.java
@@ -17,14 +17,17 @@
package com.android.documentsui;
import android.content.Context;
+import android.text.TextUtils;
import android.text.format.DateUtils;
import android.text.format.Time;
+import java.text.Collator;
import java.util.ArrayList;
import java.util.List;
/** @hide */
public final class Shared {
+
/** Intent action name to pick a copy destination. */
public static final String ACTION_PICK_COPY_DESTINATION =
"com.android.documentsui.PICK_COPY_DESTINATION";
@@ -39,6 +42,19 @@
public static final String TAG = "Documents";
public static final String EXTRA_STACK = "com.android.documentsui.STACK";
+
+ /**
+ * String prefix used to indicate the document is a directory.
+ */
+ public static final char DIR_PREFIX = '\001';
+
+ private static final Collator sCollator;
+
+ static {
+ sCollator = Collator.getInstance();
+ sCollator.setStrength(Collator.SECONDARY);
+ }
+
/**
* Generates a formatted quantity string.
*/
@@ -76,4 +92,26 @@
? (ArrayList<T>) list
: new ArrayList<T>(list);
}
+
+ /**
+ * Compare two strings against each other using system default collator in a
+ * case-insensitive mode. Clusters strings prefixed with {@link DIR_PREFIX}
+ * before other items.
+ */
+ public static int compareToIgnoreCaseNullable(String lhs, String rhs) {
+ final boolean leftEmpty = TextUtils.isEmpty(lhs);
+ final boolean rightEmpty = TextUtils.isEmpty(rhs);
+
+ if (leftEmpty && rightEmpty) return 0;
+ if (leftEmpty) return -1;
+ if (rightEmpty) return 1;
+
+ final boolean leftDir = (lhs.charAt(0) == DIR_PREFIX);
+ final boolean rightDir = (rhs.charAt(0) == DIR_PREFIX);
+
+ if (leftDir && !rightDir) return -1;
+ if (rightDir && !leftDir) return 1;
+
+ return sCollator.compare(lhs, rhs);
+ }
}
diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java
index 0a9789f..4583dec 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java
@@ -1071,8 +1071,8 @@
return false;
}
- // Can't copy folders to roots that don't support children.
- if (!root.supportsChildren()) {
+ // Can't copy folders to downloads, because we don't show folders there.
+ if (!root.isDownloads()) {
for (DocumentInfo docs : files) {
if (docs.isDirectory()) {
return false;
diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/Model.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/Model.java
index b369448..9684a5a 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/Model.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/Model.java
@@ -35,6 +35,7 @@
import com.android.documentsui.DirectoryResult;
import com.android.documentsui.RootCursorWrapper;
+import com.android.documentsui.Shared;
import com.android.documentsui.dirlist.MultiSelectManager.Selection;
import com.android.documentsui.model.DocumentInfo;
@@ -170,7 +171,7 @@
final String displayName = getCursorString(
mCursor, Document.COLUMN_DISPLAY_NAME);
if (Document.MIME_TYPE_DIR.equals(mimeType)) {
- stringValues[pos] = DocumentInfo.DIR_PREFIX + displayName;
+ stringValues[pos] = Shared.DIR_PREFIX + displayName;
} else {
stringValues[pos] = displayName;
}
@@ -227,7 +228,7 @@
final String lhs = pivotValue;
final String rhs = sortKey[mid];
- final int compare = DocumentInfo.compareToIgnoreCaseNullable(lhs, rhs);
+ final int compare = Shared.compareToIgnoreCaseNullable(lhs, rhs);
if (compare < 0) {
right = mid;
diff --git a/packages/DocumentsUI/src/com/android/documentsui/model/DocumentInfo.java b/packages/DocumentsUI/src/com/android/documentsui/model/DocumentInfo.java
index 1c696ad..e9fdab0 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/model/DocumentInfo.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/model/DocumentInfo.java
@@ -26,7 +26,6 @@
import android.provider.DocumentsContract.Document;
import android.provider.DocumentsProvider;
import android.support.annotation.VisibleForTesting;
-import android.text.TextUtils;
import com.android.documentsui.DocumentsApplication;
import com.android.documentsui.RootCursorWrapper;
@@ -38,7 +37,6 @@
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.ProtocolException;
-import java.text.Collator;
import java.util.Objects;
/**
@@ -48,13 +46,6 @@
private static final int VERSION_INIT = 1;
private static final int VERSION_SPLIT_URI = 2;
- private static final Collator sCollator;
-
- static {
- sCollator = Collator.getInstance();
- sCollator.setStrength(Collator.SECONDARY);
- }
-
public String authority;
public String documentId;
public String mimeType;
@@ -320,31 +311,4 @@
fnfe.initCause(t);
throw fnfe;
}
-
- /**
- * String prefix used to indicate the document is a directory.
- */
- public static final char DIR_PREFIX = '\001';
-
- /**
- * Compare two strings against each other using system default collator in a
- * case-insensitive mode. Clusters strings prefixed with {@link #DIR_PREFIX}
- * before other items.
- */
- public static int compareToIgnoreCaseNullable(String lhs, String rhs) {
- final boolean leftEmpty = TextUtils.isEmpty(lhs);
- final boolean rightEmpty = TextUtils.isEmpty(rhs);
-
- if (leftEmpty && rightEmpty) return 0;
- if (leftEmpty) return -1;
- if (rightEmpty) return 1;
-
- final boolean leftDir = (lhs.charAt(0) == DIR_PREFIX);
- final boolean rightDir = (rhs.charAt(0) == DIR_PREFIX);
-
- if (leftDir && !rightDir) return -1;
- if (rightDir && !leftDir) return 1;
-
- return sCollator.compare(lhs, rhs);
- }
}
diff --git a/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java b/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java
index 3f4a1df..3897058 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java
@@ -16,10 +16,12 @@
package com.android.documentsui.model;
+import static com.android.documentsui.Shared.compareToIgnoreCaseNullable;
import static com.android.documentsui.model.DocumentInfo.getCursorInt;
import static com.android.documentsui.model.DocumentInfo.getCursorLong;
import static com.android.documentsui.model.DocumentInfo.getCursorString;
+import android.annotation.IntDef;
import android.content.Context;
import android.database.Cursor;
import android.graphics.drawable.Drawable;
@@ -36,17 +38,31 @@
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import java.net.ProtocolException;
import java.util.Objects;
/**
* Representation of a {@link Root}.
*/
-public class RootInfo implements Durable, Parcelable {
+public class RootInfo implements Durable, Parcelable, Comparable<RootInfo> {
private static final int VERSION_INIT = 1;
private static final int VERSION_DROP_TYPE = 2;
// The values of these constants determine the sort order of various roots in the RootsFragment.
+ @IntDef(flag = true, value = {
+ TYPE_IMAGES,
+ TYPE_VIDEO,
+ TYPE_AUDIO,
+ TYPE_RECENTS,
+ TYPE_DOWNLOADS,
+ TYPE_LOCAL,
+ TYPE_MTP,
+ TYPE_OTHER
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface RootType {}
public static final int TYPE_IMAGES = 1;
public static final int TYPE_VIDEO = 2;
public static final int TYPE_AUDIO = 3;
@@ -69,7 +85,7 @@
/** Derived fields that aren't persisted */
public String[] derivedMimeTypes;
public int derivedIcon;
- public int derivedType;
+ public @RootType int derivedType;
public RootInfo() {
reset();
@@ -329,6 +345,22 @@
}
@Override
+ public int compareTo(RootInfo other) {
+ // Sort by root type, then title, then summary.
+ int score = derivedType - other.derivedType;
+ if (score != 0) {
+ return score;
+ }
+
+ score = compareToIgnoreCaseNullable(title, other.title);
+ if (score != 0) {
+ return score;
+ }
+
+ return compareToIgnoreCaseNullable(summary, other.summary);
+ }
+
+ @Override
public String toString() {
return "Root{authority=" + authority + ", rootId=" + rootId + ", title=" + title + "}";
}
diff --git a/packages/DocumentsUI/tests/src/com/android/documentsui/dirlist/ModelTest.java b/packages/DocumentsUI/tests/src/com/android/documentsui/dirlist/ModelTest.java
index 83299f0..4b0bc41 100644
--- a/packages/DocumentsUI/tests/src/com/android/documentsui/dirlist/ModelTest.java
+++ b/packages/DocumentsUI/tests/src/com/android/documentsui/dirlist/ModelTest.java
@@ -28,6 +28,7 @@
import com.android.documentsui.DirectoryResult;
import com.android.documentsui.RootCursorWrapper;
+import com.android.documentsui.Shared;
import com.android.documentsui.State;
import com.android.documentsui.dirlist.MultiSelectManager.Selection;
import com.android.documentsui.model.DocumentInfo;
@@ -190,7 +191,7 @@
assertEquals(ITEM_COUNT, seen.cardinality());
for (int i = 0; i < names.size()-1; ++i) {
- assertTrue(DocumentInfo.compareToIgnoreCaseNullable(names.get(i), names.get(i+1)) <= 0);
+ assertTrue(Shared.compareToIgnoreCaseNullable(names.get(i), names.get(i+1)) <= 0);
}
}
diff --git a/packages/ExternalStorageProvider/res/values-af/strings.xml b/packages/ExternalStorageProvider/res/values-af/strings.xml
index b5a159d..1de881d 100644
--- a/packages/ExternalStorageProvider/res/values-af/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-af/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Eksterne berging"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Interne berging"</string>
- <string name="root_home" msgid="7931555396767513359">"Tuis"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumente"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-am/strings.xml b/packages/ExternalStorageProvider/res/values-am/strings.xml
index f4f296d..230fb06 100644
--- a/packages/ExternalStorageProvider/res/values-am/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-am/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"ውጫዊ ማከማቻ"</string>
<string name="root_internal_storage" msgid="827844243068584127">"ውስጣዊ ማከማቻ"</string>
- <string name="root_home" msgid="7931555396767513359">"መነሻ"</string>
+ <string name="root_documents" msgid="4051252304075469250">"ሰነዶች"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-ar/strings.xml b/packages/ExternalStorageProvider/res/values-ar/strings.xml
index 4eee3e8..b20a056 100644
--- a/packages/ExternalStorageProvider/res/values-ar/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-ar/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"وحدة تخزين خارجية"</string>
<string name="root_internal_storage" msgid="827844243068584127">"وحدة تخزين داخلية"</string>
- <string name="root_home" msgid="7931555396767513359">"الرئيسية"</string>
+ <string name="root_documents" msgid="4051252304075469250">"مستندات"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-az-rAZ/strings.xml b/packages/ExternalStorageProvider/res/values-az-rAZ/strings.xml
index f7e5f8b..cd5ba2f 100644
--- a/packages/ExternalStorageProvider/res/values-az-rAZ/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-az-rAZ/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Xarici Yaddaş"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Daxili yaddaş"</string>
- <string name="root_home" msgid="7931555396767513359">"Əsas səhifə"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Sənədlər"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-b+sr+Latn/strings.xml b/packages/ExternalStorageProvider/res/values-b+sr+Latn/strings.xml
index b280d4f..fefbc28 100644
--- a/packages/ExternalStorageProvider/res/values-b+sr+Latn/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-b+sr+Latn/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Spoljna memorija"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Interna memorija"</string>
- <string name="root_home" msgid="7931555396767513359">"Početni"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumenti"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-bg/strings.xml b/packages/ExternalStorageProvider/res/values-bg/strings.xml
index 7081b17..f5dce31 100644
--- a/packages/ExternalStorageProvider/res/values-bg/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-bg/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Външно хранилище"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Вътрешно хранилище"</string>
- <string name="root_home" msgid="7931555396767513359">"Начална директория"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Документи"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-bn-rBD/strings.xml b/packages/ExternalStorageProvider/res/values-bn-rBD/strings.xml
index 842aed4..3668065 100644
--- a/packages/ExternalStorageProvider/res/values-bn-rBD/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-bn-rBD/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"বাহ্যিক সঞ্চয়স্থান"</string>
<string name="root_internal_storage" msgid="827844243068584127">"অভ্যন্তরীণ সঞ্চয়স্থান"</string>
- <string name="root_home" msgid="7931555396767513359">"হোম"</string>
+ <string name="root_documents" msgid="4051252304075469250">"দস্তাবেজগুলি"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-bs-rBA/strings.xml b/packages/ExternalStorageProvider/res/values-bs-rBA/strings.xml
new file mode 100644
index 0000000..20177f0
--- /dev/null
+++ b/packages/ExternalStorageProvider/res/values-bs-rBA/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_label" msgid="7123375275748530234">"Aplikacija za vanjsku pohranu"</string>
+ <string name="root_internal_storage" msgid="827844243068584127">"Interna pohrana"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumenti"</string>
+</resources>
diff --git a/packages/ExternalStorageProvider/res/values-ca/strings.xml b/packages/ExternalStorageProvider/res/values-ca/strings.xml
index b3fd9f7..15e9d46 100644
--- a/packages/ExternalStorageProvider/res/values-ca/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-ca/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Emmagatzematge extern"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Emmagatzematge intern"</string>
- <string name="root_home" msgid="7931555396767513359">"Inici"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Documents"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-cs/strings.xml b/packages/ExternalStorageProvider/res/values-cs/strings.xml
index 2eab596..b68a928 100644
--- a/packages/ExternalStorageProvider/res/values-cs/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-cs/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Externí úložiště"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Interní úložiště"</string>
- <string name="root_home" msgid="7931555396767513359">"Výchozí adresář"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumenty"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-da/strings.xml b/packages/ExternalStorageProvider/res/values-da/strings.xml
index d008f0e..dc565ae 100644
--- a/packages/ExternalStorageProvider/res/values-da/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-da/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Ekstern lagerplads"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Intern lagerplads"</string>
- <string name="root_home" msgid="7931555396767513359">"Hjem"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumenter"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-de/strings.xml b/packages/ExternalStorageProvider/res/values-de/strings.xml
index 50fc680..318634a 100644
--- a/packages/ExternalStorageProvider/res/values-de/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-de/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Externer Speicher"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Interner Speicher"</string>
- <string name="root_home" msgid="7931555396767513359">"Zuhause"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumente"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-el/strings.xml b/packages/ExternalStorageProvider/res/values-el/strings.xml
index 9537afd..b3aa792 100644
--- a/packages/ExternalStorageProvider/res/values-el/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-el/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Εξωτερικός αποθηκευτικός χώρος"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Εσωτερικός αποθηκευτικός χώρος"</string>
- <string name="root_home" msgid="7931555396767513359">"Αρχική οθόνη"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Έγγραφα"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-en-rAU/strings.xml b/packages/ExternalStorageProvider/res/values-en-rAU/strings.xml
index be7aebc..f88eb9e 100644
--- a/packages/ExternalStorageProvider/res/values-en-rAU/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-en-rAU/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"External Storage"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Internal storage"</string>
- <string name="root_home" msgid="7931555396767513359">"Home"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Documents"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-en-rGB/strings.xml b/packages/ExternalStorageProvider/res/values-en-rGB/strings.xml
index be7aebc..f88eb9e 100644
--- a/packages/ExternalStorageProvider/res/values-en-rGB/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-en-rGB/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"External Storage"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Internal storage"</string>
- <string name="root_home" msgid="7931555396767513359">"Home"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Documents"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-en-rIN/strings.xml b/packages/ExternalStorageProvider/res/values-en-rIN/strings.xml
index be7aebc..f88eb9e 100644
--- a/packages/ExternalStorageProvider/res/values-en-rIN/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-en-rIN/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"External Storage"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Internal storage"</string>
- <string name="root_home" msgid="7931555396767513359">"Home"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Documents"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-es-rUS/strings.xml b/packages/ExternalStorageProvider/res/values-es-rUS/strings.xml
index 64a042d..e7e38b5 100644
--- a/packages/ExternalStorageProvider/res/values-es-rUS/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-es-rUS/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Almacenamiento externo"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Almacenamiento interno"</string>
- <string name="root_home" msgid="7931555396767513359">"Casa"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Documentos"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-es/strings.xml b/packages/ExternalStorageProvider/res/values-es/strings.xml
index d59755e..e7e38b5 100644
--- a/packages/ExternalStorageProvider/res/values-es/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-es/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Almacenamiento externo"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Almacenamiento interno"</string>
- <string name="root_home" msgid="7931555396767513359">"Inicio"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Documentos"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-et-rEE/strings.xml b/packages/ExternalStorageProvider/res/values-et-rEE/strings.xml
index 7ea2caa..6824e9d 100644
--- a/packages/ExternalStorageProvider/res/values-et-rEE/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-et-rEE/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Väline talletusruum"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Sisemine salvestusruum"</string>
- <string name="root_home" msgid="7931555396767513359">"Kodu"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumendid"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-eu-rES/strings.xml b/packages/ExternalStorageProvider/res/values-eu-rES/strings.xml
index 2f94acb..5881bf2 100644
--- a/packages/ExternalStorageProvider/res/values-eu-rES/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-eu-rES/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Kanpoko memoria"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Barneko memoria"</string>
- <string name="root_home" msgid="7931555396767513359">"Etxea"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumentuak"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-fa/strings.xml b/packages/ExternalStorageProvider/res/values-fa/strings.xml
index c8c49a5..9ae8a47 100644
--- a/packages/ExternalStorageProvider/res/values-fa/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-fa/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"حافظه خارجی"</string>
<string name="root_internal_storage" msgid="827844243068584127">"حافظهٔ داخلی"</string>
- <string name="root_home" msgid="7931555396767513359">"صفحه اصلی"</string>
+ <string name="root_documents" msgid="4051252304075469250">"اسناد"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-fi/strings.xml b/packages/ExternalStorageProvider/res/values-fi/strings.xml
index 660228a..9d1fbaa 100644
--- a/packages/ExternalStorageProvider/res/values-fi/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-fi/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Ulkoinen tallennustila"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Sisäinen tallennustila"</string>
- <string name="root_home" msgid="7931555396767513359">"Koti"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumentit"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-fr-rCA/strings.xml b/packages/ExternalStorageProvider/res/values-fr-rCA/strings.xml
index b94682f..b3fdd48 100644
--- a/packages/ExternalStorageProvider/res/values-fr-rCA/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-fr-rCA/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Stockage externe"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Mémoire de stockage interne"</string>
- <string name="root_home" msgid="7931555396767513359">"Accueil"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Documents"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-fr/strings.xml b/packages/ExternalStorageProvider/res/values-fr/strings.xml
index 6a84bb4..b3fdd48 100644
--- a/packages/ExternalStorageProvider/res/values-fr/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-fr/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Stockage externe"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Mémoire de stockage interne"</string>
- <string name="root_home" msgid="7931555396767513359">"Répertoire de base"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Documents"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-gl-rES/strings.xml b/packages/ExternalStorageProvider/res/values-gl-rES/strings.xml
index d51eae9..780213f 100644
--- a/packages/ExternalStorageProvider/res/values-gl-rES/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-gl-rES/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Almacenamento externo"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Almacenamento interno"</string>
- <string name="root_home" msgid="7931555396767513359">"Inicio"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Documentos"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-gu-rIN/strings.xml b/packages/ExternalStorageProvider/res/values-gu-rIN/strings.xml
index 3bcc72d..ec8a0bd 100644
--- a/packages/ExternalStorageProvider/res/values-gu-rIN/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-gu-rIN/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"બાહ્ય સંગ્રહ"</string>
<string name="root_internal_storage" msgid="827844243068584127">"આંતરિક સંગ્રહ"</string>
- <string name="root_home" msgid="7931555396767513359">"હોમ"</string>
+ <string name="root_documents" msgid="4051252304075469250">"દસ્તાવેજો"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-hi/strings.xml b/packages/ExternalStorageProvider/res/values-hi/strings.xml
index 93cc712..8538081 100644
--- a/packages/ExternalStorageProvider/res/values-hi/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-hi/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"बाहरी मेमोरी"</string>
<string name="root_internal_storage" msgid="827844243068584127">"मोबाइल मेमोरी"</string>
- <string name="root_home" msgid="7931555396767513359">"होम"</string>
+ <string name="root_documents" msgid="4051252304075469250">"दस्तावेज़"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-hr/strings.xml b/packages/ExternalStorageProvider/res/values-hr/strings.xml
index c866351..a74f8e8 100644
--- a/packages/ExternalStorageProvider/res/values-hr/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-hr/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Vanjska pohrana"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Unutarnja pohrana"</string>
- <string name="root_home" msgid="7931555396767513359">"Početna"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumenti"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-hu/strings.xml b/packages/ExternalStorageProvider/res/values-hu/strings.xml
index db1c7db..3f72b41 100644
--- a/packages/ExternalStorageProvider/res/values-hu/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-hu/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Külső tárhely"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Belső tárhely"</string>
- <string name="root_home" msgid="7931555396767513359">"Otthon"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumentumok"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-hy-rAM/strings.xml b/packages/ExternalStorageProvider/res/values-hy-rAM/strings.xml
index 0e1de49..5360124 100644
--- a/packages/ExternalStorageProvider/res/values-hy-rAM/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-hy-rAM/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Արտաքին պահոց"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Ներքին պահոց"</string>
- <string name="root_home" msgid="7931555396767513359">"Գլխավոր էջ"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Փաստաթղթեր"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-in/strings.xml b/packages/ExternalStorageProvider/res/values-in/strings.xml
index ca7f823..42acde7 100644
--- a/packages/ExternalStorageProvider/res/values-in/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-in/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Penyimpanan Eksternal"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Penyimpanan internal"</string>
- <string name="root_home" msgid="7931555396767513359">"Rumah"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumen"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-is-rIS/strings.xml b/packages/ExternalStorageProvider/res/values-is-rIS/strings.xml
index ad04002..0306165 100644
--- a/packages/ExternalStorageProvider/res/values-is-rIS/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-is-rIS/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Ytri geymsla"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Innbyggð geymsla"</string>
- <string name="root_home" msgid="7931555396767513359">"Heim"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Skjöl"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-it/strings.xml b/packages/ExternalStorageProvider/res/values-it/strings.xml
index 686ee1a..957b5ff 100644
--- a/packages/ExternalStorageProvider/res/values-it/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-it/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Archivio esterno"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Memoria interna"</string>
- <string name="root_home" msgid="7931555396767513359">"Home"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Documenti"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-iw/strings.xml b/packages/ExternalStorageProvider/res/values-iw/strings.xml
index b45fb5c..775506a 100644
--- a/packages/ExternalStorageProvider/res/values-iw/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-iw/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"אחסון חיצוני"</string>
<string name="root_internal_storage" msgid="827844243068584127">"אחסון פנימי"</string>
- <string name="root_home" msgid="7931555396767513359">"דף הבית"</string>
+ <string name="root_documents" msgid="4051252304075469250">"מסמכים"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-ja/strings.xml b/packages/ExternalStorageProvider/res/values-ja/strings.xml
index 5c09bf4..188fca2 100644
--- a/packages/ExternalStorageProvider/res/values-ja/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-ja/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"外部ストレージ"</string>
<string name="root_internal_storage" msgid="827844243068584127">"内部ストレージ"</string>
- <string name="root_home" msgid="7931555396767513359">"ホーム"</string>
+ <string name="root_documents" msgid="4051252304075469250">"ドキュメント"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-ka-rGE/strings.xml b/packages/ExternalStorageProvider/res/values-ka-rGE/strings.xml
index c1bc5c7..cc04860 100644
--- a/packages/ExternalStorageProvider/res/values-ka-rGE/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-ka-rGE/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"გარე მეხსიერება"</string>
<string name="root_internal_storage" msgid="827844243068584127">"შიდა მეხსიერება"</string>
- <string name="root_home" msgid="7931555396767513359">"მთავარი"</string>
+ <string name="root_documents" msgid="4051252304075469250">"დოკუმენტები"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-kk-rKZ/strings.xml b/packages/ExternalStorageProvider/res/values-kk-rKZ/strings.xml
index cf05782..ad49036 100644
--- a/packages/ExternalStorageProvider/res/values-kk-rKZ/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-kk-rKZ/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Сыртқы жад"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Ішкі жад"</string>
- <string name="root_home" msgid="7931555396767513359">"Негізгі бет"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Құжаттар"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-km-rKH/strings.xml b/packages/ExternalStorageProvider/res/values-km-rKH/strings.xml
index a2e926f..9cf76d4 100644
--- a/packages/ExternalStorageProvider/res/values-km-rKH/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-km-rKH/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"ឧបករណ៍ផ្ទុកខាងក្រៅ"</string>
<string name="root_internal_storage" msgid="827844243068584127">"ឧបករណ៍ផ្ទុកខាងក្នុង"</string>
- <string name="root_home" msgid="7931555396767513359">"ដើម"</string>
+ <string name="root_documents" msgid="4051252304075469250">"ឯកសារ"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-kn-rIN/strings.xml b/packages/ExternalStorageProvider/res/values-kn-rIN/strings.xml
index 1f0cfbf..e32b1d3 100644
--- a/packages/ExternalStorageProvider/res/values-kn-rIN/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-kn-rIN/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"ಬಾಹ್ಯ ಸಂಗ್ರಹಣೆ"</string>
<string name="root_internal_storage" msgid="827844243068584127">"ಆಂತರಿಕ ಸಂಗ್ರಹಣೆ"</string>
- <string name="root_home" msgid="7931555396767513359">"ಮುಖಪುಟ"</string>
+ <string name="root_documents" msgid="4051252304075469250">"ಡಾಕ್ಯುಮೆಂಟ್ಗಳು"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-ko/strings.xml b/packages/ExternalStorageProvider/res/values-ko/strings.xml
index 365648d..849d37e 100644
--- a/packages/ExternalStorageProvider/res/values-ko/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-ko/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"외부 저장소"</string>
<string name="root_internal_storage" msgid="827844243068584127">"내부 저장소"</string>
- <string name="root_home" msgid="7931555396767513359">"홈"</string>
+ <string name="root_documents" msgid="4051252304075469250">"문서"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-ky-rKG/strings.xml b/packages/ExternalStorageProvider/res/values-ky-rKG/strings.xml
index 4a0f211..d3ccf7f1 100644
--- a/packages/ExternalStorageProvider/res/values-ky-rKG/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-ky-rKG/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Тышкы сактагыч"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Ички сактагыч"</string>
- <string name="root_home" msgid="7931555396767513359">"Башкы бет"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Документтер"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-lo-rLA/strings.xml b/packages/ExternalStorageProvider/res/values-lo-rLA/strings.xml
index 9de6519..cecd9f5 100644
--- a/packages/ExternalStorageProvider/res/values-lo-rLA/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-lo-rLA/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"ບ່ອນຈັດເກັບຂໍ້ມູນພາຍນອກ"</string>
<string name="root_internal_storage" msgid="827844243068584127">"ບ່ອນຈັດເກັບຂໍ້ມູນພາຍໃນ"</string>
- <string name="root_home" msgid="7931555396767513359">"ໜ້າຫຼັກ"</string>
+ <string name="root_documents" msgid="4051252304075469250">"ເອກະສານ"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-lt/strings.xml b/packages/ExternalStorageProvider/res/values-lt/strings.xml
index 84ca2d4..240ea89 100644
--- a/packages/ExternalStorageProvider/res/values-lt/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-lt/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Išorinė atmintinė"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Vidinė atmintinė"</string>
- <string name="root_home" msgid="7931555396767513359">"Pagrindinis katalogas"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumentai"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-lv/strings.xml b/packages/ExternalStorageProvider/res/values-lv/strings.xml
index 7eff0b9..d308fe8 100644
--- a/packages/ExternalStorageProvider/res/values-lv/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-lv/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Ārējā krātuve"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Iekšējā atmiņa"</string>
- <string name="root_home" msgid="7931555396767513359">"Sākumdirektorijs"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumenti"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-mk-rMK/strings.xml b/packages/ExternalStorageProvider/res/values-mk-rMK/strings.xml
index fe6b753..8943d23 100644
--- a/packages/ExternalStorageProvider/res/values-mk-rMK/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-mk-rMK/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Надворешна меморија"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Внатрешна меморија"</string>
- <string name="root_home" msgid="7931555396767513359">"Почетна страница"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Документи"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-ml-rIN/strings.xml b/packages/ExternalStorageProvider/res/values-ml-rIN/strings.xml
index 5369ec9..08e6dae 100644
--- a/packages/ExternalStorageProvider/res/values-ml-rIN/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-ml-rIN/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"ബാഹ്യ സ്റ്റോറേജ്"</string>
<string name="root_internal_storage" msgid="827844243068584127">"ആന്തരിക സ്റ്റോറേജ്"</string>
- <string name="root_home" msgid="7931555396767513359">"വീട്"</string>
+ <string name="root_documents" msgid="4051252304075469250">"പ്രമാണങ്ങൾ"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-mn-rMN/strings.xml b/packages/ExternalStorageProvider/res/values-mn-rMN/strings.xml
index 4604f32..3d7b7f7 100644
--- a/packages/ExternalStorageProvider/res/values-mn-rMN/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-mn-rMN/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Гадаад сан"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Дотоод сан"</string>
- <string name="root_home" msgid="7931555396767513359">"Нүүр хуудас"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Документүүд"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-mr-rIN/strings.xml b/packages/ExternalStorageProvider/res/values-mr-rIN/strings.xml
index 1310b0e..a7e7fbb 100644
--- a/packages/ExternalStorageProvider/res/values-mr-rIN/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-mr-rIN/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"बाह्य संचयन"</string>
<string name="root_internal_storage" msgid="827844243068584127">"अंतर्गत संचयन"</string>
- <string name="root_home" msgid="7931555396767513359">"निवास"</string>
+ <string name="root_documents" msgid="4051252304075469250">"दस्तऐवज"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-ms-rMY/strings.xml b/packages/ExternalStorageProvider/res/values-ms-rMY/strings.xml
index 007a1be..cb4d736 100644
--- a/packages/ExternalStorageProvider/res/values-ms-rMY/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-ms-rMY/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Storan Luaran"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Storan dalaman"</string>
- <string name="root_home" msgid="7931555396767513359">"Rumah"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumen"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-my-rMM/strings.xml b/packages/ExternalStorageProvider/res/values-my-rMM/strings.xml
index 2df9a33..dc9d684 100644
--- a/packages/ExternalStorageProvider/res/values-my-rMM/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-my-rMM/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"ပြင်ပသိုလှောင်ရာပစ္စည်း"</string>
<string name="root_internal_storage" msgid="827844243068584127">"စက်တွင်း သိုလှောင်ထားမှု"</string>
- <string name="root_home" msgid="7931555396767513359">"ပင်မ"</string>
+ <string name="root_documents" msgid="4051252304075469250">"စာရွက်စာတန်းများ"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-nb/strings.xml b/packages/ExternalStorageProvider/res/values-nb/strings.xml
index 315d932..a9ecb69 100644
--- a/packages/ExternalStorageProvider/res/values-nb/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-nb/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Ekstern lagring"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Intern lagring"</string>
- <string name="root_home" msgid="7931555396767513359">"Hjem"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumenter"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-ne-rNP/strings.xml b/packages/ExternalStorageProvider/res/values-ne-rNP/strings.xml
index 4a9a8cd..5294043 100644
--- a/packages/ExternalStorageProvider/res/values-ne-rNP/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-ne-rNP/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"बाह्य भण्डारण"</string>
<string name="root_internal_storage" msgid="827844243068584127">"आन्तरिक भण्डारण"</string>
- <string name="root_home" msgid="7931555396767513359">"गृह"</string>
+ <string name="root_documents" msgid="4051252304075469250">"कागजातहरू"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-nl/strings.xml b/packages/ExternalStorageProvider/res/values-nl/strings.xml
index 0ae88ce..bde6166 100644
--- a/packages/ExternalStorageProvider/res/values-nl/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-nl/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Externe opslag"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Interne opslag"</string>
- <string name="root_home" msgid="7931555396767513359">"Startscherm"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Documenten"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-pa-rIN/strings.xml b/packages/ExternalStorageProvider/res/values-pa-rIN/strings.xml
index a805dd8..0e91589 100644
--- a/packages/ExternalStorageProvider/res/values-pa-rIN/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-pa-rIN/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"ਬਾਹਰੀ ਸਟੋਰੇਜ"</string>
<string name="root_internal_storage" msgid="827844243068584127">"ਅੰਦਰੂਨੀ ਸਟੋਰੇਜ"</string>
- <string name="root_home" msgid="7931555396767513359">"ਘਰ"</string>
+ <string name="root_documents" msgid="4051252304075469250">"ਦਸਤਾਵੇਜ਼"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-pl/strings.xml b/packages/ExternalStorageProvider/res/values-pl/strings.xml
index 66d83c7..6c5e7d7 100644
--- a/packages/ExternalStorageProvider/res/values-pl/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-pl/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Pamięć zewnętrzna"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Pamięć wewnętrzna"</string>
- <string name="root_home" msgid="7931555396767513359">"Katalog domowy"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumenty"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-pt-rBR/strings.xml b/packages/ExternalStorageProvider/res/values-pt-rBR/strings.xml
index 958eef4..77c89b8 100644
--- a/packages/ExternalStorageProvider/res/values-pt-rBR/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-pt-rBR/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Armazenamento externo"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Armazenamento interno"</string>
- <string name="root_home" msgid="7931555396767513359">"Página inicial"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Documentos"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-pt-rPT/strings.xml b/packages/ExternalStorageProvider/res/values-pt-rPT/strings.xml
index c8865e1..77c89b8 100644
--- a/packages/ExternalStorageProvider/res/values-pt-rPT/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-pt-rPT/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Armazenamento externo"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Armazenamento interno"</string>
- <string name="root_home" msgid="7931555396767513359">"Casa"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Documentos"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-pt/strings.xml b/packages/ExternalStorageProvider/res/values-pt/strings.xml
index 958eef4..77c89b8 100644
--- a/packages/ExternalStorageProvider/res/values-pt/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-pt/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Armazenamento externo"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Armazenamento interno"</string>
- <string name="root_home" msgid="7931555396767513359">"Página inicial"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Documentos"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-ro/strings.xml b/packages/ExternalStorageProvider/res/values-ro/strings.xml
index 5bb4a7c..abd0b98 100644
--- a/packages/ExternalStorageProvider/res/values-ro/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-ro/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Stocare externă"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Stocare internă"</string>
- <string name="root_home" msgid="7931555396767513359">"Director principal"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Documente"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-ru/strings.xml b/packages/ExternalStorageProvider/res/values-ru/strings.xml
index a651371..740272f 100644
--- a/packages/ExternalStorageProvider/res/values-ru/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-ru/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Внешний накопитель"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Внутренний накопитель"</string>
- <string name="root_home" msgid="7931555396767513359">"Мои файлы"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Документы"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-si-rLK/strings.xml b/packages/ExternalStorageProvider/res/values-si-rLK/strings.xml
index 5292403..15334bb 100644
--- a/packages/ExternalStorageProvider/res/values-si-rLK/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-si-rLK/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"බාහිර ආචයනය"</string>
<string name="root_internal_storage" msgid="827844243068584127">"අභ්යන්තර ආචයනය"</string>
- <string name="root_home" msgid="7931555396767513359">"මුල් පිටුව"</string>
+ <string name="root_documents" msgid="4051252304075469250">"ලේඛන"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-sk/strings.xml b/packages/ExternalStorageProvider/res/values-sk/strings.xml
index 5157888..9be7b79 100644
--- a/packages/ExternalStorageProvider/res/values-sk/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-sk/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Externý ukladací priestor"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Interné úložisko"</string>
- <string name="root_home" msgid="7931555396767513359">"Predvolený adresár"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumenty"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-sl/strings.xml b/packages/ExternalStorageProvider/res/values-sl/strings.xml
index dd2cc24..6ffa698 100644
--- a/packages/ExternalStorageProvider/res/values-sl/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-sl/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Zunanja shramba"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Notranja shramba"</string>
- <string name="root_home" msgid="7931555396767513359">"Korenska mapa"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumenti"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-sq-rAL/strings.xml b/packages/ExternalStorageProvider/res/values-sq-rAL/strings.xml
index 3aafd1c..dc346ea 100644
--- a/packages/ExternalStorageProvider/res/values-sq-rAL/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-sq-rAL/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Hapësirë e jashtme ruajtjeje"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Hapësira e brendshme ruajtëse"</string>
- <string name="root_home" msgid="7931555396767513359">"Kreu"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokumente"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-sr/strings.xml b/packages/ExternalStorageProvider/res/values-sr/strings.xml
index 2d987ef..54238a4 100644
--- a/packages/ExternalStorageProvider/res/values-sr/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-sr/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Спољна меморија"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Интерна меморија"</string>
- <string name="root_home" msgid="7931555396767513359">"Почетни"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Документи"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-sv/strings.xml b/packages/ExternalStorageProvider/res/values-sv/strings.xml
index bc4788a..6eac11e 100644
--- a/packages/ExternalStorageProvider/res/values-sv/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-sv/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Extern lagring"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Intern lagring"</string>
- <string name="root_home" msgid="7931555396767513359">"Hem"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokument"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-sw/strings.xml b/packages/ExternalStorageProvider/res/values-sw/strings.xml
index dcca92a..0d0e483 100644
--- a/packages/ExternalStorageProvider/res/values-sw/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-sw/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Hifadhi ya Nje"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Hifadhi ya ndani"</string>
- <string name="root_home" msgid="7931555396767513359">"Mwanzo"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Hati"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-ta-rIN/strings.xml b/packages/ExternalStorageProvider/res/values-ta-rIN/strings.xml
index b859e7a..d7bafbc 100644
--- a/packages/ExternalStorageProvider/res/values-ta-rIN/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-ta-rIN/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"வெளிப்புறச் சேமிப்பிடம்"</string>
<string name="root_internal_storage" msgid="827844243068584127">"அகச் சேமிப்பிடம்"</string>
- <string name="root_home" msgid="7931555396767513359">"முகப்பு"</string>
+ <string name="root_documents" msgid="4051252304075469250">"ஆவணங்கள்"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-te-rIN/strings.xml b/packages/ExternalStorageProvider/res/values-te-rIN/strings.xml
index 934877e..800d18e 100644
--- a/packages/ExternalStorageProvider/res/values-te-rIN/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-te-rIN/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"బాహ్య నిల్వ"</string>
<string name="root_internal_storage" msgid="827844243068584127">"అంతర్గత నిల్వ"</string>
- <string name="root_home" msgid="7931555396767513359">"హోమ్"</string>
+ <string name="root_documents" msgid="4051252304075469250">"పత్రాలు"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-th/strings.xml b/packages/ExternalStorageProvider/res/values-th/strings.xml
index 957d6b7..796635e 100644
--- a/packages/ExternalStorageProvider/res/values-th/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-th/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"ที่จัดเก็บข้อมูลภายนอก"</string>
<string name="root_internal_storage" msgid="827844243068584127">"ที่จัดเก็บข้อมูลภายใน"</string>
- <string name="root_home" msgid="7931555396767513359">"Home"</string>
+ <string name="root_documents" msgid="4051252304075469250">"เอกสาร"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-tl/strings.xml b/packages/ExternalStorageProvider/res/values-tl/strings.xml
index be7aebc..529cdc2 100644
--- a/packages/ExternalStorageProvider/res/values-tl/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-tl/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"External Storage"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Internal storage"</string>
- <string name="root_home" msgid="7931555396767513359">"Home"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Mga Dokumento"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-tr/strings.xml b/packages/ExternalStorageProvider/res/values-tr/strings.xml
index 2ce1411..d6bd52a 100644
--- a/packages/ExternalStorageProvider/res/values-tr/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-tr/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Harici Depolama"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Dahili depolama"</string>
- <string name="root_home" msgid="7931555396767513359">"Ev"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Dokümanlar"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-uk/strings.xml b/packages/ExternalStorageProvider/res/values-uk/strings.xml
index 0033bca..b8206e0 100644
--- a/packages/ExternalStorageProvider/res/values-uk/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-uk/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Зовнішня пам’ять"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Внутрішня пам’ять"</string>
- <string name="root_home" msgid="7931555396767513359">"Головний екран"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Документи"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-ur-rPK/strings.xml b/packages/ExternalStorageProvider/res/values-ur-rPK/strings.xml
index df46fb0..02454bc 100644
--- a/packages/ExternalStorageProvider/res/values-ur-rPK/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-ur-rPK/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"بیرونی اسٹوریج"</string>
<string name="root_internal_storage" msgid="827844243068584127">"داخلی اسٹوریج"</string>
- <string name="root_home" msgid="7931555396767513359">"ہوم"</string>
+ <string name="root_documents" msgid="4051252304075469250">"دستاویزات"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-uz-rUZ/strings.xml b/packages/ExternalStorageProvider/res/values-uz-rUZ/strings.xml
index 069e137..07cc14c 100644
--- a/packages/ExternalStorageProvider/res/values-uz-rUZ/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-uz-rUZ/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Tashqi xotira"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Ichki xotira"</string>
- <string name="root_home" msgid="7931555396767513359">"Mening fayllarim"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Hujjatlar"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-vi/strings.xml b/packages/ExternalStorageProvider/res/values-vi/strings.xml
index 39e9c6c..b171c93 100644
--- a/packages/ExternalStorageProvider/res/values-vi/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-vi/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Bộ nhớ ngoài"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Bộ nhớ trong"</string>
- <string name="root_home" msgid="7931555396767513359">"Nhà riêng"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Tài liệu"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-zh-rCN/strings.xml b/packages/ExternalStorageProvider/res/values-zh-rCN/strings.xml
index ea20dce..7df77dd 100644
--- a/packages/ExternalStorageProvider/res/values-zh-rCN/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-zh-rCN/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"外部存储设备"</string>
<string name="root_internal_storage" msgid="827844243068584127">"内部存储空间"</string>
- <string name="root_home" msgid="7931555396767513359">"主目录"</string>
+ <string name="root_documents" msgid="4051252304075469250">"文档"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-zh-rHK/strings.xml b/packages/ExternalStorageProvider/res/values-zh-rHK/strings.xml
index 27f1f0a..62d8afb 100644
--- a/packages/ExternalStorageProvider/res/values-zh-rHK/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-zh-rHK/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"外部儲存空間"</string>
<string name="root_internal_storage" msgid="827844243068584127">"內部儲存空間"</string>
- <string name="root_home" msgid="7931555396767513359">"主目錄"</string>
+ <string name="root_documents" msgid="4051252304075469250">"文件"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-zh-rTW/strings.xml b/packages/ExternalStorageProvider/res/values-zh-rTW/strings.xml
index b2d764a..62d8afb 100644
--- a/packages/ExternalStorageProvider/res/values-zh-rTW/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-zh-rTW/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"外部儲存空間"</string>
<string name="root_internal_storage" msgid="827844243068584127">"內部儲存空間"</string>
- <string name="root_home" msgid="7931555396767513359">"主畫面"</string>
+ <string name="root_documents" msgid="4051252304075469250">"文件"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/res/values-zu/strings.xml b/packages/ExternalStorageProvider/res/values-zu/strings.xml
index 8a7c7df..4a0a845 100644
--- a/packages/ExternalStorageProvider/res/values-zu/strings.xml
+++ b/packages/ExternalStorageProvider/res/values-zu/strings.xml
@@ -18,5 +18,5 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7123375275748530234">"Isitoreji sangaphandle"</string>
<string name="root_internal_storage" msgid="827844243068584127">"Isitoreji sangaphakathi"</string>
- <string name="root_home" msgid="7931555396767513359">"Ekhaya"</string>
+ <string name="root_documents" msgid="4051252304075469250">"Amadokhumenti"</string>
</resources>
diff --git a/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDatabase.java b/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDatabase.java
index 441b9a7..ca5c799 100644
--- a/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDatabase.java
+++ b/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDatabase.java
@@ -581,6 +581,23 @@
}
}
+ void updateObject(String documentId, int deviceId, String parentId, MtpObjectInfo info) {
+ final ContentValues values = new ContentValues();
+ getObjectDocumentValues(values, deviceId, parentId, info);
+
+ mDatabase.beginTransaction();
+ try {
+ mDatabase.update(
+ TABLE_DOCUMENTS,
+ values,
+ Document.COLUMN_DOCUMENT_ID + " = ?",
+ strings(documentId));
+ mDatabase.setTransactionSuccessful();
+ } finally {
+ mDatabase.endTransaction();
+ }
+ }
+
private static class OpenHelper extends SQLiteOpenHelper {
public OpenHelper(Context context, int flags) {
super(context,
diff --git a/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDocumentsProvider.java b/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDocumentsProvider.java
index db1671d..d329e3c 100644
--- a/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDocumentsProvider.java
+++ b/packages/MtpDocumentsProvider/src/com/android/mtp/MtpDocumentsProvider.java
@@ -486,7 +486,7 @@
public final DocumentLoader mDocumentLoader;
public DeviceToolkit(MtpManager manager, ContentResolver resolver, MtpDatabase database) {
- mPipeManager = new PipeManager();
+ mPipeManager = new PipeManager(database);
mDocumentLoader = new DocumentLoader(manager, resolver, database);
}
}
diff --git a/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java b/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java
index 16523bc..645bfcd 100644
--- a/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java
+++ b/packages/MtpDocumentsProvider/src/com/android/mtp/PipeManager.java
@@ -29,12 +29,14 @@
class PipeManager {
final ExecutorService mExecutor;
+ final MtpDatabase mDatabase;
- PipeManager() {
- this(Executors.newSingleThreadExecutor());
+ PipeManager(MtpDatabase database) {
+ this(database, Executors.newSingleThreadExecutor());
}
- PipeManager(ExecutorService executor) {
+ PipeManager(MtpDatabase database, ExecutorService executor) {
+ this.mDatabase = database;
this.mExecutor = executor;
}
@@ -46,7 +48,7 @@
ParcelFileDescriptor writeDocument(Context context, MtpManager model, Identifier identifier)
throws IOException {
- final Task task = new WriteDocumentTask(context, model, identifier);
+ final Task task = new WriteDocumentTask(context, model, identifier, mDatabase);
mExecutor.execute(task);
return task.getWritingFileDescriptor();
}
@@ -100,11 +102,14 @@
private static class WriteDocumentTask extends Task {
private final Context mContext;
+ private final MtpDatabase mDatabase;
- WriteDocumentTask(Context context, MtpManager model, Identifier identifier)
+ WriteDocumentTask(
+ Context context, MtpManager model, Identifier identifier, MtpDatabase database)
throws IOException {
super(model, identifier);
mContext = context;
+ mDatabase = database;
}
@Override
@@ -112,7 +117,7 @@
File tempFile = null;
try {
// Obtain a temporary file and copy the data to it.
- tempFile = mContext.getCacheDir().createTempFile("mtp", "tmp");
+ tempFile = File.createTempFile("mtp", "tmp", mContext.getCacheDir());
try (
final FileOutputStream tempOutputStream =
new ParcelFileDescriptor.AutoCloseOutputStream(
@@ -140,12 +145,22 @@
// Create the target object info with a correct file size and upload the file.
final MtpObjectInfo targetObjectInfo =
new MtpObjectInfo.Builder(placeholderObjectInfo)
- .setCompressedSize((int) tempFile.length())
+ .setCompressedSize(tempFile.length())
.build();
final ParcelFileDescriptor tempInputDescriptor = ParcelFileDescriptor.open(
tempFile, ParcelFileDescriptor.MODE_READ_ONLY);
- mManager.createDocument(mIdentifier.mDeviceId,
- targetObjectInfo, tempInputDescriptor);
+ final int newObjectHandle = mManager.createDocument(
+ mIdentifier.mDeviceId, targetObjectInfo, tempInputDescriptor);
+
+ final MtpObjectInfo newObjectInfo = mManager.getObjectInfo(
+ mIdentifier.mDeviceId, newObjectHandle);
+ final Identifier parentIdentifier =
+ mDatabase.getParentIdentifier(mIdentifier.mDocumentId);
+ mDatabase.updateObject(
+ mIdentifier.mDocumentId,
+ mIdentifier.mDeviceId,
+ parentIdentifier.mDocumentId,
+ newObjectInfo);
} catch (IOException error) {
Log.w(MtpDocumentsProvider.TAG,
"Failed to send a file because of: " + error.getMessage());
diff --git a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpDatabaseTest.java b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpDatabaseTest.java
index 1df7351..05c9c57 100644
--- a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpDatabaseTest.java
+++ b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/MtpDatabaseTest.java
@@ -983,18 +983,10 @@
}
private void addTestDevice() throws FileNotFoundException {
- mDatabase.getMapper().startAddingDocuments(null);
- mDatabase.getMapper().putDeviceDocument(new MtpDeviceRecord(
- 0, "Device", "device_key", /* opened is */ true, new MtpRoot[0], null,
- null));
- mDatabase.getMapper().stopAddingDocuments(null);
+ TestUtil.addTestDevice(mDatabase);
}
private void addTestStorage(String parentId) throws FileNotFoundException {
- mDatabase.getMapper().startAddingDocuments(parentId);
- mDatabase.getMapper().putStorageDocuments(parentId, new MtpRoot[] {
- new MtpRoot(0, 100, "Storage", 1024, 1024, ""),
- });
- mDatabase.getMapper().stopAddingDocuments(parentId);
+ TestUtil.addTestStorage(mDatabase, parentId);
}
}
diff --git a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/PipeManagerTest.java b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/PipeManagerTest.java
index 4dfc785..94f87ff 100644
--- a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/PipeManagerTest.java
+++ b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/PipeManagerTest.java
@@ -16,8 +16,10 @@
package com.android.mtp;
+import android.database.Cursor;
import android.mtp.MtpObjectInfo;
import android.os.ParcelFileDescriptor;
+import android.provider.DocumentsContract.Document;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.MediumTest;
@@ -33,12 +35,14 @@
private TestMtpManager mtpManager;
private ExecutorService mExecutor;
private PipeManager mPipeManager;
+ private MtpDatabase mDatabase;
@Override
public void setUp() {
mtpManager = new TestMtpManager(getContext());
mExecutor = Executors.newSingleThreadExecutor();
- mPipeManager = new PipeManager(mExecutor);
+ mDatabase = new MtpDatabase(getContext(), MtpDatabaseConstants.FLAG_DATABASE_IN_MEMORY);
+ mPipeManager = new PipeManager(mDatabase, mExecutor);
}
public void testReadDocument_basic() throws Exception {
@@ -57,25 +61,32 @@
}
public void testWriteDocument_basic() throws Exception {
+ TestUtil.addTestDevice(mDatabase);
+ TestUtil.addTestStorage(mDatabase, "1");
+
+ final MtpObjectInfo info =
+ new MtpObjectInfo.Builder().setObjectHandle(1).setName("note.txt").build();
+ mDatabase.getMapper().startAddingDocuments("2");
+ mDatabase.getMapper().putChildDocuments(0, "2", new MtpObjectInfo[] { info });
+ mDatabase.getMapper().stopAddingDocuments("2");
// Create a placeholder file which should be replaced by a real file later.
- mtpManager.setObjectInfo(0, new MtpObjectInfo.Builder()
- .setObjectHandle(1)
- .build());
+ mtpManager.setObjectInfo(0, info);
// Upload testing bytes.
final ParcelFileDescriptor descriptor = mPipeManager.writeDocument(
getContext(),
mtpManager,
- new Identifier(0, 0, 1, null, MtpDatabaseConstants.DOCUMENT_TYPE_OBJECT));
+ new Identifier(0, 0, 1, "2", MtpDatabaseConstants.DOCUMENT_TYPE_OBJECT));
final ParcelFileDescriptor.AutoCloseOutputStream outputStream =
new ParcelFileDescriptor.AutoCloseOutputStream(descriptor);
outputStream.write(HELLO_BYTES, 0, HELLO_BYTES.length);
outputStream.close();
- mExecutor.awaitTermination(1000, TimeUnit.MILLISECONDS);
+ mExecutor.shutdown();
+ assertTrue(mExecutor.awaitTermination(1000, TimeUnit.MILLISECONDS));
// Check if the placeholder file is removed.
try {
- final MtpObjectInfo placeholderDocument = mtpManager.getObjectInfo(0, 1);
+ mtpManager.getObjectInfo(0, 1);
fail(); // The placeholder file has not been deleted.
} catch (IOException e) {
// Expected error, as the file is gone.
@@ -86,6 +97,14 @@
0, TestMtpManager.CREATED_DOCUMENT_HANDLE);
assertTrue(targetDocument != null);
+ // Confirm the object handle is updated.
+ try (final Cursor cursor = mDatabase.queryDocument(
+ "2", new String[] { MtpDatabaseConstants.COLUMN_OBJECT_HANDLE })) {
+ assertEquals(1, cursor.getCount());
+ cursor.moveToNext();
+ assertEquals(TestMtpManager.CREATED_DOCUMENT_HANDLE, cursor.getInt(0));
+ }
+
// Verify uploaded bytes.
final byte[] uploadedBytes = mtpManager.getImportFileBytes(
0, TestMtpManager.CREATED_DOCUMENT_HANDLE);
@@ -112,7 +131,8 @@
private void assertDescriptor(ParcelFileDescriptor descriptor, byte[] expectedBytes)
throws IOException, InterruptedException {
- mExecutor.awaitTermination(1000, TimeUnit.MILLISECONDS);
+ mExecutor.shutdown();
+ assertTrue(mExecutor.awaitTermination(1000, TimeUnit.MILLISECONDS));
try (final ParcelFileDescriptor.AutoCloseInputStream stream =
new ParcelFileDescriptor.AutoCloseInputStream(descriptor)) {
byte[] results = new byte[100];
@@ -125,7 +145,8 @@
private void assertDescriptorError(ParcelFileDescriptor descriptor)
throws InterruptedException {
- mExecutor.awaitTermination(1000, TimeUnit.MILLISECONDS);
+ mExecutor.shutdown();
+ assertTrue(mExecutor.awaitTermination(1000, TimeUnit.MILLISECONDS));
try {
descriptor.checkError();
fail();
diff --git a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/TestMtpManager.java b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/TestMtpManager.java
index 4378152..1b46f3c 100644
--- a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/TestMtpManager.java
+++ b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/TestMtpManager.java
@@ -149,7 +149,9 @@
if (mObjectInfos.containsKey(key)) {
throw new IOException();
}
- mObjectInfos.put(key, objectInfo);
+ final MtpObjectInfo newInfo = new MtpObjectInfo.Builder(objectInfo).
+ setObjectHandle(CREATED_DOCUMENT_HANDLE).build();
+ mObjectInfos.put(key, newInfo);
if (objectInfo.getFormat() != 0x3001) {
try (final ParcelFileDescriptor.AutoCloseInputStream inputStream =
new ParcelFileDescriptor.AutoCloseInputStream(source)) {
diff --git a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/TestUtil.java b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/TestUtil.java
index ffcc088..34dd77b 100644
--- a/packages/MtpDocumentsProvider/tests/src/com/android/mtp/TestUtil.java
+++ b/packages/MtpDocumentsProvider/tests/src/com/android/mtp/TestUtil.java
@@ -21,12 +21,11 @@
import android.hardware.usb.UsbManager;
import android.os.SystemClock;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.HashMap;
import java.util.Objects;
-import junit.framework.Assert;
-
/**
* Static utility methods for testing.
*/
@@ -57,6 +56,22 @@
}
}
+ static void addTestDevice(MtpDatabase database) throws FileNotFoundException {
+ database.getMapper().startAddingDocuments(null);
+ database.getMapper().putDeviceDocument(new MtpDeviceRecord(
+ 0, "Device", "device_key", /* opened is */ true, new MtpRoot[0], null,
+ null));
+ database.getMapper().stopAddingDocuments(null);
+ }
+
+ static void addTestStorage(MtpDatabase database, String parentId) throws FileNotFoundException {
+ database.getMapper().startAddingDocuments(parentId);
+ database.getMapper().putStorageDocuments(parentId, new MtpRoot[] {
+ new MtpRoot(0, 100, "Storage", 1024, 1024, ""),
+ });
+ database.getMapper().stopAddingDocuments(parentId);
+ }
+
private static UsbDevice findMtpDevice(
UsbManager usbManager,
MtpManager manager) throws IOException {
diff --git a/packages/SettingsLib/res/values-af/strings.xml b/packages/SettingsLib/res/values-af/strings.xml
index 99699b9..b82b4ffa 100644
--- a/packages/SettingsLib/res/values-af/strings.xml
+++ b/packages/SettingsLib/res/values-af/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Laai nie"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Laai nie"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Vol"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Gedeaktiveer deur administrateur"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Tuis"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> gelede"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> oor"</string>
diff --git a/packages/SettingsLib/res/values-am/strings.xml b/packages/SettingsLib/res/values-am/strings.xml
index 0e363b5..cd3d6f6 100644
--- a/packages/SettingsLib/res/values-am/strings.xml
+++ b/packages/SettingsLib/res/values-am/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"ባትሪ እየሞላ አይደለም"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"ኃይል እየሞላ አይደለም"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"ሙሉነው"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"በአስተዳዳሪ የተሰናከለ"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"መነሻ"</string>
<string name="charge_length_format" msgid="8978516217024434156">"ከ<xliff:g id="ID_1">%1$s</xliff:g> በፊት"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> ቀርቷል"</string>
diff --git a/packages/SettingsLib/res/values-ar/strings.xml b/packages/SettingsLib/res/values-ar/strings.xml
index c757b71..9c3d683 100644
--- a/packages/SettingsLib/res/values-ar/strings.xml
+++ b/packages/SettingsLib/res/values-ar/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"معطَّل"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"التشغيل دائمًا"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"تلقائيًا"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"تمكين عرض ويب متعدد العمليات"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"تشغيل أجهزة عرض الويب في عملية منفصلة."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"تطبيق WebView"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"تعيين تطبيق WebView"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"إن تنفيذ ميزة WebView التي تم اختيارها معطَّل، ويجب تمكين هذه الميزة ليتسنى استخدامها، فهل تريد تمكينها؟"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"لا يتم الشحن"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"لا يتم الشحن"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"ممتلئة"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"تم التعطيل بواسطة المشرف"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"إعدادات يتحكم فيها المشرف"</string>
<string name="home" msgid="8263346537524314127">"الشاشة الرئيسية"</string>
<string name="charge_length_format" msgid="8978516217024434156">"قبل <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"يتبقى <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-az-rAZ/strings.xml b/packages/SettingsLib/res/values-az-rAZ/strings.xml
index 61008b9..5bfa41c 100644
--- a/packages/SettingsLib/res/values-az-rAZ/strings.xml
+++ b/packages/SettingsLib/res/values-az-rAZ/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Doldurulmur"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Enerji doldurulmur"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Tam"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Administrator tərəfindən deaktiv edildi"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Əsas səhifə"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> əvvəl"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> qalıb"</string>
diff --git a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
index 7021ca6..0beeeda 100644
--- a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
+++ b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Ne puni se"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Ne puni se"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Puno"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Onemogućio je administrator"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Početni"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Pre <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Još <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-bg/strings.xml b/packages/SettingsLib/res/values-bg/strings.xml
index df47ad9..49b955d 100644
--- a/packages/SettingsLib/res/values-bg/strings.xml
+++ b/packages/SettingsLib/res/values-bg/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"Деактивирано"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"Винаги включено"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"Автоматично"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"Многопроц. режим на WebView: Акт."</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"Програми за визуализация на WebView: Изпъл. в изолиран процес."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"Внедряване на WebView"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"Задаване на внедряването на WebView"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"Избраното внедряване на WebView е деактивирано и трябва да го активирате, за да се използва. Искате ли да го направите?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Не се зарежда"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Не се зарежда"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Пълна"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Деактивирано от администратора"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Контролира се от администратор"</string>
<string name="home" msgid="8263346537524314127">"Начало"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Преди <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Оставащо време: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-bn-rBD/strings.xml b/packages/SettingsLib/res/values-bn-rBD/strings.xml
index e982a36..91537da 100644
--- a/packages/SettingsLib/res/values-bn-rBD/strings.xml
+++ b/packages/SettingsLib/res/values-bn-rBD/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"অক্ষম করা রয়েছে"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"সবসময় চালু"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"স্বয়ংক্রিয়"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"বহু-প্রক্রিয়া ওয়েবভিউ সক্ষম করুন"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"একটি বিচ্ছিন্ন প্রক্রিয়ায় ওয়েবভিউ রেন্ডারারগুলি চালান৷"</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"ওয়েবভিউ প্রয়োগ"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"ওয়েবভিউ প্রয়োগ সেট করুন"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"নির্বাচিত ওয়েবভিউ প্রয়োগটি অক্ষম করা আছে এবং ব্যবহার করার জন্য অবশ্যই সক্ষম করতে হবে, আপনি কি এটিকে সক্ষম করতে চান?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"চার্জ হচ্ছে না"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"চার্জ হচ্ছে না"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"পূর্ণ"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"প্রশাসক দ্বারা অক্ষমিত"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"প্রশাসকের দ্বারা নিয়ন্ত্রিত"</string>
<string name="home" msgid="8263346537524314127">"হোম"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> আগে"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> বাকী আছে"</string>
diff --git a/packages/SettingsLib/res/values-bs-rBA/strings.xml b/packages/SettingsLib/res/values-bs-rBA/strings.xml
index 92c7ec8..81fea25 100644
--- a/packages/SettingsLib/res/values-bs-rBA/strings.xml
+++ b/packages/SettingsLib/res/values-bs-rBA/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Ne puni se"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Ne puni se"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Puna"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Onemogućio administrator"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Početna stranica"</string>
<string name="charge_length_format" msgid="8978516217024434156">"prije <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Još otprilike <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-ca/strings.xml b/packages/SettingsLib/res/values-ca/strings.xml
index beb909e..6ae9bf7 100644
--- a/packages/SettingsLib/res/values-ca/strings.xml
+++ b/packages/SettingsLib/res/values-ca/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"No s\'està carregant"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"No s\'està carregant"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Plena"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Opció desactivada per l\'administrador"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Inici"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Fa <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Temps restant: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-cs/strings.xml b/packages/SettingsLib/res/values-cs/strings.xml
index ad01feb..784ddbd 100644
--- a/packages/SettingsLib/res/values-cs/strings.xml
+++ b/packages/SettingsLib/res/values-cs/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Nenabíjí se"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Nenabíjí se"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Nabitá"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Zakázáno administrátorem"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Plocha"</string>
<string name="charge_length_format" msgid="8978516217024434156">"před <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Zbývající čas: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-da/strings.xml b/packages/SettingsLib/res/values-da/strings.xml
index e869044..39eed5c 100644
--- a/packages/SettingsLib/res/values-da/strings.xml
+++ b/packages/SettingsLib/res/values-da/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Oplader ikke"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Oplader ikke"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Fuld"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Deaktiveret af administratoren"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Start"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> siden"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> tilbage"</string>
diff --git a/packages/SettingsLib/res/values-de/strings.xml b/packages/SettingsLib/res/values-de/strings.xml
index 56d2543..5f04299 100644
--- a/packages/SettingsLib/res/values-de/strings.xml
+++ b/packages/SettingsLib/res/values-de/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Wird nicht geladen"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Wird nicht geladen"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Voll"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Vom Administrator deaktiviert"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Startseite"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Vor <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Noch <xliff:g id="ID_1">%1$s</xliff:g> verbleibend"</string>
diff --git a/packages/SettingsLib/res/values-el/strings.xml b/packages/SettingsLib/res/values-el/strings.xml
index e9f8661..d015f29 100644
--- a/packages/SettingsLib/res/values-el/strings.xml
+++ b/packages/SettingsLib/res/values-el/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Δεν φορτίζει"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Δεν φορτίζει"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Πλήρης"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Απενεργοποιήθηκε από το διαχειριστή"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Αρχική οθόνη"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Πριν από <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Απομένουν <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-en-rAU/strings.xml b/packages/SettingsLib/res/values-en-rAU/strings.xml
index 668e0b2..fb81514 100644
--- a/packages/SettingsLib/res/values-en-rAU/strings.xml
+++ b/packages/SettingsLib/res/values-en-rAU/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"Disabled"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"Always on"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"Automatic"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"Enable multi-process WebView"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"Run WebView renderers in an isolated process."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"WebView implementation"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"Set WebView implementation"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"The chosen WebView implementation is disabled and must be enabled to be used, do you wish to enable it?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Not charging"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Not charging"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Full"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Disabled by administrator"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlled by admin"</string>
<string name="home" msgid="8263346537524314127">"Home"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> ago"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> left"</string>
diff --git a/packages/SettingsLib/res/values-en-rGB/strings.xml b/packages/SettingsLib/res/values-en-rGB/strings.xml
index 668e0b2..fb81514 100644
--- a/packages/SettingsLib/res/values-en-rGB/strings.xml
+++ b/packages/SettingsLib/res/values-en-rGB/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"Disabled"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"Always on"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"Automatic"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"Enable multi-process WebView"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"Run WebView renderers in an isolated process."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"WebView implementation"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"Set WebView implementation"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"The chosen WebView implementation is disabled and must be enabled to be used, do you wish to enable it?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Not charging"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Not charging"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Full"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Disabled by administrator"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlled by admin"</string>
<string name="home" msgid="8263346537524314127">"Home"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> ago"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> left"</string>
diff --git a/packages/SettingsLib/res/values-en-rIN/strings.xml b/packages/SettingsLib/res/values-en-rIN/strings.xml
index 668e0b2..fb81514 100644
--- a/packages/SettingsLib/res/values-en-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-en-rIN/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"Disabled"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"Always on"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"Automatic"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"Enable multi-process WebView"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"Run WebView renderers in an isolated process."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"WebView implementation"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"Set WebView implementation"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"The chosen WebView implementation is disabled and must be enabled to be used, do you wish to enable it?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Not charging"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Not charging"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Full"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Disabled by administrator"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Controlled by admin"</string>
<string name="home" msgid="8263346537524314127">"Home"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> ago"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> left"</string>
diff --git a/packages/SettingsLib/res/values-es-rUS/strings.xml b/packages/SettingsLib/res/values-es-rUS/strings.xml
index 05ab073..b43d7f3 100644
--- a/packages/SettingsLib/res/values-es-rUS/strings.xml
+++ b/packages/SettingsLib/res/values-es-rUS/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"No se está cargando."</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"No se realiza la carga"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Cargado"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Inhabilitada por el administrador"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Página principal"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Hace <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Falta <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-es/strings.xml b/packages/SettingsLib/res/values-es/strings.xml
index 5fea7554..2457cf4 100644
--- a/packages/SettingsLib/res/values-es/strings.xml
+++ b/packages/SettingsLib/res/values-es/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"No se está cargando"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"No se está cargando"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Completa"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Inhabilitada por el administrador"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Inicio"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Hace <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Tiempo restante: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-et-rEE/strings.xml b/packages/SettingsLib/res/values-et-rEE/strings.xml
index b9d011b..dc46def 100644
--- a/packages/SettingsLib/res/values-et-rEE/strings.xml
+++ b/packages/SettingsLib/res/values-et-rEE/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Ei lae"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Ei lae"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Täis"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Administraator on keelanud"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Avaekraan"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> tagasi"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> on jäänud"</string>
diff --git a/packages/SettingsLib/res/values-eu-rES/strings.xml b/packages/SettingsLib/res/values-eu-rES/strings.xml
index c1be37f..18d1946 100644
--- a/packages/SettingsLib/res/values-eu-rES/strings.xml
+++ b/packages/SettingsLib/res/values-eu-rES/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Ez da kargatzen ari"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Ez da kargatzen ari"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Beteta"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Administratzaileak desgaitu du"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Hasierako pantaila"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Duela <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> guztiz kargatu arte"</string>
diff --git a/packages/SettingsLib/res/values-fa/strings.xml b/packages/SettingsLib/res/values-fa/strings.xml
index fc4cd7d..4c14ce7 100644
--- a/packages/SettingsLib/res/values-fa/strings.xml
+++ b/packages/SettingsLib/res/values-fa/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"غیرفعال است"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"همیشه روشن"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"خودکار"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"فعال کردن WebView چند پردازشی"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"اجرای تولیدکننده تصویر WebView در یک پردازش مجزا."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"اجرای WebView"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"تنظیم اجرای WebView"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"پیادهسازی WebView انتخابشده غیرفعال شده است و برای استفاده شدن باید فعال شود؛ میخواهید آن را فعال کنید؟"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"شارژ نمیشود"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"شارژ نمیشود"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"پر"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"سرپرست آن را غیرفعال کرده است"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"توسط سرپرست سیستم کنترل میشود"</string>
<string name="home" msgid="8263346537524314127">"صفحه اصلی"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> قبل"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> باقی مانده است"</string>
diff --git a/packages/SettingsLib/res/values-fi/strings.xml b/packages/SettingsLib/res/values-fi/strings.xml
index 34309c1..886107a 100644
--- a/packages/SettingsLib/res/values-fi/strings.xml
+++ b/packages/SettingsLib/res/values-fi/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Ei laturissa"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Ei laturissa"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Täynnä"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Järjestelmänvalvojan käytöstä poistama"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Aloitusnäyttö"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> sitten"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> jäljellä"</string>
diff --git a/packages/SettingsLib/res/values-fr-rCA/strings.xml b/packages/SettingsLib/res/values-fr-rCA/strings.xml
index 1181c2a3..e0e6639 100644
--- a/packages/SettingsLib/res/values-fr-rCA/strings.xml
+++ b/packages/SettingsLib/res/values-fr-rCA/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"N\'est pas en charge"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"N\'est pas en charge"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Pleine"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Désactivé par l\'administrateur"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Accueil"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Il y a <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Durée restante :<xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-fr/strings.xml b/packages/SettingsLib/res/values-fr/strings.xml
index 0639f1f..a5112c5 100644
--- a/packages/SettingsLib/res/values-fr/strings.xml
+++ b/packages/SettingsLib/res/values-fr/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Pas en charge"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Débranchée"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"pleine"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Désactivé par l\'administrateur"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Accueil"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Il y a <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Il reste <xliff:g id="ID_1">%1$s</xliff:g>."</string>
diff --git a/packages/SettingsLib/res/values-gl-rES/strings.xml b/packages/SettingsLib/res/values-gl-rES/strings.xml
index 5622d63..d84cbb5 100644
--- a/packages/SettingsLib/res/values-gl-rES/strings.xml
+++ b/packages/SettingsLib/res/values-gl-rES/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Non se está cargando"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Non está cargando"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Completa"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Desactivado polo administrador"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Inicio"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Hai <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Tempo restante: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-gu-rIN/strings.xml b/packages/SettingsLib/res/values-gu-rIN/strings.xml
index 2c1990f..bc5c2ac 100644
--- a/packages/SettingsLib/res/values-gu-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-gu-rIN/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"ચાર્જ થઈ રહ્યું નથી"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"ચાર્જ થઈ રહ્યું નથી"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"પૂર્ણ"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"વ્યવસ્થાપક દ્વારા અક્ષમ"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"હોમ"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> પહેલાં"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> બાકી"</string>
diff --git a/packages/SettingsLib/res/values-hi/strings.xml b/packages/SettingsLib/res/values-hi/strings.xml
index 7deb05c..ca63011 100644
--- a/packages/SettingsLib/res/values-hi/strings.xml
+++ b/packages/SettingsLib/res/values-hi/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"अक्षम"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"हमेशा चालू"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"स्वचालित"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"मल्टीप्रोसेस WebView सक्षम करें"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"किसी अलग प्रक्रिया में WebView रेंडरर चलाएं."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"WebView कार्यान्वयन"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"WebView कार्यान्वयन सेट करें"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"चुना गया WebView कार्यान्वयन अक्षम है और उसे उपयोग करने के लिए सक्षम किया जाना आवश्यक है, क्या आप उसे सक्षम करना चाहते हैं?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"चार्ज नहीं हो रही है"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"चार्ज नहीं हो रही है"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"पूरी"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"व्यवस्थापक के द्वारा अक्षम किया गया"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"व्यवस्थापक द्वारा नियंत्रित"</string>
<string name="home" msgid="8263346537524314127">"होम"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> पहले"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> शेष"</string>
diff --git a/packages/SettingsLib/res/values-hr/strings.xml b/packages/SettingsLib/res/values-hr/strings.xml
index ca58584..9e6edec 100644
--- a/packages/SettingsLib/res/values-hr/strings.xml
+++ b/packages/SettingsLib/res/values-hr/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"Onemogućeno"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"Uvijek uključeno"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"Automatska"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"Omogući višeprocesni WebView"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"Pokreni ispunjivače WebViewa u izoliranim procesima."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"Implementacija WebViewa"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"Postavi implementaciju WebViewa"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"Odabrana implementacija WebViewa onemogućena je i morate je omogućiti da biste je mogli upotrebljavati. Želite li je omogućiti?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Ne puni se"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Ne puni se"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Puna"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Onemogućio administrator"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kontrolira administrator"</string>
<string name="home" msgid="8263346537524314127">"Početni zaslon"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Prije <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Još <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-hu/strings.xml b/packages/SettingsLib/res/values-hu/strings.xml
index 365c409..84bc636 100644
--- a/packages/SettingsLib/res/values-hu/strings.xml
+++ b/packages/SettingsLib/res/values-hu/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Nem tölt"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Nem töltődik"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Feltöltve"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Letiltva a rendszergazda által"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Főoldal"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Ennyi ideje: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> van hátra"</string>
diff --git a/packages/SettingsLib/res/values-hy-rAM/strings.xml b/packages/SettingsLib/res/values-hy-rAM/strings.xml
index b210698..b3f2315 100644
--- a/packages/SettingsLib/res/values-hy-rAM/strings.xml
+++ b/packages/SettingsLib/res/values-hy-rAM/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Չի լիցքավորվում"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Չի լիցքավորվում"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Լիցքավորված"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Կասեցված է ադմինիստրատորի կողմից"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Գլխավոր էջ"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> առաջ"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Մնացել է <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-in/strings.xml b/packages/SettingsLib/res/values-in/strings.xml
index 33e869c..afeaccb 100644
--- a/packages/SettingsLib/res/values-in/strings.xml
+++ b/packages/SettingsLib/res/values-in/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"Dinonaktifkan"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"Selalu aktif"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"Otomatis"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"Aktifkan WebView multiproses"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"Jalankan perender WebView dalam proses yang terisolasi."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"Penerapan WebView"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"Setel penerapan WebView"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"Implementasi WebView yang dipilih telah dinonaktifkan, dan harus diaktifkan agar dapat digunakan. Ingin mengaktifkannya?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Tidak mengisi daya"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Tidak mengisi daya"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Penuh"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Dinonaktifkan oleh administrator"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Dikontrol oleh admin"</string>
<string name="home" msgid="8263346537524314127">"Layar Utama"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> lalu"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Tersisa <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-is-rIS/strings.xml b/packages/SettingsLib/res/values-is-rIS/strings.xml
index b79dcf8..614713b 100644
--- a/packages/SettingsLib/res/values-is-rIS/strings.xml
+++ b/packages/SettingsLib/res/values-is-rIS/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Ekki í hleðslu"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Ekki í hleðslu"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Fullhlaðin"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Stjórnandi gerði óvirkt"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Heim"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Fyrir <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> eftir"</string>
diff --git a/packages/SettingsLib/res/values-it/strings.xml b/packages/SettingsLib/res/values-it/strings.xml
index d5753c4..7de336e 100644
--- a/packages/SettingsLib/res/values-it/strings.xml
+++ b/packages/SettingsLib/res/values-it/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Non in carica"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Non in carica"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Carica"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Disattivata dall\'amministratore"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Home page"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> fa"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> rimanenti"</string>
diff --git a/packages/SettingsLib/res/values-iw/strings.xml b/packages/SettingsLib/res/values-iw/strings.xml
index ee2588f..5cb3683 100644
--- a/packages/SettingsLib/res/values-iw/strings.xml
+++ b/packages/SettingsLib/res/values-iw/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"מושבת"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"פועל תמיד"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"באופן אוטומטי"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"הפעל תצוגת אתר לריבוי עיבודים"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"הרץ מעבדי תצוגת אתר בהליך מבודד"</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"יישום WebView"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"הגדרת יישום WebView"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"יישום ה-WebView שנבחר מושבת, ויש להפעיל אותו כדי להשתמש בו. האם ברצונך להפעיל אותו?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"לא בטעינה"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"לא טוען"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"מלא"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"הושבת על ידי מנהל המערכת"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"נמצא בשליטת מנהל מערכת"</string>
<string name="home" msgid="8263346537524314127">"דף הבית"</string>
<string name="charge_length_format" msgid="8978516217024434156">"לפני <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"נשארו <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-ja/strings.xml b/packages/SettingsLib/res/values-ja/strings.xml
index 67bf4b0..76ce6c5 100644
--- a/packages/SettingsLib/res/values-ja/strings.xml
+++ b/packages/SettingsLib/res/values-ja/strings.xml
@@ -317,7 +317,8 @@
<!-- String.format failed for translation -->
<!-- no translation found for battery_info_status_full (2824614753861462808) -->
<skip />
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"管理者によって無効にされています"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"ホーム"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g>前"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"あと <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-ka-rGE/strings.xml b/packages/SettingsLib/res/values-ka-rGE/strings.xml
index f441fa0..c77afaf 100644
--- a/packages/SettingsLib/res/values-ka-rGE/strings.xml
+++ b/packages/SettingsLib/res/values-ka-rGE/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"არ იტენება"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"არ იტენება"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"ბატარეა დატენილია"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"გათიშულია ადმინისტრატორის მიერ"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"მთავარი"</string>
<string name="charge_length_format" msgid="8978516217024434156">"გავიდა <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"დარჩენილია <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-kk-rKZ/strings.xml b/packages/SettingsLib/res/values-kk-rKZ/strings.xml
index fb5ab12..f371e79a 100644
--- a/packages/SettingsLib/res/values-kk-rKZ/strings.xml
+++ b/packages/SettingsLib/res/values-kk-rKZ/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"Өшірілген"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"Әрқашан қосулы"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"Aвтоматты"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"Бірнеше процесті веб-көріністі қосу"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"Веб-көрініс бейнелеушілерін оқшауланған процесте іске қосу."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"WebView ендіру"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"WebView ендіруін орнату"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"Таңдалған веб-көріністі енгізу өшірілген және пайдалану үшін оны қосу керек. Оны қосу керек пе?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Зарядталу орындалып жатқан жоқ"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Зарядталып тұрған жоқ"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Толық"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Әкімші өшірген"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Әкімші басқарады"</string>
<string name="home" msgid="8263346537524314127">"Негізгі бет"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> бұрын"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> қалды"</string>
diff --git a/packages/SettingsLib/res/values-km-rKH/strings.xml b/packages/SettingsLib/res/values-km-rKH/strings.xml
index c1946c4..d0a6618 100644
--- a/packages/SettingsLib/res/values-km-rKH/strings.xml
+++ b/packages/SettingsLib/res/values-km-rKH/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"មិនកំពុងបញ្ចូលថ្ម"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"មិនបញ្ចូលថ្ម"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"ពេញ"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"បានបិទដំណើរការដោយអ្នកគ្រប់គ្រង"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"ដើម"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> មុន"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"នៅសល់ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-kn-rIN/strings.xml b/packages/SettingsLib/res/values-kn-rIN/strings.xml
index a6acd17..26fc84f 100644
--- a/packages/SettingsLib/res/values-kn-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-kn-rIN/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"ಚಾರ್ಜ್ ಆಗುತ್ತಿಲ್ಲ"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"ಚಾರ್ಜ್ ಆಗುತ್ತಿಲ್ಲ"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"ಭರ್ತಿ"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"ನಿರ್ವಾಹಕರಿಂದ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"ಮುಖಪುಟ"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> ಹಿಂದೆ"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> ಉಳಿದಿದೆ"</string>
diff --git a/packages/SettingsLib/res/values-ko/strings.xml b/packages/SettingsLib/res/values-ko/strings.xml
index c8bb2e6..3fa1664 100644
--- a/packages/SettingsLib/res/values-ko/strings.xml
+++ b/packages/SettingsLib/res/values-ko/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"충전 안함"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"충전 안함"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"충전 완료"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"관리자가 사용 중지함"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"홈"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> 전"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> 남음"</string>
diff --git a/packages/SettingsLib/res/values-ky-rKG/strings.xml b/packages/SettingsLib/res/values-ky-rKG/strings.xml
index 6f158c0..6eb2a20 100644
--- a/packages/SettingsLib/res/values-ky-rKG/strings.xml
+++ b/packages/SettingsLib/res/values-ky-rKG/strings.xml
@@ -300,7 +300,7 @@
<string name="accessibility_display_daltonizer_preference_title" msgid="5800761362678707872">"Түсүн тууралоо"</string>
<string name="accessibility_display_daltonizer_preference_subtitle" msgid="3484969015295282911">"Бул сынамык мүмкүнчүлүк болгондуктан, иштин майнаптуулугуна таасир этиши мүмкүн."</string>
<string name="daltonizer_type_overridden" msgid="3116947244410245916">"<xliff:g id="TITLE">%1$s</xliff:g> менен алмаштырылган"</string>
- <string name="power_remaining_duration_only" msgid="4400068916452346544">"<xliff:g id="TIME">%1$s</xliff:g>-чакты калды"</string>
+ <string name="power_remaining_duration_only" msgid="4400068916452346544">"Болжол менен <xliff:g id="TIME">%1$s</xliff:g> калды"</string>
<string name="power_discharging_duration" msgid="1605929174734600590">"<xliff:g id="LEVEL">%1$s</xliff:g> - болжол менен <xliff:g id="TIME">%2$s</xliff:g> саат калды"</string>
<string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string>
<string name="power_charging_duration" msgid="2853265177761520490">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> толгончо"</string>
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Кубат алган жок"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Кубатталган жок"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Толук"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Администратор өчүрүп койгон"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Башкы бет"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> мурун"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> калды"</string>
diff --git a/packages/SettingsLib/res/values-lo-rLA/strings.xml b/packages/SettingsLib/res/values-lo-rLA/strings.xml
index 7664212..d8ea81b 100644
--- a/packages/SettingsLib/res/values-lo-rLA/strings.xml
+++ b/packages/SettingsLib/res/values-lo-rLA/strings.xml
@@ -248,7 +248,7 @@
<string name="force_allow_on_external" msgid="3215759785081916381">"ບັງຄັບອະນຸຍາດແອັບຢູ່ພາຍນອກ"</string>
<string name="force_allow_on_external_summary" msgid="3191952505860343233">"ເຮັດໃຫ້ທຸກແອັບມີສິດໄດ້ຮັບການຂຽນໃສ່ບ່ອນຈັດເກັບພາຍນອກ, ໂດຍບໍ່ຄຳນຶງເຖິງຄ່າທີ່ຈະແຈ້ງ"</string>
<string name="force_resizable_activities" msgid="8615764378147824985">"ບັງຄັງໃຫ້ກິດຈະກຳປ່ຽນຂະໜາດໄດ້"</string>
- <string name="force_resizable_activities_summary" msgid="6667493494706124459">"ເຮັດໃຫ້ທຸກກິດຈະກຳສາມາດປັບຂະໜາດໄດ້ສຳລັບຫຼາຍໜ້າຈໍ, ໂດຍບໍ່ຄຳນຶງເຖິງຄ່າທີ່ຈະແຈ້ງ."</string>
+ <string name="force_resizable_activities_summary" msgid="6667493494706124459">"ເຮັດໃຫ້ທຸກກິດຈະກຳສາມາດປັບຂະໜາດໄດ້ສຳລັບຫຼາຍໜ້າຈໍ, ໂດຍບໍ່ຄຳນຶງເຖິງຄ່າ manifest."</string>
<string name="enable_freeform_support" msgid="1461893351278940416">"ເປີດໃຊ້ໜ້າຕ່າງຮູບແບບອິດສະຫຼະ"</string>
<string name="enable_freeform_support_summary" msgid="8247310463288834487">"ເປີດໃຊ້ການຮອງຮັບໜ້າຈໍຮູບແບບອິດສະຫຼະແບບທົດລອງ."</string>
<string name="local_backup_password_title" msgid="3860471654439418822">"ລະຫັດຜ່ານການສຳຮອງຂໍ້ມູນເດັກສະທັອບ"</string>
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"ປິດໃຊ້ງານແລ້ວ"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"ເປີດຕະຫຼອດ"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"ອັດຕະໂນມັດ"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"ອະນຸຍາດໃຫ້ມີໂປຣເຊສ WebView ຫຼາຍອັນໄດ້"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"ເປີດໃຊ້ຕົວປະມວນ WebView ໃນໂປຣເຊສທີ່ແຍກຈາກກັນໄດ້."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"ການຈັດຕັ້ງປະຕິບັດ WebView"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"ຕັ້ງການຈັດຕັ້ງປະຕິບັດ WebView"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"ການຈັດຕັ້ງປະຕິບັດ WebView ທີ່ເລືອກຖືກປິດນຳໃຊ້, ແລະຕ້ອງຖືກເປີດນຳໃຊ້, ທ່ານຕ້ອງການເປີດນຳໃຊ້ມັນບໍ?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"ບໍ່ໄດ້ສາກໄຟ"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"ບໍ່ໄດ້ສາກໄຟ"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"ເຕັມ"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"ຖືກປິດໃຊ້ໂດຍຜູ້ເບິ່ງແຍງລະບົບ"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"ຄວບຄຸມໂດຍຜູ້ເບິ່ງແຍງ"</string>
<string name="home" msgid="8263346537524314127">"ໜ້າຫຼັກ"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> ກ່ອນນີ້"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"ຍັງເຫຼືອ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-lt/strings.xml b/packages/SettingsLib/res/values-lt/strings.xml
index c730dc0..295bb46 100644
--- a/packages/SettingsLib/res/values-lt/strings.xml
+++ b/packages/SettingsLib/res/values-lt/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"Išjungta"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"Visada įjungta"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"Automatinė"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"Įgal. kelių procesų „WebView“"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"Paleisti „WebView“ pateikimo priemones vienam procesui."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"„WebView“ diegimas"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"„WebView“ diegimo nustatymas"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"Pasirinktas „WebView“ diegimas išjungtas ir jį būtina įgalinti, kad būtų galima naudoti. Ar norite jį įgalinti?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Nekraunama"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Nekraunama"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Visiškai įkrautas"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Išjungė administratorius"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Valdo administratorius"</string>
<string name="home" msgid="8263346537524314127">"Pagrindinis ekranas"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Prieš <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Liko <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-lv/strings.xml b/packages/SettingsLib/res/values-lv/strings.xml
index 65e4cff..c2fbd72 100644
--- a/packages/SettingsLib/res/values-lv/strings.xml
+++ b/packages/SettingsLib/res/values-lv/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Nenotiek uzlāde"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Nenotiek uzlāde"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Pilns"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Atspējojis administrators"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Sākums"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Pirms šāda laika: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Atlikušais laiks: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-mk-rMK/strings.xml b/packages/SettingsLib/res/values-mk-rMK/strings.xml
index 4576f3a..b7fd42b 100644
--- a/packages/SettingsLib/res/values-mk-rMK/strings.xml
+++ b/packages/SettingsLib/res/values-mk-rMK/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Не се полни"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Не се полни"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Целосна"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Оневозможено од администраторот"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Почетна страница"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Пред <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Преостанаа <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-ml-rIN/strings.xml b/packages/SettingsLib/res/values-ml-rIN/strings.xml
index 180d615..d84e516 100644
--- a/packages/SettingsLib/res/values-ml-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-ml-rIN/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"പ്രവർത്തനരഹിതമാക്കി"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"എല്ലായ്പ്പോഴും ഓണാണ്"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"ഓട്ടോമാറ്റിക്"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"മൾട്ടിപ്രോസസ്സ് WebView പ്രവർത്തനക്ഷമമാക്കൂ"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"ഒറ്റപ്പെട്ടൊരു പ്രോസസ്സിൽ WebView റെൻഡററുകൾ റൺ ചെയ്യുക."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"WebView നടപ്പാക്കൽ"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"WebView നടപ്പാക്കൽ സജ്ജമാക്കുക"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"തിരഞ്ഞെടുത്ത WebView നടപ്പാക്കൽ പ്രവർത്തനരഹിതമാക്കി, ഉപയോഗിക്കുന്നതിന് ഇത് പ്രവർത്തനക്ഷമമാക്കണം, പ്രവർത്തനക്ഷമമാക്കാൻ ആഗ്രഹിക്കുന്നുണ്ടോ?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"ചാർജ്ജുചെയ്യുന്നില്ല"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"ചാർജ്ജുചെയ്യുന്നില്ല"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"നിറഞ്ഞു"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"അഡ്മിനിസ്ട്രേറ്റർ പ്രവർത്തനരഹിതമാക്കി"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"അഡ്മിൻ നിയന്ത്രിക്കുന്നത്"</string>
<string name="home" msgid="8263346537524314127">"ഹോം"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> മുമ്പ്"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> ശേഷിക്കുന്നു"</string>
diff --git a/packages/SettingsLib/res/values-mn-rMN/strings.xml b/packages/SettingsLib/res/values-mn-rMN/strings.xml
index 8bdd880..c529c18 100644
--- a/packages/SettingsLib/res/values-mn-rMN/strings.xml
+++ b/packages/SettingsLib/res/values-mn-rMN/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Цэнэглэхгүй байна"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Цэнэглэхгүй байна"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Дүүрэн"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Админ идэвхгүй болгосон"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Нүүр"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> өмнө"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> үлдсэн"</string>
diff --git a/packages/SettingsLib/res/values-mr-rIN/strings.xml b/packages/SettingsLib/res/values-mr-rIN/strings.xml
index 92247f5..25cd8fb 100644
--- a/packages/SettingsLib/res/values-mr-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-mr-rIN/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"चार्ज होत नाही"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"चार्ज होत नाही"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"पूर्ण"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"प्रशासकाद्वारे अक्षम केलेले"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"मुख्यपृष्ठ"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> पूर्वी"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> शिल्लक"</string>
diff --git a/packages/SettingsLib/res/values-ms-rMY/strings.xml b/packages/SettingsLib/res/values-ms-rMY/strings.xml
index 45f5c6f..e8453a4 100644
--- a/packages/SettingsLib/res/values-ms-rMY/strings.xml
+++ b/packages/SettingsLib/res/values-ms-rMY/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Tidak mengecas"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Tidak mengecas"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Penuh"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Dilumpuhkan oleh pentadbir"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Skrin Utama"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> yang lalu"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> lagi"</string>
diff --git a/packages/SettingsLib/res/values-my-rMM/strings.xml b/packages/SettingsLib/res/values-my-rMM/strings.xml
index 9d722db..c102493 100644
--- a/packages/SettingsLib/res/values-my-rMM/strings.xml
+++ b/packages/SettingsLib/res/values-my-rMM/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"ပိတ်ထား"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"အမြဲတမ်း ဖွင့်ထားရန်"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"အလိုအလျောက်"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"လုပ်ငန်းဖြစ်စဉ်များစွာကြည့်နိုင်သည့် ဝဘ်မြင်ကွင်းကိုဖွင့်ပါ"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"လုပ်ငန်းဖြစ်စဉ်တစ်ခုတည်းအတွက် ဝဘ်မြင်ကွင်း အဖြစ်ပြုလုပ်ခြင်းကို ဖွင့်ပါ။"</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"WebView အကောင်အထည်ဖော်မှု"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"WebView အကောင်အထည်ဖော်မှု သတ်မှတ်ပါ"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"ရွေးချယ်ထားသည့် WebView လုပ်ဆောင်ခြင်းကို ပိတ်ထားသည်ပြီး အသုံးပြုရန်အတွက် ဖွင့်ရမည်၊ ဖွင့်လိုပါသလား။"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"အားသွင်းမနေပါ"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"အားသွင်းမနေပါ"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"အပြည့်"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"စီမံခန့်ခွဲသူမှ ပိတ်ထားသည်"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"စီမံခန့်ခွဲသူမှ ထိန်းချုပ်ပါသည်"</string>
<string name="home" msgid="8263346537524314127">"ပင်မ"</string>
<string name="charge_length_format" msgid="8978516217024434156">"ပြီးခဲ့သည့် <xliff:g id="ID_1">%1$s</xliff:g> က"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> ကျန်ပါသည်"</string>
diff --git a/packages/SettingsLib/res/values-nb/strings.xml b/packages/SettingsLib/res/values-nb/strings.xml
index ff15482..ead93b9 100644
--- a/packages/SettingsLib/res/values-nb/strings.xml
+++ b/packages/SettingsLib/res/values-nb/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Lader ikke"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Lader ikke"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Fullt"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Avslått av administratoren"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Startside"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> siden"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> gjenstår"</string>
diff --git a/packages/SettingsLib/res/values-ne-rNP/strings.xml b/packages/SettingsLib/res/values-ne-rNP/strings.xml
index f0cfdab..5c850ab 100644
--- a/packages/SettingsLib/res/values-ne-rNP/strings.xml
+++ b/packages/SettingsLib/res/values-ne-rNP/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"असक्षम गरियो"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"सधैं खुल्ला"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"स्वचालित"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"मल्टिप्रोसेस वेबभ्यु सक्षम गर्नुहोस्"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"एउटा पृथक प्रक्रियामा वेबभ्यु रेन्डररहरू चलाउनुहोस्।"</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"WebView कार्यान्वयन"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"WebView कार्यान्वयन सेट गर्नुहोस्"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"छनौट गरिएको WebView को कार्यान्वयन असक्षम गरिएको छ र प्रयोग गर्नका लागि सक्रिय गर्नुपर्छ, तपाईँ यसलाई सक्रिय गर्न चाहनुहुन्छ?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"चार्ज भइरहेको छैन"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"चार्ज हुँदै छैन"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"पूर्ण"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"प्रशासकद्वारा असक्षम गरिएको"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"व्यवस्थापक द्वारा नियन्त्रित"</string>
<string name="home" msgid="8263346537524314127">"गृह"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> पहिले"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> बाँकी"</string>
diff --git a/packages/SettingsLib/res/values-nl/strings.xml b/packages/SettingsLib/res/values-nl/strings.xml
index 0dbf5b9..de42892 100644
--- a/packages/SettingsLib/res/values-nl/strings.xml
+++ b/packages/SettingsLib/res/values-nl/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Wordt niet opgeladen"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Wordt niet opgeladen"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Volledig"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Uitgeschakeld door beheerder"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Startpagina"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> geleden"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> resterend"</string>
diff --git a/packages/SettingsLib/res/values-pa-rIN/strings.xml b/packages/SettingsLib/res/values-pa-rIN/strings.xml
index 2f44757..d0be11b 100644
--- a/packages/SettingsLib/res/values-pa-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-pa-rIN/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"ਅਸਮਰੱਥ ਬਣਾਇਆ"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"ਹਮੇਸ਼ਾ ਚਾਲੂ"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"ਆਟੋਮੈਟਿਕ"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"ਬਹੁ-ਮੰਤਵ WebView ਨੂੰ ਯੋਗ ਬਣਾਓ"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"ਕਿਸੇ ਵੱਖ ਕੀਤੀ ਗਈ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ WebView ਰੈਂਡਰਰਾਂ ਨੂੰ ਚਲਾਓ।"</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"WebView ਅਮਲ"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"WebView ਅਮਲ ਸੈੱਟ ਕਰੋ"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"ਚੁਣਿਆ ਗਿਆ WebView ਅਮਲ ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ ਹੈ, ਅਤੇ ਵਰਤੋਂ ਕਰਨ ਲਈ ਇਸ ਨੂੰ ਯੋਗ ਬਣਾਇਆ ਜਾਣਾ ਜ਼ਰੂਰੀ ਹੈ, ਕੀ ਤੁਸੀਂ ਇਸ ਨੂੰ ਯੋਗ ਬਣਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"ਚਾਰਜ ਨਹੀਂ ਹੋ ਰਿਹਾ"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"ਚਾਰਜ ਨਹੀਂ ਹੋ ਰਿਹਾ"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"ਪੂਰੀ"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਕੰਟਰੋਲ ਕੀਤੀ ਗਈ"</string>
<string name="home" msgid="8263346537524314127">"ਮੁੱਖ ਸਕ੍ਰੀਨ"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> ਪਹਿਲਾਂ"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> ਬਾਕੀ"</string>
diff --git a/packages/SettingsLib/res/values-pl/strings.xml b/packages/SettingsLib/res/values-pl/strings.xml
index e30925c..822f928 100644
--- a/packages/SettingsLib/res/values-pl/strings.xml
+++ b/packages/SettingsLib/res/values-pl/strings.xml
@@ -315,8 +315,9 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Nie podłączony"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Nie podłączony"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Naładowana"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Wyłączone przez administratora"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Ekran główny"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> temu"</string>
- <string name="remaining_length_format" msgid="7886337596669190587">"Pozostało: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+ <string name="remaining_length_format" msgid="7886337596669190587">"Pozostało <xliff:g id="ID_1">%1$s</xliff:g>"</string>
</resources>
diff --git a/packages/SettingsLib/res/values-pt-rBR/strings.xml b/packages/SettingsLib/res/values-pt-rBR/strings.xml
index ec54e4f..cb43419 100644
--- a/packages/SettingsLib/res/values-pt-rBR/strings.xml
+++ b/packages/SettingsLib/res/values-pt-rBR/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Não está carregando"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Não está carregando"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Cheio"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Desativada pelo administrador"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Início"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> atrás"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> restante(s)"</string>
diff --git a/packages/SettingsLib/res/values-pt-rPT/strings.xml b/packages/SettingsLib/res/values-pt-rPT/strings.xml
index ab2a5ae..4b48746 100644
--- a/packages/SettingsLib/res/values-pt-rPT/strings.xml
+++ b/packages/SettingsLib/res/values-pt-rPT/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Não está a carregar"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Não está a carregar"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Completo"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Desativado pelo administrador"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Página inicial"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Há <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Resta(m) <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-pt/strings.xml b/packages/SettingsLib/res/values-pt/strings.xml
index ec54e4f..cb43419 100644
--- a/packages/SettingsLib/res/values-pt/strings.xml
+++ b/packages/SettingsLib/res/values-pt/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Não está carregando"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Não está carregando"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Cheio"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Desativada pelo administrador"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Início"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> atrás"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> restante(s)"</string>
diff --git a/packages/SettingsLib/res/values-ro/strings.xml b/packages/SettingsLib/res/values-ro/strings.xml
index 0cfacd7..756a674 100644
--- a/packages/SettingsLib/res/values-ro/strings.xml
+++ b/packages/SettingsLib/res/values-ro/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Nu se încarcă"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Nu încarcă"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Complet"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Dezactivată de administrator"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Ecranul principal"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Acum <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Timp rămas: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-ru/strings.xml b/packages/SettingsLib/res/values-ru/strings.xml
index 4b3214a..1281ba1 100644
--- a/packages/SettingsLib/res/values-ru/strings.xml
+++ b/packages/SettingsLib/res/values-ru/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Не заряжается"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Не заряжается"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Батарея заряжена"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Отключено администратором"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Главная"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> назад"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Осталось <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-si-rLK/strings.xml b/packages/SettingsLib/res/values-si-rLK/strings.xml
index 390e218..cc305fb 100644
--- a/packages/SettingsLib/res/values-si-rLK/strings.xml
+++ b/packages/SettingsLib/res/values-si-rLK/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"අබලයි"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"සැමවිට ක්රියාත්මක"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"ස්වයංක්රීය"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"බහු සැකසීම් WebView සබල කරන්න"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"හුදකලා වූ ක්රියාවලියක WebView විදහා දැක්වීම් ධාවනය කරන්න."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"WebView ක්රියාත්මක කිරීම"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"WebView ක්රියාත්මක කිරීම සකසන්න"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"තෝරන ලද WebView ක්රියාත්මක කිරීම අබල අතර, භාවිත කිරීමට සබල කළ යුතුය, ඔබ එය සබල කිරීමට අදහස් කරන්නේද?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"ආරෝපණය නොවේ"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"ආරෝපණය නොවෙමින්"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"පූර්ණ"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"පරිපාලක විසින් අබල කරන ලදී"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"පරිපාලක විසින් පාලනය කරන ලදී"</string>
<string name="home" msgid="8263346537524314127">"මුල් පිටුව"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g>කට පෙර"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g>ක් ඉතිරිය"</string>
diff --git a/packages/SettingsLib/res/values-sk/strings.xml b/packages/SettingsLib/res/values-sk/strings.xml
index 8bf64fa..5f8c3c7 100644
--- a/packages/SettingsLib/res/values-sk/strings.xml
+++ b/packages/SettingsLib/res/values-sk/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Nenabíja sa"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Nenabíja sa"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Nabitá"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Zakázané správcom"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Domov"</string>
<string name="charge_length_format" msgid="8978516217024434156">"pred <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Zostáva <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-sl/strings.xml b/packages/SettingsLib/res/values-sl/strings.xml
index 42e589b..b09d812 100644
--- a/packages/SettingsLib/res/values-sl/strings.xml
+++ b/packages/SettingsLib/res/values-sl/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Se ne polni"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Se ne polni"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Poln"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Onemogočil skrbnik"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Začetni zaslon"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Pred toliko časa: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Še <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-sq-rAL/strings.xml b/packages/SettingsLib/res/values-sq-rAL/strings.xml
index 4c77a12..6ddd437 100644
--- a/packages/SettingsLib/res/values-sq-rAL/strings.xml
+++ b/packages/SettingsLib/res/values-sq-rAL/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Nuk po ngarkohet"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Nuk po ngarkohet"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"E mbushur"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Çaktivizuar nga administratori"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Kreu"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> më parë"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> të mbetura"</string>
diff --git a/packages/SettingsLib/res/values-sr/strings.xml b/packages/SettingsLib/res/values-sr/strings.xml
index 8c47025..e7cd441 100644
--- a/packages/SettingsLib/res/values-sr/strings.xml
+++ b/packages/SettingsLib/res/values-sr/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Не пуни се"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Не пуни се"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Пуно"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Онемогућио је администратор"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Почетни"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Пре <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Још <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-sv/strings.xml b/packages/SettingsLib/res/values-sv/strings.xml
index d25f9f5..7ecfcb9 100644
--- a/packages/SettingsLib/res/values-sv/strings.xml
+++ b/packages/SettingsLib/res/values-sv/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Laddar inte"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Laddar inte"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Fullt"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Har inaktiverats av administratören"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Startsida"</string>
<string name="charge_length_format" msgid="8978516217024434156">"för <xliff:g id="ID_1">%1$s</xliff:g> sedan"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> kvar"</string>
diff --git a/packages/SettingsLib/res/values-sw/strings.xml b/packages/SettingsLib/res/values-sw/strings.xml
index 3f1d26a..da41974 100644
--- a/packages/SettingsLib/res/values-sw/strings.xml
+++ b/packages/SettingsLib/res/values-sw/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"Imezimwa"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"Imewashwa kila wakati"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"Otomatiki"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"Washa WebView ya michakato mingi"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"Tekeleza vitoaji huduma vya WebView katika mchakato mahususi."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"Utekelezaji wa WebView"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"Weka utekelezaji wa WebView"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"Kipengee ulichochagua cha utekelezaji wa WebView kimezimwa. Ni lazima ukiwashe ili kitumike. Ungependa kukiwasha?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Haichaji"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Haichaji"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Imejaa"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Msimamizi amezima mapendeleo ya mipangilio"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Imedhibitiwa na msimamizi"</string>
<string name="home" msgid="8263346537524314127">"Mwanzo"</string>
<string name="charge_length_format" msgid="8978516217024434156">"Zimepita <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Zimesalia <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-ta-rIN/strings.xml b/packages/SettingsLib/res/values-ta-rIN/strings.xml
index f06b0f9..4da2455 100644
--- a/packages/SettingsLib/res/values-ta-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-ta-rIN/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"சார்ஜ் செய்யப்படவில்லை"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"சார்ஜ் ஏறவில்லை"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"முழுமை"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"நிர்வாகி முடக்கியுள்ளார்"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"முகப்பு"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> முன்"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> உள்ளது"</string>
diff --git a/packages/SettingsLib/res/values-te-rIN/strings.xml b/packages/SettingsLib/res/values-te-rIN/strings.xml
index e6d594b..12398bb 100644
--- a/packages/SettingsLib/res/values-te-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-te-rIN/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"నిలిపివేయబడింది"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"ఎల్లప్పుడూ ఆన్లో ఉంచు"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"స్వయంచాలకం"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"మల్టీప్రాసెస్ వెబ్ వీక్షణ ఆరం."</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"ప్రత్యేకప్రాసెస్లో వెబ్ వీక్షణ రెండెరెర్లను అమలుచేస్తుంది."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"వెబ్ వీక్షణ అమలు"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"వెబ్ వీక్షణ అమలుని సెట్ చేయండి"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"ఎంచుకున్న వెబ్ వీక్షణ అమలు నిలిపివేయబడింది, కానీ ఉపయోగించడానికి తప్పనిసరిగా ప్రారంభించాల్సి ఉంటుంది, మీరు దీన్ని ప్రారంభించాలనుకుంటున్నారా?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"ఛార్జ్ కావడం లేదు"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"ఛార్జ్ కావడం లేదు"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"నిండింది"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"నిర్వాహకుడు నిలిపివేసారు"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"నిర్వాహకుని ద్వారా నియంత్రించబడింది"</string>
<string name="home" msgid="8263346537524314127">"హోమ్"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> క్రితం"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> మిగిలి ఉంది"</string>
diff --git a/packages/SettingsLib/res/values-th/strings.xml b/packages/SettingsLib/res/values-th/strings.xml
index ab428a9..3625b9d 100644
--- a/packages/SettingsLib/res/values-th/strings.xml
+++ b/packages/SettingsLib/res/values-th/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"ไม่ได้ชาร์จ"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"ไม่ได้ชาร์จ"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"เต็ม"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"ปิดใช้โดยผู้ดูแลระบบ"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"หน้าแรก"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g>ที่ผ่านมา"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"เหลือ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-tl/strings.xml b/packages/SettingsLib/res/values-tl/strings.xml
index b21acda..fd3a78bc 100644
--- a/packages/SettingsLib/res/values-tl/strings.xml
+++ b/packages/SettingsLib/res/values-tl/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Hindi nagcha-charge"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Hindi nagkakarga"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Puno"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Na-disable ng administrator"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Home"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> na ang nakalipas"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> na lang"</string>
diff --git a/packages/SettingsLib/res/values-tr/strings.xml b/packages/SettingsLib/res/values-tr/strings.xml
index beca481..f589c0a 100644
--- a/packages/SettingsLib/res/values-tr/strings.xml
+++ b/packages/SettingsLib/res/values-tr/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Şarj olmuyor"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Şarj etmiyor"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Dolu"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Yönetici tarafından devre dışı bırakıldı"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Ana Ekran"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> önce"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> kaldı"</string>
diff --git a/packages/SettingsLib/res/values-uk/strings.xml b/packages/SettingsLib/res/values-uk/strings.xml
index 9250dfd..5f0c7e4 100644
--- a/packages/SettingsLib/res/values-uk/strings.xml
+++ b/packages/SettingsLib/res/values-uk/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Не заряджається"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Не заряджається"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Акумулятор заряджено"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Вимкнено адміністратором"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Головний екран"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> тому"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Залишилося <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-ur-rPK/strings.xml b/packages/SettingsLib/res/values-ur-rPK/strings.xml
index 3173b33..38ac8c5 100644
--- a/packages/SettingsLib/res/values-ur-rPK/strings.xml
+++ b/packages/SettingsLib/res/values-ur-rPK/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"چارج نہیں ہو رہا ہے"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"چارج نہیں ہو رہا ہے"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"مکمل"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"منتظم نے غیر فعال کر دیا"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"ہوم"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> قبل"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> باقی ہیں"</string>
diff --git a/packages/SettingsLib/res/values-uz-rUZ/strings.xml b/packages/SettingsLib/res/values-uz-rUZ/strings.xml
index d6d8207..44e095f 100644
--- a/packages/SettingsLib/res/values-uz-rUZ/strings.xml
+++ b/packages/SettingsLib/res/values-uz-rUZ/strings.xml
@@ -78,7 +78,7 @@
<string name="bluetooth_pairing_device_down_error_message" msgid="7870998403045801381">"Quyidagi qurilma javob bermayapti: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
<string name="bluetooth_pairing_rejected_error_message" msgid="1648157108520832454">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> biriktirish so‘rovini rad qildi."</string>
<string name="accessibility_wifi_off" msgid="1166761729660614716">"Wi-Fi o‘chiq."</string>
- <string name="accessibility_no_wifi" msgid="8834610636137374508">"Wi-Fi o‘chirilgan."</string>
+ <string name="accessibility_no_wifi" msgid="8834610636137374508">"Wi-Fi o‘chiq."</string>
<string name="accessibility_wifi_one_bar" msgid="4869376278894301820">"Wi-Fi: bitta ustun"</string>
<string name="accessibility_wifi_two_bars" msgid="3569851234710034416">"Wi-Fi: ikkita ustun"</string>
<string name="accessibility_wifi_three_bars" msgid="8134185644861380311">"Wi-Fi: uchta ustun"</string>
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Quvvat olmayapti"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Quvvatlanmayapti"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"To‘la"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Administrator tomonidan o‘chirib qo‘yilgan"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"Bosh ekran"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> oldin"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> qoldi"</string>
diff --git a/packages/SettingsLib/res/values-vi/strings.xml b/packages/SettingsLib/res/values-vi/strings.xml
index 5cc34bb..352c77b 100644
--- a/packages/SettingsLib/res/values-vi/strings.xml
+++ b/packages/SettingsLib/res/values-vi/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"Đã tắt"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"Luôn bật"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"Tự động"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"Bật WebView đa quy trình"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"Chạy kết xuất đồ họa WebView trong quy trình tách biệt."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"Triển khai WebView"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"Đặt triển khai WebView"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"Triển khai WebView đã chọn bị vô hiệu hóa và bạn phải bật để sử dụng tính năng này. Bạn có muốn bật tính năng này không?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Hiện không sạc"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Hiện không sạc"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Đầy"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Bị tắt bởi quản trị viên"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Do quản trị viên kiểm soát"</string>
<string name="home" msgid="8263346537524314127">"Màn hình chính"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> trước"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"Còn <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-zh-rCN/strings.xml b/packages/SettingsLib/res/values-zh-rCN/strings.xml
index 4b67322..868e76e 100644
--- a/packages/SettingsLib/res/values-zh-rCN/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rCN/strings.xml
@@ -248,11 +248,9 @@
<string name="force_allow_on_external" msgid="3215759785081916381">"强制允许将应用写入外部存储设备"</string>
<string name="force_allow_on_external_summary" msgid="3191952505860343233">"允许将任何应用写入外部存储设备(无论清单值是什么)"</string>
<string name="force_resizable_activities" msgid="8615764378147824985">"强制将活动设为可调整大小"</string>
- <!-- no translation found for force_resizable_activities_summary (6667493494706124459) -->
- <skip />
+ <string name="force_resizable_activities_summary" msgid="6667493494706124459">"将所有活动设为可配合多窗口环境调整大小(无论清单值是什么)。"</string>
<string name="enable_freeform_support" msgid="1461893351278940416">"启用可自由调整的窗口"</string>
- <!-- no translation found for enable_freeform_support_summary (8247310463288834487) -->
- <skip />
+ <string name="enable_freeform_support_summary" msgid="8247310463288834487">"启用可自由调整的窗口这一实验性功能。"</string>
<string name="local_backup_password_title" msgid="3860471654439418822">"桌面备份密码"</string>
<string name="local_backup_password_summary_none" msgid="6951095485537767956">"桌面完整备份当前未设置密码保护"</string>
<string name="local_backup_password_summary_change" msgid="5376206246809190364">"点按即可更改或移除用于保护桌面完整备份的密码"</string>
@@ -317,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"未在充电"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"未在充电"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"电量充足"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"已被管理员禁用"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"主屏幕"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g>前"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"还剩 <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-zh-rHK/strings.xml b/packages/SettingsLib/res/values-zh-rHK/strings.xml
index 301b90b..68cfe9b 100644
--- a/packages/SettingsLib/res/values-zh-rHK/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rHK/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"非充電中"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"未開始充電"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"電量已滿"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"管理員已停用此設定"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"主畫面"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g>前"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"尚餘 <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-zh-rTW/strings.xml b/packages/SettingsLib/res/values-zh-rTW/strings.xml
index ce8303c..0c5d399 100644
--- a/packages/SettingsLib/res/values-zh-rTW/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rTW/strings.xml
@@ -315,7 +315,8 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"非充電中"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"非充電中"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"電力充足"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"已由管理員停用"</string>
+ <!-- no translation found for disabled_by_admin_summary_text (6750513964908334617) -->
+ <skip />
<string name="home" msgid="8263346537524314127">"主畫面"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g>前"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"還剩 <xliff:g id="ID_1">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-zu/strings.xml b/packages/SettingsLib/res/values-zu/strings.xml
index 149011a..3c4d7c2 100644
--- a/packages/SettingsLib/res/values-zu/strings.xml
+++ b/packages/SettingsLib/res/values-zu/strings.xml
@@ -277,10 +277,8 @@
<string name="night_mode_no" msgid="9171772244775838901">"Kukhutshaziwe"</string>
<string name="night_mode_yes" msgid="2218157265997633432">"Njalo ivuliwe"</string>
<string name="night_mode_auto" msgid="7508348175804304327">"Okuzenzakalelayo"</string>
- <!-- no translation found for enable_webview_multiprocess (3405948012467585908) -->
- <skip />
- <!-- no translation found for enable_webview_multiprocess_desc (852226124223847283) -->
- <skip />
+ <string name="enable_webview_multiprocess" msgid="3405948012467585908">"Nika amandla i-WebView kokucubungula okuningi"</string>
+ <string name="enable_webview_multiprocess_desc" msgid="852226124223847283">"Sebenzisa abasebenzeli be-WebView kwinqubo ekhethiwe."</string>
<string name="select_webview_provider_title" msgid="4628592979751918907">"Ukufakwa ke-WebView"</string>
<string name="select_webview_provider_dialog_title" msgid="4370551378720004872">"Sesba ukufakwa kwe-WebView"</string>
<string name="select_webview_provider_confirmation_text" msgid="6671472080671066972">"Ukusetshenziswa kwe-WebView okukhethiwe kukhutshaziwe, futhi kuzomele kunikwe amandla ukuze kusetshenziswe, ingabe ufisa ukukunika amandla?"</string>
@@ -315,7 +313,7 @@
<string name="battery_info_status_discharging" msgid="310932812698268588">"Ayishaji"</string>
<string name="battery_info_status_not_charging" msgid="2820070506621483576">"Ayishaji"</string>
<string name="battery_info_status_full" msgid="2824614753861462808">"Kugcwele"</string>
- <string name="disabled_by_admin_summary_text" msgid="7787027069207263048">"Ikhutshazwe umlawuli"</string>
+ <string name="disabled_by_admin_summary_text" msgid="6750513964908334617">"Kulawulwa umqondisi"</string>
<string name="home" msgid="8263346537524314127">"Ekhaya"</string>
<string name="charge_length_format" msgid="8978516217024434156">"<xliff:g id="ID_1">%1$s</xliff:g> edlule"</string>
<string name="remaining_length_format" msgid="7886337596669190587">"<xliff:g id="ID_1">%1$s</xliff:g> osele"</string>
diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml
index 654b398..57c5684 100644
--- a/packages/SettingsLib/res/values/strings.xml
+++ b/packages/SettingsLib/res/values/strings.xml
@@ -778,7 +778,7 @@
<string name="battery_info_status_full">Full</string>
<!-- Summary for settings preference disabled by administrator [CHAR LIMIT=50] -->
- <string name="disabled_by_admin_summary_text">Disabled by administrator</string>
+ <string name="disabled_by_admin_summary_text">Controlled by admin</string>
<!-- Option in navigation drawer that leads to Settings main screen [CHAR LIMIT=30] -->
<string name="home">Home</string>
diff --git a/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtils.java b/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtils.java
index c44b638..6d29c5f 100644
--- a/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtils.java
@@ -113,6 +113,12 @@
return admin;
}
+ public static boolean hasBaseUserRestriction(Context context,
+ String userRestriction, int userId) {
+ UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE);
+ return um.hasBaseUserRestriction(userRestriction, UserHandle.of(userId));
+ }
+
/**
* Checks if keyguard features are disabled by policy.
*
diff --git a/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java b/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java
index 9bd4eb1..227b1e8 100644
--- a/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java
+++ b/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java
@@ -70,6 +70,12 @@
}
}
mAttrUserRestriction = data == null ? null : data.toString();
+ // If the system has set the user restriction, then we shouldn't add the padlock.
+ if (RestrictedLockUtils.hasBaseUserRestriction(mContext, mAttrUserRestriction,
+ UserHandle.myUserId())) {
+ mAttrUserRestriction = null;
+ return;
+ }
final TypedValue useAdminDisabledSummary =
attributes.peekValue(R.styleable.RestrictedPreference_useAdminDisabledSummary);
diff --git a/packages/Shell/AndroidManifest.xml b/packages/Shell/AndroidManifest.xml
index 7416fb5..5b865f9 100644
--- a/packages/Shell/AndroidManifest.xml
+++ b/packages/Shell/AndroidManifest.xml
@@ -40,6 +40,7 @@
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+ <uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" />
<!-- System tool permissions granted to the shell. -->
<uses-permission android:name="android.permission.REAL_GET_TASKS" />
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
@@ -109,6 +110,7 @@
<uses-permission android:name="android.permission.GET_APP_OPS_STATS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS" />
+ <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
<application android:label="@string/app_label"
android:forceDeviceEncrypted="true"
diff --git a/packages/SystemUI/res/drawable/ic_colorize.xml b/packages/SystemUI/res/drawable/ic_night_mode.xml
similarity index 95%
rename from packages/SystemUI/res/drawable/ic_colorize.xml
rename to packages/SystemUI/res/drawable/ic_night_mode.xml
index 79fd6d9..caa7a47 100644
--- a/packages/SystemUI/res/drawable/ic_colorize.xml
+++ b/packages/SystemUI/res/drawable/ic_night_mode.xml
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2015 The Android Open Source Project
+ Copyright (C) 2016 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.
diff --git a/packages/SystemUI/res/drawable/ic_colorize.xml b/packages/SystemUI/res/drawable/ic_night_mode_disabled.xml
similarity index 91%
copy from packages/SystemUI/res/drawable/ic_colorize.xml
copy to packages/SystemUI/res/drawable/ic_night_mode_disabled.xml
index 79fd6d9..010815a 100644
--- a/packages/SystemUI/res/drawable/ic_colorize.xml
+++ b/packages/SystemUI/res/drawable/ic_night_mode_disabled.xml
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2015 The Android Open Source Project
+ Copyright (C) 2016 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.
@@ -19,6 +19,6 @@
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
- android:fillColor="#FFFFFFFF"
+ android:fillColor="#4DFFFFFF"
android:pathData="M20.71,5.63l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0.0l-3.12,3.12 -1.93,-1.91 -1.41,1.41 1.42,1.42L3.0,16.25L3.0,21.0l4.75,0.0l8.92,-8.92 1.42,1.42 1.41,-1.41 -1.92,-1.92 3.12,-3.12c0.4,0.0 0.4,-1.0 0.01,-1.42zM6.92,19.0L5.0,17.08l8.06,-8.06 1.92,1.92L6.92,19.0z"/>
</vector>
diff --git a/packages/SystemUI/res/drawable/stat_sys_data_saver.xml b/packages/SystemUI/res/drawable/stat_sys_data_saver.xml
new file mode 100644
index 0000000..a45f9a2
--- /dev/null
+++ b/packages/SystemUI/res/drawable/stat_sys_data_saver.xml
@@ -0,0 +1,32 @@
+<!--
+ Copyright (C) 2016 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<inset xmlns:android="http://schemas.android.com/apk/res/android"
+ android:insetLeft="2.5dp"
+ android:insetRight="2.5dp">
+ <vector
+ android:width="17.0dp"
+ android:height="17.0dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
+ <path
+ android:fillColor="#FFFFFFFF"
+ android:pathData="
+ M9.0,16.0l2.0,0.0L11.0,8.0L9.0,8.0l0.0,8.0z
+ m3.0,-14.0C6.48,2.0 2.0,6.48 2.0,12.0s4.48,10.0 10.0,10.0 10.0,-4.48 10.0,-10.0S17.52,2.0 12.0,2.0z
+ m0.0,18.0c-4.41,0.0 -8.0,-3.59 -8.0,-8.0s3.59,-8.0 8.0,-8.0 8.0,3.59 8.0,8.0 -3.59,8.0 -8.0,8.0z
+ m1.0,-4.0l2.0,0.0l0.0,-8.0l-2.0,0.0l0.0,8.0z"/>
+ </vector>
+</inset>
diff --git a/packages/SystemUI/res/layout/preference_matrix.xml b/packages/SystemUI/res/layout/calibrate_sliders.xml
similarity index 93%
rename from packages/SystemUI/res/layout/preference_matrix.xml
rename to packages/SystemUI/res/layout/calibrate_sliders.xml
index 1f6066e..0dec8a1 100644
--- a/packages/SystemUI/res/layout/preference_matrix.xml
+++ b/packages/SystemUI/res/layout/calibrate_sliders.xml
@@ -94,11 +94,4 @@
android:layout_weight="1" />
</LinearLayout>
- <Button
- android:id="@+id/apply"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="end"
- android:text="@string/color_apply" />
-
</LinearLayout>
diff --git a/packages/SystemUI/res/layout/color_matrix_settings.xml b/packages/SystemUI/res/layout/night_mode_settings.xml
similarity index 100%
rename from packages/SystemUI/res/layout/color_matrix_settings.xml
rename to packages/SystemUI/res/layout/night_mode_settings.xml
diff --git a/packages/SystemUI/res/layout/notification_guts.xml b/packages/SystemUI/res/layout/notification_guts.xml
index e550d9c..4d0eb96 100644
--- a/packages/SystemUI/res/layout/notification_guts.xml
+++ b/packages/SystemUI/res/layout/notification_guts.xml
@@ -126,27 +126,6 @@
android:tint="@color/notification_guts_icon_tint" />
</FrameLayout>
-
- <RadioGroup
- android:id="@+id/apply_to"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" >
- <RadioButton android:id="@+id/apply_to_topic"
- android:layout_width="wrap_content"
- android:layout_height="48dp"
- style="@style/TextAppearance.NotificationGuts.Primary"
- android:visibility="gone"
- android:buttonTint="#858383"
- />
- <RadioButton android:id="@+id/apply_to_app"
- android:layout_width="wrap_content"
- android:layout_height="48dp"
- android:text="@string/apply_to_app"
- style="@style/TextAppearance.NotificationGuts.Primary"
- android:visibility="gone"
- android:buttonTint="#858383"
- />
- </RadioGroup>
</LinearLayout>
<!-- buttons -->
<LinearLayout
diff --git a/packages/SystemUI/res/layout/notification_settings_icon_row.xml b/packages/SystemUI/res/layout/notification_settings_icon_row.xml
new file mode 100644
index 0000000..52d07fc
--- /dev/null
+++ b/packages/SystemUI/res/layout/notification_settings_icon_row.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright 2016, 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.
+-->
+<com.android.systemui.statusbar.NotificationSettingsIconRow
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:systemui="http://schemas.android.com/apk/res-auto"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ >
+
+ <com.android.systemui.statusbar.AlphaOptimizedImageView
+ android:id="@+id/gear_icon"
+ android:layout_width="@dimen/notification_gear_width"
+ android:layout_height="@dimen/notification_gear_height"
+ android:paddingTop="@dimen/notification_gear_top_padding"
+ android:paddingStart="@dimen/notification_gear_padding"
+ android:paddingEnd="@dimen/notification_gear_padding"
+ android:paddingBottom="@dimen/notification_gear_padding"
+ android:src="@drawable/ic_settings"
+ android:tint="@color/notification_gear_color"
+ android:visibility="invisible"
+ android:alpha="0"
+ android:background="?android:attr/selectableItemBackgroundBorderless"
+ />
+
+</com.android.systemui.statusbar.NotificationSettingsIconRow>
\ No newline at end of file
diff --git a/packages/SystemUI/res/layout/qs_paged_page.xml b/packages/SystemUI/res/layout/qs_paged_page.xml
index eef08ba..a246e0d 100644
--- a/packages/SystemUI/res/layout/qs_paged_page.xml
+++ b/packages/SystemUI/res/layout/qs_paged_page.xml
@@ -19,4 +19,6 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tile_page"
android:layout_width="match_parent"
- android:layout_height="wrap_content" />
+ android:layout_height="wrap_content"
+ android:clipChildren="false"
+ android:clipToPadding="false" />
diff --git a/packages/SystemUI/res/layout/qs_paged_tile_layout.xml b/packages/SystemUI/res/layout/qs_paged_tile_layout.xml
index c23c745..9dd3ad2 100644
--- a/packages/SystemUI/res/layout/qs_paged_tile_layout.xml
+++ b/packages/SystemUI/res/layout/qs_paged_tile_layout.xml
@@ -18,12 +18,14 @@
<com.android.systemui.qs.PagedTileLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ android:layout_height="wrap_content"
+ android:clipChildren="false"
+ android:clipToPadding="false">
<FrameLayout
android:id="@+id/page_decor"
android:layout_width="wrap_content"
- android:layout_height="wrap_content"
+ android:layout_height="48dp"
android:layout_gravity="bottom">
<com.android.systemui.qs.PageIndicator
diff --git a/packages/SystemUI/res/layout/qs_panel.xml b/packages/SystemUI/res/layout/qs_panel.xml
index 9f90af2..b8f10db 100644
--- a/packages/SystemUI/res/layout/qs_panel.xml
+++ b/packages/SystemUI/res/layout/qs_panel.xml
@@ -26,7 +26,9 @@
android:layout_marginTop="@dimen/status_bar_header_height"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingBottom="8dp" />
+ android:paddingBottom="8dp"
+ android:clipToPadding="false"
+ android:clipChildren="false" />
<include layout="@layout/quick_status_bar_expanded_header" />
diff --git a/packages/SystemUI/res/layout/status_bar_notification_row.xml b/packages/SystemUI/res/layout/status_bar_notification_row.xml
index 62fdd42..c4c45bb 100644
--- a/packages/SystemUI/res/layout/status_bar_notification_row.xml
+++ b/packages/SystemUI/res/layout/status_bar_notification_row.xml
@@ -23,6 +23,14 @@
android:clickable="true"
>
+ <ViewStub
+ android:layout="@layout/notification_settings_icon_row"
+ android:id="@+id/settings_icon_row_stub"
+ android:inflatedId="@+id/notification_settings_icon_row"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ />
+
<com.android.systemui.statusbar.NotificationBackgroundView
android:id="@+id/backgroundNormal"
android:layout_width="match_parent"
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index 8d37e74..64ae93a 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Volkome\nstilte"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Net\nprioriteit"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Net\nwekkers"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Alles"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Alle\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Laai tans (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> tot vol)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Laai tans vinnig (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> tot vol)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Laai tans stadig (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> tot vol)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Wys horlosiesekondes op die statusbalk. Sal batterylewe dalk beïnvloed."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Herrangskik Kitsinstellings"</string>
<string name="show_brightness" msgid="6613930842805942519">"Wys helderheid in Kitsinstellings"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Aktiveer versneller om skerm te verdeel deur op te swiep"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Aktiveer die verdeling van die skerm deur op te swiep"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Aktiveer gebaar om skerm te verdeel deur van die Oorsig-knoppie af op te swiep"</string>
<string name="experimental" msgid="6198182315536726162">"Eksperimenteel"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Skakel Bluetooth aan?"</string>
@@ -467,14 +465,30 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Verskyn vlugtig op die skerm en maak \'n geluid"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Meer instellings"</string>
<string name="notification_done" msgid="5279426047273930175">"Klaar"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Normale kleure"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Aandkleure"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Gepasmaakte kleure"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Outo"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Onbekende kleure"</string>
- <string name="color_transform" msgid="6985460408079086090">"Kleurverandering"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Wys kitsinstellings-teël"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Aktiveer gepasmaakte omskepping"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Pas toe"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Bevestig instellings"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Sommige kleurinstellings kan hierdie toestel onbruikbaar maak. Klik OK om hierdie kleurinstellings te bevestig; andersins sal hierdie instellings ná 10 sekondes teruggestel word."</string>
@@ -486,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Tuis"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Onlangs"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Terug"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Wys \'moenie steur nie\' in volume"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Laat volledige beheer van \'moenie steur nie\' toe in die volumedialoog."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volume en Moenie steur nie"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Aktiveer \'moenie steur nie\' met volume af"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Verlaat \'moenie steur nie\' met volume op"</string>
<string name="battery" msgid="7498329822413202973">"Battery"</string>
<string name="clock" msgid="7416090374234785905">"Horlosie"</string>
<string name="headset" msgid="4534219457597457353">"Kopstuk"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Oorfone is gekoppel"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Kopstuk is gekoppel"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Aktiveer of deaktiveer ikone om op die statusbalk gewys te word."</string>
<string name="data_saver" msgid="5037565123367048522">"Databespaarder"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Databespaarder is aan"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Databespaarder is af"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Aan"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Navigasiebalk"</string>
<string name="start" msgid="6873794757232879664">"Begin"</string>
<string name="center" msgid="4327473927066010960">"Middel"</string>
@@ -523,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Voorskou"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Sleep om teëls by te voeg"</string>
<string name="qs_edit" msgid="2232596095725105230">"Wysig"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml
index 2b31ece..0e0d145 100644
--- a/packages/SystemUI/res/values-am/strings.xml
+++ b/packages/SystemUI/res/values-am/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"ማያ ገጽ መሰካት"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"ፈልግ"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g>ን መጀመር አልተቻለም።"</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> በጥንቃቄ ሁነታ ውስጥ ታግዷል።"</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"ታሪክ"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"ጥረግ"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"አግድም ክፈል"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"ሙሉ ለሙሉ\nጸጥታ"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"ቅድሚያ ተሰጪ\nብቻ"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"ማንቂያዎች\nብቻ"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"ሁሉም"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"ሁሉም\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"ሃይል በመሙላት ላይ (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> እስከሚሞላ ድረስ)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"ኃይል በፍጥነት በመሙላት ላይ (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> እስከሚሞላ ድረስ)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"ኃይል በዝግታ በመሙላት ላይ (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> እስከሚሞላ ድረስ)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"የሰዓት ሰከንዶችን በሁኔታ አሞሌ ውስጥ አሳይ። በባትሪ ዕድሜ ላይ ተጽዕኖ ሊኖርው ይችል ይሆናል።"</string>
<string name="qs_rearrange" msgid="8060918697551068765">"ፈጣን ቅንብሮችን ዳግም ያደራጁ"</string>
<string name="show_brightness" msgid="6613930842805942519">"በፈጣን ቅንብሮች ውስጥ ብሩህነትን አሳይ"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"የተከፈለ ማያ ገጽ ወደላይ አንሸራትቶ ማፍጠንን ያንቁ"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"የተከፈለ ማያ ገጽ ወደ ላይ የማንሸራተት ጣት ምልክትን ያንቁ"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"ከአጠቃላይ እይታ አዝራሩ ወደ ላይ በማንሸራተት ወደ የተከፈለ ማያ ገጽ የሚገቡበትን የጣት ምልክት ያንቁ"</string>
<string name="experimental" msgid="6198182315536726162">"የሙከራ"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"ብሉቱዝ ይብራ?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"ወደ ገጸ ማያው ይመልከቱና ድምፅ ይቅረጹ"</string>
<string name="notification_more_settings" msgid="816306283396553571">"ተጨማሪ ቅንብሮች"</string>
<string name="notification_done" msgid="5279426047273930175">"ተከናውኗል"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"መደበኛ ቀለሞች"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"የለሊት ቀለሞች"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"ብጁ ቀለሞች"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"ራስ-ሰር"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"የማይታወቁ ቀለሞች"</string>
- <string name="color_transform" msgid="6985460408079086090">"የቀለም ማሻሻያ"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"የፈጣን ቅንብሮች ሰቅን አሳይ"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"ብጁ ቅየራን አንቃ"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"ተግብር"</string>
<string name="color_revert_title" msgid="4746666545480534663">"ቅንብሮችን ያረጋግጡ"</string>
<string name="color_revert_message" msgid="9116001069397996691">"አንዳንድ የቀለም ቅንብሮች ይህን መሣሪያ የማይጠቅም ሊያደርጉት ይችላሉ። እነዚህን የቀለም ቅንብሮች ለማረጋገጥ እሺ የሚለውን ጠቅ ያድርጉ፣ አለበለዚያ እነዚህ ቅንብሮች ከ10 ሰከንዶች በኋላ ዳግም ይጀምራሉ።"</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"የባትሪ አጠቃቀም"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"ኃይል በሚሞላበት ጊዜ ባትሪ ቆጣቢ አይገኝም"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"ባትሪ ቆጣቢ"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"አፈጻጸምን እና የጀርባ ውሂብን ይቀንሳል"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"መነሻ"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"የቅርብ ጊዜዎቹ"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"ተመለስ"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"በድምጽ ውስጥ አትረብሽን አሳይ"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"በድምጽ ንግግር ውስጥ አትረብሽን ሙሉ ቁጥጥር ይፍቀዱ።"</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"ድምጽ እና አትረብሽ"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"ድምጽ ሲቀነስ አትረብሽ አስገባ"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"ድምጽ ሲጨመር አትረብሽን ትተህ ውጣ"</string>
<string name="battery" msgid="7498329822413202973">"ባትሪ"</string>
<string name="clock" msgid="7416090374234785905">"ሰዓት"</string>
<string name="headset" msgid="4534219457597457353">"ጆሮ ማዳመጫ"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"የጆር ማዳመጫዎች ተገናኝተዋል"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"የጆሮ ማዳመጫ ተገናኝቷል"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"አዶዎች በሁኔታ አሞሌ ላይ እንዲታዩ ወይም እንዳይታዩ ያንቁ ወይም ያሰናክሉ።"</string>
<string name="data_saver" msgid="5037565123367048522">"ውሂብ ቆጣቢ"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"ውሂብ ቆጣቢ በርቷል"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"ውሂብ ቆጣቢ ጠፍቷል"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"በርቷል"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"የአሰሳ አሞሌ"</string>
<string name="start" msgid="6873794757232879664">"ጀምር"</string>
<string name="center" msgid="4327473927066010960">"መሃል"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"ቅድመ-እይታ"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"ሰቆችን ለማከል ይጎትቱ"</string>
<string name="qs_edit" msgid="2232596095725105230">"አርትዕ"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index 1a1fc2b..91a2bca 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -305,8 +305,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"تثبيت الشاشة"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"بحث"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"تعذر بدء <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"تم تعطيل <xliff:g id="APP">%s</xliff:g> في الوضع الآمن."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"السجلّ"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"محو"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"تقسيم أفقي"</string>
@@ -338,8 +337,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"كتم الصوت\nتمامًا"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"الأولوية \nفقط"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"التنبيهات\nفقط"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"الكل"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"الكل\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"جارٍ الشحن (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> حتى الامتلاء)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"جارٍ الشحن سريعًا (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> حتى الاكتمال)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"جارٍ الشحن ببطء (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> حتى الاكتمال)"</string>
@@ -452,7 +449,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"عرض ثواني الساعة في شريط الحالة. قد يؤثر ذلك في عمر البطارية."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"إعادة ترتيب الإعدادات السريعة"</string>
<string name="show_brightness" msgid="6613930842805942519">"عرض السطوع في الإعدادات السريعة"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"تمكين مسارع تقسيم الشاشة بالتمرير السريع لأعلى"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"تمكين إيماءة تقسيم الشاشة بالتمرير السريع لأعلى"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"تمكين الإيماء لإدخال تقسيم الشاشة من خلال التمرير السريع لأعلى من زر النظرة العامة"</string>
<string name="experimental" msgid="6198182315536726162">"إعدادات تجريبية"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"تشغيل البلوتوث؟"</string>
@@ -472,19 +469,22 @@
<string name="notification_importance_max" msgid="5236987171904756134">"الظهور سريعًا على الشاشة مع تنبيه صوتي"</string>
<string name="notification_more_settings" msgid="816306283396553571">"المزيد من الإعدادات"</string>
<string name="notification_done" msgid="5279426047273930175">"تم"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"ألوان عادية"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"ألوان ليلية"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"ألوان مخصصة"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"تلقائي"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"ألوان غير معروفة"</string>
- <string name="color_transform" msgid="6985460408079086090">"إشعار الألوان"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"إظهار قسم الإعدادات السريعة"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"تمكين التحويل المخصص"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"اللون والمظهر"</string>
+ <string name="night_mode" msgid="3540405868248625488">"الوضع الليلي"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"معايرة الشاشة"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"تشغيل"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"إيقاف"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"التشغيل تلقائيًا"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"التبديل إلى الوضع الليلي بما يتناسب مع الموقع والوقت من اليوم"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"عند تشغيل الوضع الليلي"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"استخدام مظهر معتم لنظام التشغيل Android"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"ضبط التلوين الخفيف"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"ضبط السطوع"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"يتم تطبيق المظهر المعتم على المناطق الأساسية في نظام التشغيل Android والتي يتم عرضها عادة في مظهر مضيء، مثل الإعدادات والإشعارات."</string>
<string name="color_apply" msgid="9212602012641034283">"تطبيق"</string>
<string name="color_revert_title" msgid="4746666545480534663">"تأكيد الإعدادات"</string>
<string name="color_revert_message" msgid="9116001069397996691">"يمكن أن تتسبب بعض إعدادات الألوان في تعطيل إمكانية استخدام الجهاز. يمكنك النقر على \"موافق\" لتأكيد إعدادات الألوان هذه، وإلا فستتم إعادة تعيين هذه الإعدادات بعد 10 ثوانٍ."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"استخدام البطارية"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"وضع توفير شحن البطارية غير متاح أثناء الشحن."</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"توفير شحن البطارية"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"لخفض مستوى الأداء وبيانات الخلفية"</string>
@@ -492,21 +492,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"الشاشة الرئيسية"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"الأحدث"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"رجوع"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"إظهار خيار \"الرجاء عدم الإزعاج\" في مستوى الصوت"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"السماح بالتحكم الكامل في خيار \"الرجاء عدم الإزعاج\" ضمن مربع حوار مستوى الصوت."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"إعدادات مستوى الصوت و\"الرجاء عدم الإزعاج\""</string>
- <string name="volume_down_silent" msgid="66962568467719591">"تشغيل \"الرجاء عدم الإزعاج\" عند خفض مستوى الصوت"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"عرض مع عناصر التحكم في مستوى الصوت"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"الرجاء عدم الإزعاج"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"اختصار أزرار مستوى الصوت"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"تعطيل \"الرجاء عدم الإزعاج\" عند رفع مستوى الصوت"</string>
<string name="battery" msgid="7498329822413202973">"البطارية"</string>
<string name="clock" msgid="7416090374234785905">"ساعة"</string>
<string name="headset" msgid="4534219457597457353">"سماعة الرأس"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"تم توصيل سماعات رأس"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"تم توصيل سماعات رأس"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"يمكنك تمكين أو تعطيل الرموز بحيث لا تظهر في شريط الحالة."</string>
<string name="data_saver" msgid="5037565123367048522">"توفير البيانات"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"تم تشغيل توفير البيانات"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"تم تعطيل توفير البيانات"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"تشغيل"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"إيقاف"</string>
<string name="nav_bar" msgid="1993221402773877607">"شريط التنقل"</string>
<string name="start" msgid="6873794757232879664">"البدء"</string>
<string name="center" msgid="4327473927066010960">"وسط"</string>
@@ -529,4 +528,15 @@
<string name="preview" msgid="9077832302472282938">"معاينة"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"اسحب لإضافة مربعات"</string>
<string name="qs_edit" msgid="2232596095725105230">"تعديل"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"الوقت"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"عرض الساعات والدقائق والثواني"</item>
+ <item msgid="1427801730816895300">"عرض الساعات والدقائق (افتراضي)"</item>
+ <item msgid="3830170141562534721">"عدم عرض هذا الرمز"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"عرض النسبة المئوية دائمًا"</item>
+ <item msgid="2139628951880142927">"عرض النسبة المئوية عند الشحن (افتراضي)"</item>
+ <item msgid="3327323682209964956">"عدم عرض هذا الرمز"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-az-rAZ/strings.xml b/packages/SystemUI/res/values-az-rAZ/strings.xml
index 690317f..13e01e6 100644
--- a/packages/SystemUI/res/values-az-rAZ/strings.xml
+++ b/packages/SystemUI/res/values-az-rAZ/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Tam\nsakitlik"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Yalnız\nprioritet"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Yalnız\nalarmlar"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Bütün"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Bütün\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Qidalanır (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> dolana kimi)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Sürətli qidalanır (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> dolana kimi)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Ləng qidalanır (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> dolana kimi)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Saatın saniyəsini status panelində göstərin. Batareyaya təsir edə bilər."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Sürətli Ayarları yenidən tənzimləyin"</string>
<string name="show_brightness" msgid="6613930842805942519">"Sürətli ayarlarda parlaqlılığı göstərin"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Bölünmüş ekran sürüşdürməsi akseleratorunu aktiv edin"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Bölünmüş ekran sürüşdürməsi aktiv edin"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Jestlərin icmal düyməsindən yuxarı sürüşdürərək bölünmüş ekrana daxil olmasını aktiv edin"</string>
<string name="experimental" msgid="6198182315536726162">"Eksperimental"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth aktivləşsin?"</string>
@@ -467,14 +465,30 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Ekranda nəzər salın və səsli edin"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Daha çox ayar"</string>
<string name="notification_done" msgid="5279426047273930175">"Hazırdır"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Normal rənglər"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Gecə rəngləri"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Xüsusi rənglər"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Avto"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Naməlum rəng"</string>
- <string name="color_transform" msgid="6985460408079086090">"Rəng modifikasiyası"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Cəld ayarlar örtüyünü göstərin"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Xüsusi dəyişikliyi aktiv edin"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Tətbiq edin"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Ayarları təsdiq edin"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Bəzi renk ayarları bu cihazı yararsız edə bilər. Bu rənk ayarlarını təsdiq etmək üçün OK basın, əks halda bu ayarlar 10 saniyə sonra sıfırlanacaq."</string>
@@ -486,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Əsas səhifə"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Sonuncular"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Geri"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Səsdə \"narahat etməyin\" rejimini göstərin"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Səs dioloqunda \"narahat etməyin\" rejiminin tam nərarətinə icazə verin."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Səs və \"narahat etməyin\" rejimi"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Aşağı səsdə \"narahat etməyin\" rejimini daxil edin"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Yuxarı səsdə \"narahat etməyin\" rejimini daxil edin"</string>
<string name="battery" msgid="7498329822413202973">"Batareya"</string>
<string name="clock" msgid="7416090374234785905">"Saat"</string>
<string name="headset" msgid="4534219457597457353">"Qulaqlıq"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Qulaqlıq qoşulub"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Qulaqlıq qoşulub"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"İkonaların status panelində görünməsini aktiv və ya deaktiv edin."</string>
<string name="data_saver" msgid="5037565123367048522">"Data Qənaəti"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Data Qənaəti aktivdir"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Data Qənaəti deaktivdir"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Aktiv"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Naviqasiya paneli"</string>
<string name="start" msgid="6873794757232879664">"Başladın"</string>
<string name="center" msgid="4327473927066010960">"Mərkəz"</string>
@@ -523,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Önizləmə"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Xanalar əlavə etmək üçün sürüşdürün"</string>
<string name="qs_edit" msgid="2232596095725105230">"Redaktə edin"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
index 3ae995b..90a8d4e 100644
--- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml
+++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
@@ -302,8 +302,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"kačenje ekrana"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"pretraži"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Pokretanje aplikacije <xliff:g id="APP">%s</xliff:g> nije uspelo."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"Aplikacija <xliff:g id="APP">%s</xliff:g> je onemogućena u bezbednom režimu."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Istorija"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Obriši"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Podeli horizontalno"</string>
@@ -335,8 +334,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Potpuna\ntišina"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Samo\npriorit. prekidi"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Samo\nalarmi"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Sve"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Svi\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Punjenje (pun je za <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Brzo se puni (napuniće se za <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Sporo se puni (napuniće se za <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -449,7 +446,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Sekunde na satu se prikazuju na statusnoj traci. To može da utiče na trajanje baterije."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Preuredi Brza podešavanja"</string>
<string name="show_brightness" msgid="6613930842805942519">"Prikaži osvetljenost u Brzim podešavanjima"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Omogući ubrzavač za prevlačenje nagore za podeljeni ekran"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Omogući pokret za prevlačenje nagore za podeljeni ekran"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Omogućava pokret za prelazak na podeljeni ekran prevlačenjem nagore od dugmeta Pregled"</string>
<string name="experimental" msgid="6198182315536726162">"Eksperimentalno"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Želite li da uključite Bluetooth?"</string>
@@ -469,19 +466,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Nakratko se prikazuju na ekranu i emituje se zvuk"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Još podešavanja"</string>
<string name="notification_done" msgid="5279426047273930175">"Gotovo"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Normalne boje"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Noćne boje"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Prilagođene boje"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automatski"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Nepoznate boje"</string>
- <string name="color_transform" msgid="6985460408079086090">"Izmena boja"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Prikaži pločicu Brza podešavanja"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Omogući prilagođenu transformaciju"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Primeni"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Potvrdite podešavanja"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Neka podešavanja boja mogu da učine uređaj neupotrebljivim. Kliknite na Potvrdi da biste potvrdili ova podešavanja boja, pošto će se u suprotnom ova podešavanja resetovati nakon 10 sekundi."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Potrošnja baterije"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Ušteda baterije nije dostupna tokom punjenja"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Ušteda baterije"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Smanjuje performanse i pozadinske podatke"</string>
@@ -489,21 +501,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Početni"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Nedavni sadržaj"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Nazad"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Prikaži podešavanje Ne uznemiravaj u dijalogu za jačinu zvuka"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Dozvoljava potpunu kontrolu podešavanja Ne uznemiravaj u dijalogu za jačinu zvuka."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Jačina zvuka i Ne uznemiravaj"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Uđi u režim Ne uznemiravaj kada je zvuk utišan"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Izađi iz režima Ne uznemiravaj kada je zvuk pojačan"</string>
<string name="battery" msgid="7498329822413202973">"Baterija"</string>
<string name="clock" msgid="7416090374234785905">"Sat"</string>
<string name="headset" msgid="4534219457597457353">"Naglavne slušalice"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Slušalice su povezane"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Naglavne slušalice su povezane"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Omogućite ili onemogućite prikazivanje ikona na statusnoj traci."</string>
<string name="data_saver" msgid="5037565123367048522">"Ušteda podataka"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Ušteda podataka je uključena"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Ušteda podataka je isključena"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Uključeno"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Traka za navigaciju"</string>
<string name="start" msgid="6873794757232879664">"Pokreni"</string>
<string name="center" msgid="4327473927066010960">"Centar"</string>
@@ -526,4 +541,12 @@
<string name="preview" msgid="9077832302472282938">"Pregled"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Prevucite da biste dodali pločice"</string>
<string name="qs_edit" msgid="2232596095725105230">"Izmeni"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index f407ac1..31a9e13 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"фиксиране на екрана"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"търсене"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> не можа да стартира."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"Приложението <xliff:g id="APP">%s</xliff:g> е деактивирано в безопасния режим."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"История"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Изчистване"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Хоризонтално разделяне"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Пълна\nтишина"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Само\nс приоритет"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Само\nбудилници"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Всички"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Всички\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Зарежда се (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> до пълно зареждане)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Зарежда се бързо (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> до пълно зареждане)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Зарежда се бавно (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> до пълно зареждане)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Показване на секундите на часовника в лентата на състоянието. Може да се отрази на живота на батерията."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Пренареждане на бързите настройки"</string>
<string name="show_brightness" msgid="6613930842805942519">"Показване на яркостта от бързите настройки"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Актив. на жеста за разделен екран с прек. на пръст нагоре"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Разделяне на екрана с прекарване на пръст нагоре: Активиране"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Активиране на жеста за влизане в режим на разделен екран чрез прокарване на пръст нагоре от бутона за общ преглед"</string>
<string name="experimental" msgid="6198182315536726162">"Експериментални"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Да се включи ли Bluetooth?"</string>
@@ -468,19 +465,22 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Показване на екрана и издаване на звуков сигнал"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Още настройки"</string>
<string name="notification_done" msgid="5279426047273930175">"Готово"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Нормални цветове"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Нощни цветове"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Персонализирани цветове"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Автоматично"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Неизвестни цветове"</string>
- <string name="color_transform" msgid="6985460408079086090">"Промяна на цветовете"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Показване на плочката за бързи настройки"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Активиране на персонализираното трансформиране"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"Цвят и облик"</string>
+ <string name="night_mode" msgid="3540405868248625488">"Нощен режим"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"Калибриране на дисплея"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"Вкл."</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"Изкл."</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"Автоматично включване"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"Превключване към нощен режим според местоположението и часа от денонощието"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"При включен нощен режим"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Ползв. на тъмната тема за опер. с-ма Android"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"Коригиране на нюансирането"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"Коригиране на яркостта"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"Тъмната темата ще се прилага за основните области на операционната система Android, които обикновено се показват в светлата тема, като например настройките и известията."</string>
<string name="color_apply" msgid="9212602012641034283">"Прилагане"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Потвърждаване на настройките"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Някои настройки за цветовете могат да направят това устройство неизползваемо. За да ги потвърдите, кликнете върху „OK“. В противен случай те ще бъдат нулирани след 10 секунди."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Ползв. на батерията"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Режимът за запазване на батерията не е налице при зареждане"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Режим за запазване на батерията"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Намалява ефективността и данните на заден план"</string>
@@ -488,21 +488,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Начало"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Скорошни"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Назад"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Показване на „Не безпокойте“ в прозореца за силата на звука"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Достъп до всички опции за управление на „Не безпокойте“ в диалоговия прозорец за силата на звука."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Сила на звука и „Не безпокойте“"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Вкл. на „Не безпокойте“ при намаляване на силата на звука"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"Показване с контролите за силата на звука"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"Не безпокойте"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"Пряк път към бутоните за силата на звука"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"Изкл. на „Не безпокойте“ при увеличаване на силата на звука"</string>
<string name="battery" msgid="7498329822413202973">"Батерия"</string>
<string name="clock" msgid="7416090374234785905">"Часовник"</string>
<string name="headset" msgid="4534219457597457353">"Слушалки"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Слушалките (без микрофон) са свързани"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Слушалките са свързани"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Активиране или деактивиране на показването на икони в лентата на състоянието."</string>
<string name="data_saver" msgid="5037565123367048522">"Икономия на данни"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Функцията „Икономия на данни“ е включена"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Функцията „Икономия на данни“ е изключена"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Вкл."</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"Изкл."</string>
<string name="nav_bar" msgid="1993221402773877607">"Лента за навигация"</string>
<string name="start" msgid="6873794757232879664">"Начало"</string>
<string name="center" msgid="4327473927066010960">"Център"</string>
@@ -525,4 +524,15 @@
<string name="preview" msgid="9077832302472282938">"Визуализация"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Преместете с плъзгане, за да добавите плочки"</string>
<string name="qs_edit" msgid="2232596095725105230">"Редактиране"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"Час"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"Показване на часовете, минутите и секундите"</item>
+ <item msgid="1427801730816895300">"Показване на часовете и минутите (по подразбиране)"</item>
+ <item msgid="3830170141562534721">"Тази икона да не се показва"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"Процентът винаги да се показва"</item>
+ <item msgid="2139628951880142927">"Процентът да се показва при зареждане (по подразбиране)"</item>
+ <item msgid="3327323682209964956">"Тази икона да не се показва"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-bn-rBD/strings.xml b/packages/SystemUI/res/values-bn-rBD/strings.xml
index 988e02e..a54bf34 100644
--- a/packages/SystemUI/res/values-bn-rBD/strings.xml
+++ b/packages/SystemUI/res/values-bn-rBD/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"একদম\nনিরব"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"শুধুমাত্র\nঅগ্রাধিকার"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"শুধুমাত্র\nঅ্যালার্মগুলি"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"সমস্ত"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"সমস্ত\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"চার্জ হচ্ছে (পূর্ণ হতে <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> সময় বাকি)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"দ্রুত চার্জ হচ্ছে (পূর্ণ হতে <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> সময় বাকি)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"ধীরে ধীরে চার্জ হচ্ছে (পূর্ণ হতে <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> সময় বাকি)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"স্থিতি দন্ডে ঘড়ির সেকেন্ড দেখায়৷ ব্যাটারি লাইফকে প্রভাবিত করতে পারে৷"</string>
<string name="qs_rearrange" msgid="8060918697551068765">"দ্রুত সেটিংসে পুনরায় সাজান"</string>
<string name="show_brightness" msgid="6613930842805942519">"দ্রুত সেটিংসে উজ্জ্বলতা দেখান"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"অ্যাকসেলেটর উপরের দিকে সোয়াইপ করে বিভক্ত-স্ক্রীন সক্ষম করুন"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"উপরের দিকে সোয়াইপ করে বিভক্ত-স্ক্রীনে প্রবেশ করার অঙ্গভঙ্গি সক্ষম করুন"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"\'এক নজরে\' বোতাম থেকে উপরের দিকে সোয়াইপ করে, বিভক্ত-স্ক্রীনে প্রবেশ করতে অঙ্গভঙ্গি সক্ষম করুন"</string>
<string name="experimental" msgid="6198182315536726162">"পরীক্ষামূলক"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth চালু করবেন?"</string>
@@ -467,14 +465,18 @@
<string name="notification_importance_max" msgid="5236987171904756134">"স্ক্রীনের উপরে দেখানো হয় এবং শব্দ করে"</string>
<string name="notification_more_settings" msgid="816306283396553571">"আরো সেটিংস"</string>
<string name="notification_done" msgid="5279426047273930175">"সম্পন্ন"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"স্বাভাবিক রঙ"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"রাতের রঙ"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"কাস্টম রঙ"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"স্বয়ংক্রিয়ভাবে"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"অজানা রঙ"</string>
- <string name="color_transform" msgid="6985460408079086090">"রঙ সংশোধন"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"দ্রুত সেটিংস টাইল দেখান"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"কাস্টম রূপান্তর সক্ষম করুন"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"রঙ এবং চেহারা"</string>
+ <string name="night_mode" msgid="3540405868248625488">"রাতের মোড"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"প্রদর্শন ক্যালিব্রেট করুন"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"চালু আছে"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"বন্ধ আছে"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"স্বয়ংক্রিয়ভাবে চালু করুন"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"অবস্থান এবং সময়ের হিসাবে উপযুক্ত রাতের মোডে পাল্টান"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"যখন রাতের মোড চালু থাকবে"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Android OS এর জন্য গাঢ় থিম ব্যবহার করুন"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"টিন্ট সমন্বয় করুন"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"উজ্জ্বলতা সমন্বয় করুন"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"Android OS এর মূল অংশগুলিতে গাঢ় থিম প্রয়োগ করা হয়েছে যেটা সাধারণত একটি হালকা থিমে প্রদর্শিত হয়, যেমন সেটিংস এবং বিজ্ঞপ্তিগুলি৷"</string>
<string name="color_apply" msgid="9212602012641034283">"প্রয়োগ করুন"</string>
<string name="color_revert_title" msgid="4746666545480534663">"সেটিংস নিশ্চিত করুন"</string>
<string name="color_revert_message" msgid="9116001069397996691">"কিছু রঙের সেটিংস এই ডিভাইসকে ব্যবহারের অযোগ্য করে দিতে পারে৷ এই রঙের সেটিংস নিশ্চিত করতে ওকে এ ক্লিক করুন, অন্যথায় ১০ সেকেন্ড পরে এই সেটিংস পুনরায় সেট হবে৷"</string>
@@ -486,21 +488,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"হোম"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"সাম্প্রতিকগুলি"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"পিছনে"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"ভলিউমে \'বিরক্ত করবেন না\' দেখাবেন না"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"ভলিউম ডায়লগে \"বিরক্ত করবেন না\" এর পূর্ণ নিয়ন্ত্রণের মঞ্জুরি দিন৷"</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"ভলিউম এবং \'বিরক্ত করবেন না\'"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"ভলিউম কমানোর মাধ্যেমে \'বিরক্ত করবেন না\' চালু করুন"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"ভলিউম নিয়ন্ত্রণ সহ দেখান"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"বিরক্ত করবেন না"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"ভলিউম বোতামের শর্টকাট"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"ভলিউম বাড়ানোর মাধ্যেমে \'বিরক্ত করবেন না\' থেকে প্রস্থান করুন"</string>
<string name="battery" msgid="7498329822413202973">"ব্যাটারি"</string>
<string name="clock" msgid="7416090374234785905">"ঘড়ি"</string>
<string name="headset" msgid="4534219457597457353">"হেডসেট"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"হেডফোনগুলি সংযুক্ত হয়েছে"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"হেডসেট সংযুক্ত হয়েছে"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"স্থিতি দন্ডে দেখানোর জন্য আইকনগুলিকে সক্ষম বা অক্ষম করুন৷"</string>
<string name="data_saver" msgid="5037565123367048522">"ডেটা সেভার"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"ডেটা সেভার চালু আছে"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"ডেটা সেভার বন্ধ আছে"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"চালু আছে"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"বন্ধ আছে"</string>
<string name="nav_bar" msgid="1993221402773877607">"নেভিগেশন দন্ড"</string>
<string name="start" msgid="6873794757232879664">"শুরু করুন"</string>
<string name="center" msgid="4327473927066010960">"কেন্দ্র"</string>
@@ -523,4 +524,15 @@
<string name="preview" msgid="9077832302472282938">"পূর্বরূপ দেখুন"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"টাইলগুলি যোগ করার জন্য টেনে আনুন"</string>
<string name="qs_edit" msgid="2232596095725105230">"সম্পাদনা করুন"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"সময়"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"ঘন্টা, মিনিট, এবং সেকেন্ড দেখান"</item>
+ <item msgid="1427801730816895300">"ঘন্টা এবং মিনিট দেখান (ডিফল্ট)"</item>
+ <item msgid="3830170141562534721">"এই আইকনটি দেখাবেন না"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"সর্বদা শতাংশ দেখান"</item>
+ <item msgid="2139628951880142927">"চার্জ করার সময় শতাংশ দেখান (ডিফল্ট)"</item>
+ <item msgid="3327323682209964956">"এই আইকনটি দেখাবেন না"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-bs-rBA/strings.xml b/packages/SystemUI/res/values-bs-rBA/strings.xml
index 2be74a0..d2a556d 100644
--- a/packages/SystemUI/res/values-bs-rBA/strings.xml
+++ b/packages/SystemUI/res/values-bs-rBA/strings.xml
@@ -302,8 +302,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"kačenje ekrana"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"pretraga"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Aplikacija <xliff:g id="APP">%s</xliff:g> nije pokrenuta."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> je onemogućena u sigurnom načinu rada."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Historija"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Obriši"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Podjela po horizontali"</string>
@@ -335,8 +334,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Potpuna\ntišina"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Samo\nprioritetni prekidi"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Samo\nalarmi"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Svi"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Svi \n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Punjenje (do kraja preostalo <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Brzo punjenje (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> do pune baterije)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Sporo punjenje (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> do pune baterije)"</string>
@@ -449,7 +446,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Prikaži sekunde na statusnoj traci. Može skratiti trajanje baterije."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Preuredi \"Brze postavke\""</string>
<string name="show_brightness" msgid="6613930842805942519">"Prikaži osvjetljenje u opciji \"Brze postavke\""</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Uključi akcelerator za dijeljenje ekrana prevlačenjem nagore"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Omogućiti potez za podjelu ekrana prevlačenjem prema gore"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Uključite pokrete prstima da biste ušli u podijeljeni ekran tako što ćete od dugmeta Pregled prevući prstom prema gore"</string>
<string name="experimental" msgid="6198182315536726162">"Eksperimentalno"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Želiti li uključiti Bluetooth?"</string>
@@ -469,19 +466,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Kratki prikaz na ekranu uz zvuk"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Više postavki"</string>
<string name="notification_done" msgid="5279426047273930175">"Gotovo"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Standardne boje"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Boje za noćni rad"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Prilagođene boje"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automatski"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Nepoznate boje"</string>
- <string name="color_transform" msgid="6985460408079086090">"Izmjena boja"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Prikaži polje \"Brze postavke\""</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Uključi prilagođenu transformaciju"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Prihvati"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Potvrdi postavke"</string>
<string name="color_revert_message" msgid="9116001069397996691">"S nekim postavkama boja ovaj uređaj može biti neupotrebljiv. Kliknite U redu da biste potvrdili ove postavke boja ili sačekajte 10 sekundi da se postavke vrate na početnu vrijednost."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Upotreba baterije"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Ušteda baterije je isključena prilikom punjenja"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Ušteda baterije"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Ograničava rad i prijenos podataka u pozadini"</string>
@@ -489,21 +501,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Početak"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Nedavni ekrani"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Nazad"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Prikaži režim Ne ometaj u dijalogu za jačinu zvuka."</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Dopusti punu kontrolu režima Ne ometaj u dijalogu za jačinu zvuka."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Jačina zvuka i režim Ne ometaj"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Aktiviraj režim Ne ometaj kada se zvuk utiša"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Deaktiviraj režim Ne ometaj kada se zvuk pojača"</string>
<string name="battery" msgid="7498329822413202973">"Baterija"</string>
<string name="clock" msgid="7416090374234785905">"Sat"</string>
<string name="headset" msgid="4534219457597457353">"Slušalice s mikrofonom"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Slušalice su priključene"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Slušalice s mikrofonom su priključene"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Uključite ili isključite prikaz ikona na statusnoj traci."</string>
<string name="data_saver" msgid="5037565123367048522">"Ušteda podataka"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Ušteda podataka je uključena"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Ušteda podataka je isključena"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Uključeno"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Navigaciona traka"</string>
<string name="start" msgid="6873794757232879664">"Početak"</string>
<string name="center" msgid="4327473927066010960">"Sredina"</string>
@@ -526,4 +541,12 @@
<string name="preview" msgid="9077832302472282938">"Pregledaj"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Povucite da biste dodali polja"</string>
<string name="qs_edit" msgid="2232596095725105230">"Uredi"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index 55ab02a..54b4ff4 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"fixació de pantalla"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"cerca"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"No s\'ha pogut iniciar <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"En mode segur, l\'aplicació <xliff:g id="APP">%s</xliff:g> està desactivada."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Historial"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Esborra"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Divisió horitzontal"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Silenci\ntotal"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Només\ninterr. prior."</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Només\nalarmes"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Totes"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Totes\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Carregant (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> per completar la càrrega)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Càrrega ràpida (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> per completar-se)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Càrrega lenta (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> per completar-se)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Mostra els segons del rellotge a la barra d\'estat. Això pot afectar la durada de la bateria."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Reorganitza Configuració ràpida"</string>
<string name="show_brightness" msgid="6613930842805942519">"Mostra la brillantor a Configuració ràpida"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Activa la pantalla dividida en lliscar amunt"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Activa el gest per dividir la pantalla en lliscar cap amunt"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Activa el gest per entrar al mode de pantalla dividida en lliscar cap amunt des del botó Visió general"</string>
<string name="experimental" msgid="6198182315536726162">"Experimental"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Vols activar el Bluetooth?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Mostra a la pantalla i emet un so"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Més opcions"</string>
<string name="notification_done" msgid="5279426047273930175">"Fet"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Colors normals"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Colors nocturns"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Colors personalitzats"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automàtica"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Colors desconeguts"</string>
- <string name="color_transform" msgid="6985460408079086090">"Modificació del color"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Mostra el mosaic de Configuració ràpida"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Activa la transformació personalitzada"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Aplica"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Confirma la configuració"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Algunes opcions de configuració de color poden deixar el dispositiu inservible. Fes clic a D\'acord per confirmar la configuració de color; en cas contrari, la configuració es restablirà al cap de 10 segons."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Ús de la bateria"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"La funció Estalvi de bateria no està disponible durant la càrrega"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Estalvi de bateria"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Redueix el rendiment i les dades en segon pla"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Inici"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Recents"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Enrere"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Mostra el mode No molesteu al volum"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Permet el control complet del mode No molesteu al quadre de diàleg de volum."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volum i mode No molesteu"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Activa el mode No molesteu abaixant el volum"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Desactiva el mode No molesteu apujant el volum"</string>
<string name="battery" msgid="7498329822413202973">"Bateria"</string>
<string name="clock" msgid="7416090374234785905">"Rellotge"</string>
<string name="headset" msgid="4534219457597457353">"Auriculars"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Auriculars connectats"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Auriculars connectats"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Activa o desactiva les icones a la barra d\'estat."</string>
<string name="data_saver" msgid="5037565123367048522">"Economitzador de dades"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"L\'extensió Economitzador de dades està activada"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"L\'extensió Economitzador de dades està desactivada"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Activat"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Barra de navegació"</string>
<string name="start" msgid="6873794757232879664">"Inici"</string>
<string name="center" msgid="4327473927066010960">"Centre"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Previsualització"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Arrossega per afegir camps"</string>
<string name="qs_edit" msgid="2232596095725105230">"Edita"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index a1423cb..fae2818 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -303,8 +303,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"připnutí obrazovky"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"vyhledat"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Aplikaci <xliff:g id="APP">%s</xliff:g> nelze spustit."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"Aplikace <xliff:g id="APP">%s</xliff:g> je v nouzovém režimu zakázána."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Historie"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Vymazat"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Vodorovné rozdělení"</string>
@@ -336,8 +335,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Úplné\nticho"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Pouze\nprioritní"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Pouze\nbudíky"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Vše"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Všechna\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Nabíjení (plně nabito za <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Rychlé nabíjení (plně nabito za <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Pomalé nabíjení (plně nabito za <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -450,7 +447,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Na stavovém řádku se bude zobrazovat sekundová ručička. Může být ovlivněna výdrž baterie."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Změnit uspořádání Rychlého nastavení"</string>
<string name="show_brightness" msgid="6613930842805942519">"Zobrazit jas v Rychlém nastavení"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Aktivovat rozdělenou obrazovku přejetím prstem"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Aktivovat rozdělenou obrazovku přejetím prstem nahoru"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Umožňuje aktivovat rozdělenou obrazovku přejetím prstem nahoru od tlačítka Přehled."</string>
<string name="experimental" msgid="6198182315536726162">"Experimentální"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Zapnout Bluetooth?"</string>
@@ -470,19 +467,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Tato oznámení zobrazovat přímo na obrazovce a upozornit na ně zvukem"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Další nastavení"</string>
<string name="notification_done" msgid="5279426047273930175">"Hotovo"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Normální barvy"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Noční barvy"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Vlastní barvy"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automaticky"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Neznámé barvy"</string>
- <string name="color_transform" msgid="6985460408079086090">"Změna barev"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Zobrazit dlaždici Rychlé nastavení"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Umožnit převod na vlastní barvy"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Použít"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Ověření nastavení"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Některá nastavení barev mohou způsobit, že zařízení nebude použitelné. Kliknutím na OK toto nastavení barev potvrdíte, v opačném případě se nastavení po 10 sekundách resetuje."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Využití baterie"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Spořič baterie při nabíjení není k dispozici."</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Spořič baterie"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Omezuje výkon a data na pozadí"</string>
@@ -490,21 +502,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Plocha"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Poslední"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Zpět"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Zobrazovat panel Nerušit v dialogu Hlasitost"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Umožňuje povolit úplné ovládání režimu Nerušit v dialogu Hlasitost."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Hlasitost a režim Nerušit"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Při snížení hlasitosti přejít do režimu Nerušit"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Při zvýšení hlasitosti ukončit režim Nerušit"</string>
<string name="battery" msgid="7498329822413202973">"Baterie"</string>
<string name="clock" msgid="7416090374234785905">"Hodiny"</string>
<string name="headset" msgid="4534219457597457353">"Náhlavní souprava"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Sluchátka připojena"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Náhlavní souprava připojena"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Umožňuje aktivovat nebo deaktivovat zobrazení ikon na stavovém řádku."</string>
<string name="data_saver" msgid="5037565123367048522">"Spořič dat"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Spořič dat je zapnutý"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Spořič dat je vypnutý"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Zapnuto"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Navigační panel"</string>
<string name="start" msgid="6873794757232879664">"Začátek"</string>
<string name="center" msgid="4327473927066010960">"Střed"</string>
@@ -527,4 +542,12 @@
<string name="preview" msgid="9077832302472282938">"Náhled"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Dlaždice přidáte přetažením"</string>
<string name="qs_edit" msgid="2232596095725105230">"Upravit"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index b509dfa..8c7c8a7 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Total\nstilhed"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Kun\nprioritet"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Kun\nalarmer"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Alle"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Alle\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Oplader (fuldt opladet om <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Hurtig opladning (fuldt opladet om <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Langsom opladning (fuldt opladet om <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Vis sekunder i statuslinjen. Dette kan påvirke batteriets levetid."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Omarranger Hurtige indstillinger"</string>
<string name="show_brightness" msgid="6613930842805942519">"Vis lysstyrke i Hurtige indstillinger"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Aktivér bevægelsen stryg opad for at dele skærmen"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Aktivér bevægelsen stryg opad for at dele skærmen"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Aktivér bevægelse for at dele skærmen ved at stryge opad fra knappen Oversigt"</string>
<string name="experimental" msgid="6198182315536726162">"Eksperimentel"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Vil du slå Bluetooth til?"</string>
@@ -467,14 +465,30 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Vis på skærmen, og giv lyd"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Flere indstillinger"</string>
<string name="notification_done" msgid="5279426047273930175">"Færdig"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Almindelige farver"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Nattefarver"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Tilpassede farver"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automatisk"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Ukendte farver"</string>
- <string name="color_transform" msgid="6985460408079086090">"Farveændring"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Vis feltet Hurtige indstillinger"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Aktivér tilpasset farveændring"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Anvend"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Bekræft indstillingerne"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Nogle farveindstillinger kan medføre, at du ikke kan bruge enheden. Klik på OK for at bekræfte disse farveindstillinger. Ellers nulstilles disse indstillinger efter ti sekunder."</string>
@@ -486,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Start"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Seneste"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Tilbage"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Vis Forstyr ikke i Lydstyrke"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Tillad fuld kontrol over Forstyr ikke i dialogboksen Lydstyrke."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Lydstyrke og Forstyr ikke"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Aktivér Forstyr ikke med Lydstyrke ned"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Afslut Forstyr ikke med Lydstyrke op"</string>
<string name="battery" msgid="7498329822413202973">"Batteri"</string>
<string name="clock" msgid="7416090374234785905">"Ur"</string>
<string name="headset" msgid="4534219457597457353">"Headset"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Hovedtelefoner er tilsluttet"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Headset er forbundet"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Slå visning af ikoner i statusbjælken til eller fra."</string>
<string name="data_saver" msgid="5037565123367048522">"Datasparefunktion"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Datasparefunktionen er slået til"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Datasparefunktionen er slået fra"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Til"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Navigationslinje"</string>
<string name="start" msgid="6873794757232879664">"Start"</string>
<string name="center" msgid="4327473927066010960">"I midten"</string>
@@ -523,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Eksempelvisning"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Træk for at tilføje felter"</string>
<string name="qs_edit" msgid="2232596095725105230">"Rediger"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index 541f03e..31be8b4 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"Bildschirmfixierung"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"Suche"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> konnte nicht gestartet werden."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> ist im abgesicherten Modus deaktiviert."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Verlauf"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Löschen"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Geteilte Schaltfläche – horizontal"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Laut-\nlos"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Nur\nwichtige"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Nur\nWecker"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Alle"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Alle\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Wird aufgeladen (voll in <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Wird schnell aufgeladen (voll in <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Wird langsam aufgeladen (voll in <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Uhrsekunden in der Statusleiste anzeigen. Kann sich auf die Akkulaufzeit auswirken."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Schnelleinstellungen neu anordnen"</string>
<string name="show_brightness" msgid="6613930842805942519">"Helligkeit in den Schnelleinstellungen anzeigen"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Teilen des Bildschirms durch Wischen nach oben aktivieren"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Teilen des Bildschirms durch Wischen nach oben aktivieren"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Aktiviert die Bewegung zum Teilen des Bildschirms, bei der von der Schaltfläche \"Übersicht\" nach oben gewischt wird"</string>
<string name="experimental" msgid="6198182315536726162">"Experimentell"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth aktivieren?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Mit Ton auf dem Display einblenden"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Weitere Einstellungen"</string>
<string name="notification_done" msgid="5279426047273930175">"Fertig"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Standardfarben"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Nachtfarben"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Benutzerdefinierte Farben"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automatisch"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Unbekannte Farben"</string>
- <string name="color_transform" msgid="6985460408079086090">"Farben ändern"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Kachel \"Schnelleinstellungen\" anzeigen"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Benutzerdefinierte Anpassung aktivieren"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Übernehmen"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Einstellungen bestätigen"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Einige Farbeinstellungen können dazu führen, dass das Gerät nicht mehr genutzt werden kann. Klicke auf \"OK\", um diese Farbeinstellungen zu bestätigen. Anderenfalls werden diese Einstellungen in 10 Sekunden zurückgesetzt."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Akkunutzung"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Der Energiesparmodus ist beim Aufladen nicht verfügbar."</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Energiesparmodus"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Reduzierung der Leistung und Hintergrunddaten"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Startseite"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Letzte"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Zurück"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"\"Bitte nicht stören\" bei der Lautstärkeregelung anzeigen"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Volle Kontrolle von \"Bitte nicht stören\" im kleinen Fenster zur Lautstärkeregelung erlauben."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Lautstärke und \"Bitte nicht stören\""</string>
- <string name="volume_down_silent" msgid="66962568467719591">"\"Bitte nicht stören\" bei \"Leiser\" aktivieren"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"\"Bitte nicht stören\" bei \"Lauter\" deaktivieren"</string>
<string name="battery" msgid="7498329822413202973">"Akku"</string>
<string name="clock" msgid="7416090374234785905">"Uhr"</string>
<string name="headset" msgid="4534219457597457353">"Headset"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Mit Kopfhörer verbunden"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Mit Headset verbunden"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Symbole in der Statusleiste ein- bzw. ausblenden"</string>
<string name="data_saver" msgid="5037565123367048522">"Datenkomprimierung"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Datenkomprimierung aktiviert"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Datenkomprimierung deaktiviert"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"An"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Navigationsleiste"</string>
<string name="start" msgid="6873794757232879664">"Beim Start"</string>
<string name="center" msgid="4327473927066010960">"Mitte"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Vorschau"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Zum Hinzufügen von Kacheln ziehen"</string>
<string name="qs_edit" msgid="2232596095725105230">"Bearbeiten"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index ca354dc..efbbabe 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"καρφίτσωμα οθόνης"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"αναζήτηση"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Δεν ήταν δυνατή η εκκίνηση της εφαρμογής <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"Η εφαρμογή <xliff:g id="APP">%s</xliff:g> έχει απενεργοποιηθεί στην ασφαλή λειτουργία."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Ιστορικό"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Εκκαθάριση"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Οριζόντιος διαχωρισμός"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Πλήρης\nσίγαση"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Μόνο\nπροτεραιότητας"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Μόνο\nειδοποιήσεις"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Όλα"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Όλες\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Φόρτιση (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> για πλήρη φόρτιση)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Γρήγορη φόρτιση (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> για πλήρη φόρτιση)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Αργή φόρτιση (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> για πλήρη φόρτιση)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Εμφάνιση δευτερολέπτων ρολογιού στη γραμμή κατάστασης. Ενδέχεται να επηρεάσει τη διάρκεια ζωής της μπαταρίας."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Αναδιάταξη Γρήγορων ρυθμίσεων"</string>
<string name="show_brightness" msgid="6613930842805942519">"Εμφάνιση φωτεινότητας στις Γρήγορες ρυθμίσεις"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Ενεργοποίηση επιτάχυνσης ολίσθησης επάνω για διαχωρισμό οθόνης"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Ενεργοποίηση κίνησης ολίσθησης επάνω για διαχωρισμό οθόνης"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Ενεργοποίηση κίνησης για μετάβαση σε διαχωρισμό οθόνης μέσω ολίσθησης επάνω από το κουμπί \"Επισκόπηση\""</string>
<string name="experimental" msgid="6198182315536726162">"Σε πειραματικό στάδιο"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Ενεργοποίηση Bluetooth;"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Να προβάλλονται στην οθόνη και να συνοδεύονται από κάποιον ήχο"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Περισσότερες ρυθμίσεις"</string>
<string name="notification_done" msgid="5279426047273930175">"Τέλος"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Κανονικά χρώματα"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Νυχτερινά χρώματα"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Προσαρμοσμένα χρώματα"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Αυτόματο"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Άγνωστα χρώματα"</string>
- <string name="color_transform" msgid="6985460408079086090">"Τροποποίηση χρωμάτων"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Εμφάνιση πλακιδίου Γρήγορων ρυθμίσεων"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Ενεργοποίηση προσαρμοσμένου μετασχηματισμού"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Εφαρμογή"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Επιβεβαίωση ρυθμίσεων"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Ορισμένες ρυθμίσεις χρωμάτων μπορεί να μην επιτρέπουν τη χρήση αυτής της συσκευής. Κάντε κλικ στην επιλογή OK για να επιβεβαιώσετε αυτές τις ρυθμίσεις χρωμάτων, διαφορετικά θα γίνει επαναφορά αυτών των ρυθμίσεων μετά από 10 δευτερόλεπτα."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Χρήση της μπαταρίας"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Η εξοικονόμηση μπαταρίας δεν είναι διαθέσιμη κατά τη διάρκεια της φόρτισης"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Εξοικονόμηση μπαταρίας"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Μειώνει την απόδοση και τα δεδομένα παρασκηνίου"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Αρχική οθόνη"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Πρόσφατα"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Πίσω"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Εμφάνιση λειτουργίας \"Μην ενοχλείτε\" στην ένταση ήχου"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Να επιτρέπεται ο πλήρης έλεγχος της λειτουργίας \"Μην ενοχλείτε\" στο παράθυρο διαλόγου ελέγχου έντασης."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Ένταση ήχου και λειτουργία \"Μην ενοχλείτε\""</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Ενεργοποίηση λειτουργίας \"Μην ενοχλείτε\" κατά τη μείωση της έντασης ήχου"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Απενεργοποίηση λειτουργίας \"Μην ενοχλείτε\" κατά την αύξηση της έντασης ήχου"</string>
<string name="battery" msgid="7498329822413202973">"Μπαταρία"</string>
<string name="clock" msgid="7416090374234785905">"Ρολόι"</string>
<string name="headset" msgid="4534219457597457353">"Ακουστικά"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Τα ακουστικά συνδέθηκαν"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Τα ακουστικά συνδέθηκαν"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Ενεργοποίηση ή απενεργοποίηση εμφάνιση εικονιδίων στη γραμμή κατάστασης."</string>
<string name="data_saver" msgid="5037565123367048522">"Εξοικονόμηση δεδομένων"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Η Εξοικονόμηση δεδομένων είναι ενεργοποιημένη"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Η Εξοικονόμηση δεδομένων είναι απενεργοποιημένη"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Ενεργή"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Γραμμή πλοήγησης"</string>
<string name="start" msgid="6873794757232879664">"Έναρξη"</string>
<string name="center" msgid="4327473927066010960">"Κέντρο"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Προεπισκόπηση"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Σύρετε για να προσθέσετε πλακίδια"</string>
<string name="qs_edit" msgid="2232596095725105230">"Επεξεργασία"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml
index 14f9301..bdc4bdb 100644
--- a/packages/SystemUI/res/values-en-rAU/strings.xml
+++ b/packages/SystemUI/res/values-en-rAU/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Total\nsilence"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Priority\nonly"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Alarms\nonly"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"All"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"All\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Charging (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> until full)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Charging rapidly (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> until full)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Charging slowly (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> until full)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Show clock seconds in the status bar. May impact battery life."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Rearrange Quick Settings"</string>
<string name="show_brightness" msgid="6613930842805942519">"Show brightness in Quick Settings"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Enable split-screen swipe-up accelerator"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Enable split-screen swipe-up gesture"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Enable gesture to enter split-screen by swiping up from the Overview button"</string>
<string name="experimental" msgid="6198182315536726162">"Experimental"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Turn on Bluetooth?"</string>
@@ -467,14 +465,18 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Peek onto the screen and make sound"</string>
<string name="notification_more_settings" msgid="816306283396553571">"More settings"</string>
<string name="notification_done" msgid="5279426047273930175">"Finished"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Normal colours"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Night colours"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Customised colours"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Auto"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Unknown colours"</string>
- <string name="color_transform" msgid="6985460408079086090">"Colour modification"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Show Quick Settings tile"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Enable customised transform"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"Colour and appearance"</string>
+ <string name="night_mode" msgid="3540405868248625488">"Night mode"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"Calibrate display"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"On"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"Off"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"Turn on automatically"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"Switch into Night Mode as appropriate for location and time of day"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"When Night Mode is on"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Use dark theme for Android OS"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"Adjust tint"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"Adjust brightness"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"The dark theme is applied to core areas of Android OS that are normally displayed in a light theme, such as Settings and notifications."</string>
<string name="color_apply" msgid="9212602012641034283">"Apply"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Confirm Settings"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Some colour settings can make this device unusable. Click OK to confirm these colour settings, otherwise these settings will reset after 10 seconds."</string>
@@ -486,21 +488,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Home"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Recent"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Back"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Show Do Not Disturb in volume"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Allow full control of Do Not Disturb in the volume dialogue."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volume and Do Not Disturb"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Enter Do Not Disturb on volume down"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"Show with volume controls"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"Do not disturb"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"Volume buttons shortcut"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"Exit Do Not Disturb on volume up"</string>
<string name="battery" msgid="7498329822413202973">"Battery"</string>
<string name="clock" msgid="7416090374234785905">"Clock"</string>
<string name="headset" msgid="4534219457597457353">"Headset"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Headphones connected"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Headset connected"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Enable or disable icons from being shown in the status bar."</string>
<string name="data_saver" msgid="5037565123367048522">"Data Saver"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Data Saver is on"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Data Saver is off"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"On"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"Off"</string>
<string name="nav_bar" msgid="1993221402773877607">"Navigation bar"</string>
<string name="start" msgid="6873794757232879664">"Start"</string>
<string name="center" msgid="4327473927066010960">"Centre"</string>
@@ -523,4 +524,15 @@
<string name="preview" msgid="9077832302472282938">"Preview"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Drag to add tiles"</string>
<string name="qs_edit" msgid="2232596095725105230">"(edit)"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"Time"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"Show hours, minutes and seconds"</item>
+ <item msgid="1427801730816895300">"Show hours and minutes (default)"</item>
+ <item msgid="3830170141562534721">"Don\'t show this icon"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"Always show percentage"</item>
+ <item msgid="2139628951880142927">"Show percentage when charging (default)"</item>
+ <item msgid="3327323682209964956">"Don\'t show this icon"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index 14f9301..bdc4bdb 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Total\nsilence"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Priority\nonly"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Alarms\nonly"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"All"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"All\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Charging (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> until full)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Charging rapidly (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> until full)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Charging slowly (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> until full)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Show clock seconds in the status bar. May impact battery life."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Rearrange Quick Settings"</string>
<string name="show_brightness" msgid="6613930842805942519">"Show brightness in Quick Settings"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Enable split-screen swipe-up accelerator"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Enable split-screen swipe-up gesture"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Enable gesture to enter split-screen by swiping up from the Overview button"</string>
<string name="experimental" msgid="6198182315536726162">"Experimental"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Turn on Bluetooth?"</string>
@@ -467,14 +465,18 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Peek onto the screen and make sound"</string>
<string name="notification_more_settings" msgid="816306283396553571">"More settings"</string>
<string name="notification_done" msgid="5279426047273930175">"Finished"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Normal colours"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Night colours"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Customised colours"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Auto"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Unknown colours"</string>
- <string name="color_transform" msgid="6985460408079086090">"Colour modification"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Show Quick Settings tile"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Enable customised transform"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"Colour and appearance"</string>
+ <string name="night_mode" msgid="3540405868248625488">"Night mode"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"Calibrate display"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"On"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"Off"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"Turn on automatically"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"Switch into Night Mode as appropriate for location and time of day"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"When Night Mode is on"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Use dark theme for Android OS"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"Adjust tint"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"Adjust brightness"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"The dark theme is applied to core areas of Android OS that are normally displayed in a light theme, such as Settings and notifications."</string>
<string name="color_apply" msgid="9212602012641034283">"Apply"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Confirm Settings"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Some colour settings can make this device unusable. Click OK to confirm these colour settings, otherwise these settings will reset after 10 seconds."</string>
@@ -486,21 +488,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Home"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Recent"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Back"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Show Do Not Disturb in volume"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Allow full control of Do Not Disturb in the volume dialogue."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volume and Do Not Disturb"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Enter Do Not Disturb on volume down"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"Show with volume controls"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"Do not disturb"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"Volume buttons shortcut"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"Exit Do Not Disturb on volume up"</string>
<string name="battery" msgid="7498329822413202973">"Battery"</string>
<string name="clock" msgid="7416090374234785905">"Clock"</string>
<string name="headset" msgid="4534219457597457353">"Headset"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Headphones connected"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Headset connected"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Enable or disable icons from being shown in the status bar."</string>
<string name="data_saver" msgid="5037565123367048522">"Data Saver"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Data Saver is on"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Data Saver is off"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"On"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"Off"</string>
<string name="nav_bar" msgid="1993221402773877607">"Navigation bar"</string>
<string name="start" msgid="6873794757232879664">"Start"</string>
<string name="center" msgid="4327473927066010960">"Centre"</string>
@@ -523,4 +524,15 @@
<string name="preview" msgid="9077832302472282938">"Preview"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Drag to add tiles"</string>
<string name="qs_edit" msgid="2232596095725105230">"(edit)"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"Time"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"Show hours, minutes and seconds"</item>
+ <item msgid="1427801730816895300">"Show hours and minutes (default)"</item>
+ <item msgid="3830170141562534721">"Don\'t show this icon"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"Always show percentage"</item>
+ <item msgid="2139628951880142927">"Show percentage when charging (default)"</item>
+ <item msgid="3327323682209964956">"Don\'t show this icon"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml
index 14f9301..bdc4bdb 100644
--- a/packages/SystemUI/res/values-en-rIN/strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Total\nsilence"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Priority\nonly"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Alarms\nonly"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"All"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"All\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Charging (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> until full)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Charging rapidly (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> until full)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Charging slowly (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> until full)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Show clock seconds in the status bar. May impact battery life."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Rearrange Quick Settings"</string>
<string name="show_brightness" msgid="6613930842805942519">"Show brightness in Quick Settings"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Enable split-screen swipe-up accelerator"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Enable split-screen swipe-up gesture"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Enable gesture to enter split-screen by swiping up from the Overview button"</string>
<string name="experimental" msgid="6198182315536726162">"Experimental"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Turn on Bluetooth?"</string>
@@ -467,14 +465,18 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Peek onto the screen and make sound"</string>
<string name="notification_more_settings" msgid="816306283396553571">"More settings"</string>
<string name="notification_done" msgid="5279426047273930175">"Finished"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Normal colours"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Night colours"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Customised colours"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Auto"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Unknown colours"</string>
- <string name="color_transform" msgid="6985460408079086090">"Colour modification"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Show Quick Settings tile"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Enable customised transform"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"Colour and appearance"</string>
+ <string name="night_mode" msgid="3540405868248625488">"Night mode"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"Calibrate display"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"On"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"Off"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"Turn on automatically"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"Switch into Night Mode as appropriate for location and time of day"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"When Night Mode is on"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Use dark theme for Android OS"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"Adjust tint"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"Adjust brightness"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"The dark theme is applied to core areas of Android OS that are normally displayed in a light theme, such as Settings and notifications."</string>
<string name="color_apply" msgid="9212602012641034283">"Apply"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Confirm Settings"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Some colour settings can make this device unusable. Click OK to confirm these colour settings, otherwise these settings will reset after 10 seconds."</string>
@@ -486,21 +488,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Home"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Recent"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Back"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Show Do Not Disturb in volume"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Allow full control of Do Not Disturb in the volume dialogue."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volume and Do Not Disturb"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Enter Do Not Disturb on volume down"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"Show with volume controls"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"Do not disturb"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"Volume buttons shortcut"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"Exit Do Not Disturb on volume up"</string>
<string name="battery" msgid="7498329822413202973">"Battery"</string>
<string name="clock" msgid="7416090374234785905">"Clock"</string>
<string name="headset" msgid="4534219457597457353">"Headset"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Headphones connected"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Headset connected"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Enable or disable icons from being shown in the status bar."</string>
<string name="data_saver" msgid="5037565123367048522">"Data Saver"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Data Saver is on"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Data Saver is off"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"On"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"Off"</string>
<string name="nav_bar" msgid="1993221402773877607">"Navigation bar"</string>
<string name="start" msgid="6873794757232879664">"Start"</string>
<string name="center" msgid="4327473927066010960">"Centre"</string>
@@ -523,4 +524,15 @@
<string name="preview" msgid="9077832302472282938">"Preview"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Drag to add tiles"</string>
<string name="qs_edit" msgid="2232596095725105230">"(edit)"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"Time"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"Show hours, minutes and seconds"</item>
+ <item msgid="1427801730816895300">"Show hours and minutes (default)"</item>
+ <item msgid="3830170141562534721">"Don\'t show this icon"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"Always show percentage"</item>
+ <item msgid="2139628951880142927">"Show percentage when charging (default)"</item>
+ <item msgid="3327323682209964956">"Don\'t show this icon"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index 4031204..448f808 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"Fijar pantalla"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"buscar"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"No se pudo iniciar <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> está inhabilitada en modo seguro."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Historial"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Borrar"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"División horizontal"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Silencio\ntotal"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Solo\nprioridad"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Solo\nalarmas"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Todo"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Todo\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Cargando (faltan <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> para completar)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Carga rápida (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> para completar la carga)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Carga lenta (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> para completar la carga)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Muestra los segundos del reloj en la barra de estado. Puede afectar la duración de la batería."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Reorganizar la Configuración rápida"</string>
<string name="show_brightness" msgid="6613930842805942519">"Mostrar el brillo en la Configuración rápida"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Deslizar el dedo hacia arriba para dividir la pantalla"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Habilitar gesto de dedo hacia arriba para dividir pantalla"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Habilita el gesto de deslizar el dedo hacia arriba desde el botón Recientes para acceder al modo de pantalla dividida"</string>
<string name="experimental" msgid="6198182315536726162">"Experimental"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"¿Activar Bluetooth?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Mostrar en la pantalla y emitir sonido"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Más opciones de configuración"</string>
<string name="notification_done" msgid="5279426047273930175">"Listo"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Colores normales"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Colores nocturnos"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Colores personalizados"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automático"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Colores desconocidos"</string>
- <string name="color_transform" msgid="6985460408079086090">"Modificación del color"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Mostrar el mosaico de Configuración rápida"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Habilitar la transformación personalizada"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Aplicar"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Confirmar la configuración"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Algunas opciones de configuración de color pueden provocar que el dispositivo quede inutilizable. Haz clic en Aceptar para confirmar estos parámetros de color. De lo contrario, la configuración se restablecerá en diez segundos."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Uso de la batería"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Ahorro de batería no está disponible durante la carga"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Ahorro de batería"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Reduce el rendimiento y el uso de datos en segundo plano"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Pantalla principal"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Recientes"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Atrás"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Mostrar el panel de control de No interrumpir en el volumen"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Permitir el control total del modo No interrumpir en el cuadro de diálogo de volumen."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volumen y No interrumpir"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Activar el modo No interrumpir al bajar el volumen"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Desactivar el modo No interrumpir al subir el volumen"</string>
<string name="battery" msgid="7498329822413202973">"Batería"</string>
<string name="clock" msgid="7416090374234785905">"Reloj"</string>
<string name="headset" msgid="4534219457597457353">"Auriculares"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Auriculares conectados"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Auriculares conectados"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Habilitar o inhabilitar la visualización de los íconos en la barra de estado"</string>
<string name="data_saver" msgid="5037565123367048522">"Reducir datos"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Reducir datos está activada"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Reducir datos está desactivada"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Activado"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Barra de navegación"</string>
<string name="start" msgid="6873794757232879664">"Iniciar"</string>
<string name="center" msgid="4327473927066010960">"Centro"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Vista previa"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Arrastra los mosaicos para agregarlos"</string>
<string name="qs_edit" msgid="2232596095725105230">"Editar"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index f531294..26900b6 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -334,8 +334,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Silencio\ntotal"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Solo\ncon prioridad"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Solo\nalarmas"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Todo"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Todo\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Cargando (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> para completar)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Cargando rápidamente (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> hasta completar)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Cargando lentamente (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> hasta completar)"</string>
@@ -448,7 +446,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Muestra los segundos del reloj en la barra de estado. Puede afectar a la duración de la batería."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Reorganizar Ajustes rápidos"</string>
<string name="show_brightness" msgid="6613930842805942519">"Mostrar brillo en Ajustes rápidos"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Habilitar deslizar el dedo hacia arriba para dividir la pantalla"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Habilitar deslizar dedo hacia arriba para dividir pantalla"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Habilita el gesto de deslizar el dedo hacia arriba desde el botón Visión general para acceder al modo de pantalla dividida"</string>
<string name="experimental" msgid="6198182315536726162">"Experimental"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"¿Activar Bluetooth?"</string>
@@ -468,19 +466,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Mostrar en la pantalla y emitir sonido"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Más ajustes"</string>
<string name="notification_done" msgid="5279426047273930175">"Listo"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Colores normales"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Colores nocturnos"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Colores personalizados"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automático"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Colores desconocidos"</string>
- <string name="color_transform" msgid="6985460408079086090">"Modificación de colores"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Mostrar mosaico de Ajustes rápidos"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Habilitar transformación personalizada"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Aplicar"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Confirmar configuración"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Algunas opciones de configuración de color pueden hacer que el dispositivo no se pueda utilizar. Haz clic en Aceptar para confirmar esta configuración. Si no lo haces, se restablecerá esta configuración cuando transcurran 10 segundos."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Uso de la batería"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Ahorro de batería no disponible mientras se carga el dispositivo"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Ahorro de batería"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Reduce el rendimiento y las conexiones automáticas"</string>
@@ -488,21 +501,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Inicio"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Recientes"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Atrás"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Mostrar el panel de control de No molestar en el volumen"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Permitir un control total del modo No molestar en el cuadro de diálogo de volumen."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volumen y No molestar"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Activar No molestar al bajar el volumen"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Salir de No molestar al subir el volumen"</string>
<string name="battery" msgid="7498329822413202973">"Batería"</string>
<string name="clock" msgid="7416090374234785905">"Reloj"</string>
<string name="headset" msgid="4534219457597457353">"Auriculares"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Auriculares conectados"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Auriculares conectados"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Permite mostrar u ocultar iconos en la barra de estado"</string>
<string name="data_saver" msgid="5037565123367048522">"Economizador de datos"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Economizador de datos activado"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Economizador de datos desactivado"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Sí"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Barra de navegación"</string>
<string name="start" msgid="6873794757232879664">"Inicio"</string>
<string name="center" msgid="4327473927066010960">"Centro"</string>
@@ -525,4 +541,12 @@
<string name="preview" msgid="9077832302472282938">"Vista previa"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Arrastrar para añadir mosaicos"</string>
<string name="qs_edit" msgid="2232596095725105230">"Cambiar"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-et-rEE/strings.xml b/packages/SystemUI/res/values-et-rEE/strings.xml
index a7e34e6..d4c8aca 100644
--- a/packages/SystemUI/res/values-et-rEE/strings.xml
+++ b/packages/SystemUI/res/values-et-rEE/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Täielik\nvaikus"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Ainult\nprioriteetsed"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Ainult\nalarmid"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Kõik"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Kõik\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Laadimine (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>, kuni seade on täis)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Kiirlaadimine (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>, kuni seade on täis)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Aeglane laadimine (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>, kuni seade on täis)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Olekuribal kella sekundite kuvamine. See võib mõjutada aku kasutusaega."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Korralda kiirseaded ümber"</string>
<string name="show_brightness" msgid="6613930842805942519">"Kuva kiirseadetes heledus"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Luba ülespühkimise kiirendi ekraani poolitamiseks"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Luba ülespühkimise liigutus ekraani poolitamiseks"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Lubab žesti, mis poolitab ekraani, kui kasutaja pühib üles nupul Ülevaade."</string>
<string name="experimental" msgid="6198182315536726162">"Eksperimentaalne"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Kas lülitada Bluetooth sisse?"</string>
@@ -467,14 +465,30 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Kuva ekraani servas koos heliga"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Rohkem seadeid"</string>
<string name="notification_done" msgid="5279426047273930175">"Valmis"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Tavalised värvid"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Öised värvid"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Kohandatud värvid"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automaatne"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Värvid on teadmata"</string>
- <string name="color_transform" msgid="6985460408079086090">"Värvi muutmine"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Kuva paan Kiirseaded"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Luba kohandatud teisendamine"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Rakenda"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Seadete kinnitamine"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Mõni värviseade ei saa seadet võib-olla kasutada. Nende värviseadete kinnitamiseks klõpsake OK, muidu lähtestatakse need seaded 10 sekundi pärast."</string>
@@ -486,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Avaekraan"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Hiljutised"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Tagasi"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Kuva helitugevuse juures funktsioon Mitte segada"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Helitugevuse dialoogis lubatakse funktsiooni Mitte segada täielik juhtimine."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Helitugevus ja funktsioon Mitte segada"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Lülita helitugevuse vähendamisel sisse funkt. Mitte segada"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Lülita helitugevuse suurendamisel välja funkt. Mitte segada"</string>
<string name="battery" msgid="7498329822413202973">"Aku"</string>
<string name="clock" msgid="7416090374234785905">"Kell"</string>
<string name="headset" msgid="4534219457597457353">"Peakomplekt"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Kõrvaklapid on ühendatud"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Peakomplekt on ühendatud"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Lubatakse või keelatakse ikoonide kuvamine olekuribal."</string>
<string name="data_saver" msgid="5037565123367048522">"Andmemahu säästja"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Andmemahu säästja on sisse lülitatud"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Andmemahu säästja on välja lülitatud"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Sees"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Navigeerimisriba"</string>
<string name="start" msgid="6873794757232879664">"Algus"</string>
<string name="center" msgid="4327473927066010960">"Keskkoht"</string>
@@ -523,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Eelvaade"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Lohistage paanide lisamiseks"</string>
<string name="qs_edit" msgid="2232596095725105230">"Muuda"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-eu-rES/strings.xml b/packages/SystemUI/res/values-eu-rES/strings.xml
index dcb8ef9..eb2d16e 100644
--- a/packages/SystemUI/res/values-eu-rES/strings.xml
+++ b/packages/SystemUI/res/values-eu-rES/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"pantaila-ainguratzea"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"bilatu"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Ezin izan da hasi <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> desgaituta dago modu seguruan."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Historia"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Garbitu"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Banaketa horizontala"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Isiltasun\nosoa"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Lehentasunezkoak\nsoilik"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Alarmak\nsoilik"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Guztiak"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Guztiak\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Kargatzen (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> guztiz kargatu arte)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Bizkor kargatzen (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> guztiz kargatu arte)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Mantso kargatzen (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> guztiz kargatu arte)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Erakutsi erlojuko segundoak egoera-barran. Baliteke bateria gehiago erabiltzea."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Berrantolatu ezarpen bizkorrak"</string>
<string name="show_brightness" msgid="6613930842805942519">"Erakutsi distira Ezarpen bizkorretan"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Gaitu hatza gora pasatuta pantaila zatitzeko bizkortzailea"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Gaitu pantaila zatitzeko keinua hatza gora pasatuta"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Sakatu Ikuspegi nagusia botoia eta gaitu hatza gora pasatuta pantaila zatitzeko keinua"</string>
<string name="experimental" msgid="6198182315536726162">"Esperimentala"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth eginbidea aktibatu nahi duzu?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Agerrarazi jakinarazpen hauek pantailan eta egin soinua"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Ezarpen gehiago"</string>
<string name="notification_done" msgid="5279426047273930175">"Eginda"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Kolore normalak"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Gaueko koloreak"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Kolore pertsonalizatuak"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automatikoa"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Kolore ezezagunak"</string>
- <string name="color_transform" msgid="6985460408079086090">"Kolore-aldaketa"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Erakutsi ezarpen bizkorren lauza"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Gaitu itxuraldaketa pertsonalizatua"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Aplikatu"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Berretsi ezarpenak"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Baliteke gailua kolore-ezarpen batzuekin ezin erabili izatea. Kolore-ezarpenak berresteko, sakatu Ados. Bestela, hamar segundoren buruan berrezarriko dira ezarpenak."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Bateriaren erabilera"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Bateria-aurrezlea ez dago erabilgarri gailua kargatzen ari denean"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Bateria-aurrezlea"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Errendimendua eta atzeko planoko datuen erabilera murrizten ditu"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Hasierako pantaila"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Azkenak"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Atzera"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Erakutsi \"Ez molestatu\" aukera bolumenaren leihoan"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Baimendu bolumenaren leihoan \"Ez molestatu\" aukera guztiz kontrolatzea."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Bolumena eta \"Ez molestatu\""</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Sartu \"Ez molestatu\" egoeran bolumena jaistean"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Irten \"Ez molestatu\" egoeratik bolumena igotzean"</string>
<string name="battery" msgid="7498329822413202973">"Bateria"</string>
<string name="clock" msgid="7416090374234785905">"Erlojua"</string>
<string name="headset" msgid="4534219457597457353">"Mikrofonodun entzungailua"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Aurikularrak konektatu dira"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Mikrofonodun entzungailua konektatu da"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Gaitu edo desgaitu ikonoak egoera-barran erakusteko aukera."</string>
<string name="data_saver" msgid="5037565123367048522">"Datu-aurrezlea"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Aktibatuta dago datu-aurrezlea"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Desaktibatuta dago datu-aurrezlea"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Aktibatuta"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Nabigazio-barra"</string>
<string name="start" msgid="6873794757232879664">"Hasi"</string>
<string name="center" msgid="4327473927066010960">"Erdiratu"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Aurrebista"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Arrastatu lauzak hemen gehitzeko"</string>
<string name="qs_edit" msgid="2232596095725105230">"Editatu"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index 851a6cb..7e552ca 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"پین کردن صفحه"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"جستجو"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> شروع نشد."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> در حالت ایمن غیرفعال است."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"سابقه"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"پاک کردن"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"تقسیم افقی"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"سکوت\nکامل"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"فقط\nاولویتدار"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"فقط\nهشدارها"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"همه"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"همه\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"در حال شارژ (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> تا شارژ کامل)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"در حال شارژ سریع (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> تا شارژ کامل)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"در حال شارژ آهسته (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> تا شارژ کامل)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"ثانیههای ساعت را در نوار وضعیت نشان میدهد. ممکن است بر ماندگاری باتری تأثیر بگذارد."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"ترتیب مجدد در تنظیمات سریع"</string>
<string name="show_brightness" msgid="6613930842805942519">"نمایش روشنایی در تنظیمات سریع"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"فعال کردن شتابدهنده تقسیم صفحه با بالا کشیدن"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"فعال کردن تقسیم صفحه با اشاره بالا کشیدن"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"اشاره ورود به تقسیم صفحه با بالا کشیدن صفحه از دکمه نمای کلی را فعال میکند"</string>
<string name="experimental" msgid="6198182315536726162">"آزمایشی"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"بلوتوث روشن شود؟"</string>
@@ -468,19 +465,22 @@
<string name="notification_importance_max" msgid="5236987171904756134">"در جلوی صفحه به همراه صدا نشان داده شود"</string>
<string name="notification_more_settings" msgid="816306283396553571">"تنظیمات بیشتر"</string>
<string name="notification_done" msgid="5279426047273930175">"تمام"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"رنگهای عادی"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"رنگهای شب"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"رنگهای سفارشی"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"خودکار"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"رنگهای نامشخص"</string>
- <string name="color_transform" msgid="6985460408079086090">"اصلاح رنگ"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"نمایش کاشی تنظیمات سریع"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"فعال کردن تبدیل سفارشی"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"رنگ و ظاهر"</string>
+ <string name="night_mode" msgid="3540405868248625488">"حالت شب"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"درجهبندی نمایشگر"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"روشن"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"خاموش"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"روشن شدن خودکار"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"تغییر به حالت شب وقتی برای مکان و زمان روز مناسب است"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"وقتی حالت شب روشن است"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"استفاده از زمینه تیره برای سیستمعامل Android"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"تنظیم سایهرنگ"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"تنظیم روشنایی"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"زمینه تیره بر قسمتهای هستهای سیستمعامل Android که بهطور معمول با زمینه روشن نشان داده میشوند (مثل تنظیمات و اعلانها) اعمال میشود."</string>
<string name="color_apply" msgid="9212602012641034283">"اعمال کردن"</string>
<string name="color_revert_title" msgid="4746666545480534663">"تأیید تنظیمات"</string>
<string name="color_revert_message" msgid="9116001069397996691">"بعضی از تنظیمات رنگ میتوانند این دستگاه را غیرقابل استفاده کنند. برای تأیید این تنظیمات رنگ روی «تأیید» کلیک کنید، در غیر این صورت این تغییرات بعد از ۱۰ ثانیه بازنشانی میشوند."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"مصرف باتری"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"هنگام شارژ شدن، «بهینهسازی باتری» در دسترس نیست"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"بهینهسازی باتری"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"عملکرد و اطلاعات پسزمینه را کاهش میدهد"</string>
@@ -488,21 +488,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"صفحه اصلی"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"موارد اخیر"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"برگشت"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"نمایش «مزاحم نشوید» در میزان صدا"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"به حالت «مزاحم نشوید» اجازه داده میشود در کادر گفتگوی میزان صدا کنترل کامل داشته باشد."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"میزان صدا و «مزاحم نشوید»"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"وارد شدن به حالت «مزاحم نشوید» در میزان صدای پایین"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"نمایش با کنترلهای صدا"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"مزاحم نشوید"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"میانبر دکمههای صدا"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"خارج شدن از حالت «مزاحم نشوید» در میزان صدای بالا"</string>
<string name="battery" msgid="7498329822413202973">"باتری"</string>
<string name="clock" msgid="7416090374234785905">"ساعت"</string>
<string name="headset" msgid="4534219457597457353">"هدست"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"هدفون وصل شد"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"هدست وصل شد"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"فعال یا غیرفعال کردن نمایش نمادها در نوار وضعیت."</string>
<string name="data_saver" msgid="5037565123367048522">"صرفهجویی در مصرف داده"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"صرفهجویی در مصرف داده روشن است"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"صرفهجویی در مصرف داده خاموش است"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"روشن"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"خاموش"</string>
<string name="nav_bar" msgid="1993221402773877607">"نوار پیمایش"</string>
<string name="start" msgid="6873794757232879664">"شروع"</string>
<string name="center" msgid="4327473927066010960">"وسط"</string>
@@ -525,4 +524,15 @@
<string name="preview" msgid="9077832302472282938">"پیشنمایش"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"کشیدن برای افزودن کاشیها"</string>
<string name="qs_edit" msgid="2232596095725105230">"ویرایش"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"زمان"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"ساعت، دقیقه و ثانیه نشان داده شود"</item>
+ <item msgid="1427801730816895300">"ساعت و دقیقه نشان داده شود (پیشفرض)"</item>
+ <item msgid="3830170141562534721">"این نماد نشان داده نشود"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"همیشه درصد نشان داده شود"</item>
+ <item msgid="2139628951880142927">"هنگام شارژ شدن درصد نشان داده شود (پیشفرض)"</item>
+ <item msgid="3327323682209964956">"این نماد نشان داده نشود"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index d44bd75..723c4c0 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"näytön kiinnitys"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"haku"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Sovelluksen <xliff:g id="APP">%s</xliff:g> käynnistäminen epäonnistui."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> on poistettu käytöstä vikasietotilassa."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Historia"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Tyhjennä"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Vaakasuuntainen jako"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Täydellinen\nhiljaisuus"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Vain\ntärkeät"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Vain\nherätykset"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Kaikki"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Kaikki\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Ladataan (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> kunnes täynnä)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Nopea lataus (latausaikaa jäljellä <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Hidas lataus (latausaikaa jäljellä <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Näytä sekunnit tilapalkin kellossa. Tämä voi vaikuttaa akun kestoon."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Järjestä pika-asetukset uudelleen"</string>
<string name="show_brightness" msgid="6613930842805942519">"Näytä kirkkaus pika-asetuksissa"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Ota jaetun näytön tilan pyyhkäisyele käyttöön"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Siirry jaetun näytön tilaan pyyhkäisemällä ylöspäin"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Voit siirtyä jaetun näytön tilaan pyyhkäisemällä Viimeisimmät-painikkeesta ylöspäin."</string>
<string name="experimental" msgid="6198182315536726162">"Kokeellinen"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Otetaanko Bluetooth käyttöön?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Näytä ilmoitus näytöllä ja toista äänimerkki"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Lisäasetukset"</string>
<string name="notification_done" msgid="5279426047273930175">"Valmis"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Tavalliset värit"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Yövärit"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Muokatut värit"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automaattinen"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Tuntemattomat värit"</string>
- <string name="color_transform" msgid="6985460408079086090">"Muokatut värit"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Näytä pika-asetusruutu"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Ota muokatut värit käyttöön"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Käytä"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Vahvista asetukset"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Jotkin väriasetukset voivat häiritä laitteen käyttöä. Vahvista uudet väriasetukset valitsemalla OK. Muussa tapauksessa aiemmat asetukset palautetaan 10 sekunnin kuluttua."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Akun käyttö"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Virransäästö ei ole käytettävissä latauksen aikana."</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Virransäästö"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Rajoittaa suorituskykyä ja taustatiedonsiirtoa."</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Aloitusnäyttö"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Viimeaikaiset"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Takaisin"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Näytä Älä häiritse ‑valinnat äänenvoimakkuudessa"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Näytä kaikki Älä häiritse ‑tilan säädöt äänenvoimakkuusvalinnassa."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Äänenvoimakkuus ja Älä häiritse ‑tila"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Siirry Älä häiritse -tilaan, kun äänenvoimakkuutta lasketaan"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Poistu Älä häiritse -tilasta, kun äänenvoimakkuus nousee"</string>
<string name="battery" msgid="7498329822413202973">"Akku"</string>
<string name="clock" msgid="7416090374234785905">"Kello"</string>
<string name="headset" msgid="4534219457597457353">"Kuulokemikrofoni"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Kuulokkeet liitetty"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Kuulokemikrofoni liitetty"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Ota tilapalkin kuvakkeet käyttöön tai poista ne käytöstä."</string>
<string name="data_saver" msgid="5037565123367048522">"Data Saver"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Data Saver on käytössä."</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Data Saver on pois käytöstä."</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Käytössä"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Navigointipalkki"</string>
<string name="start" msgid="6873794757232879664">"Alussa"</string>
<string name="center" msgid="4327473927066010960">"Keskellä"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Esikatselu"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Lisää osioita vetämällä."</string>
<string name="qs_edit" msgid="2232596095725105230">"Muokkaa"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index d34723f..86032a7 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"épinglage d\'écran"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"rechercher"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Impossible de lancer <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> est désactivée en mode sécurisé."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Historique"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Effacer"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Séparation horizontale"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Aucune\ninterruption"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Priorités\nuniquement"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Alarmes\nuniquement"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Tous"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Tous\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Charge en cours... (chargée à 100 %% dans <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Charge rapide en cours... (chargé dans <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Charge lente en cours... (chargé dans <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Afficher les secondes sur l\'horloge dans la barre d\'état. Cela peut réduire l\'autonomie de la pile."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Réorganiser les paramètres rapides"</string>
<string name="show_brightness" msgid="6613930842805942519">"Afficher la luminosité dans les paramètres rapides"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Activer l\'accélérateur d\'écr. partagé en balayant vers le haut"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Activer le geste d\'écran partagé en balayant vers le haut"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Activer le geste permettant d\'utiliser l\'écran partagé en balayant l\'écran vers le haut à partir du bouton « Aperçu »"</string>
<string name="experimental" msgid="6198182315536726162">"Fonctions expérimentales"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Activer Bluetooth?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Afficher sur l\'écran et émettre un son"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Plus de paramètres"</string>
<string name="notification_done" msgid="5279426047273930175">"Terminé"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Couleurs normales"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Couleurs nocturnes"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Couleurs personnalisées"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automatique"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Couleurs inconnues"</string>
- <string name="color_transform" msgid="6985460408079086090">"Modifier la couleur"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Afficher la tuile de configuration rapide"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Activer la transformation personnalisée"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Appliquer"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Confirmer les paramètres"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Certains paramètres de couleurs peuvent rendre cet appareil inutilisable. Cliquez sur « OK » pour valider ces paramètres, sinon ils seront réinitialisés après 10 secondes."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Utilisation de la pile"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Le mode Économie d\'énergie n\'est pas accessible pendant la charge"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Économie d\'énergie"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Réduit les performances et les données en arrière-plan"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Accueil"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Récents"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Précédent"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Fonctionnalité Ne pas déranger dans boîte de dialogue volume"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Autoriser le contrôle de la fonctionnalité Ne pas déranger dans la boîte de dialogue de modification du volume"</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volume et fonctionnalité Ne pas déranger"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Activer fonctionnalité Ne pas déranger avec bouton Volume -"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Désactiver fonctionnalité Ne pas déranger avec bouton Volume +"</string>
<string name="battery" msgid="7498329822413202973">"Pile"</string>
<string name="clock" msgid="7416090374234785905">"Horloge"</string>
<string name="headset" msgid="4534219457597457353">"Écouteurs"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Écouteurs connectés"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Écouteurs connectés"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Activer ou désactiver l\'affichage des icônes dans la barre d\'état"</string>
<string name="data_saver" msgid="5037565123367048522">"Économiseur de données"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"La fonction Économiseur de données est activée"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"La fonction Économiseur de données est désactivée"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Activé"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Barre de navigation"</string>
<string name="start" msgid="6873794757232879664">"Démarrer"</string>
<string name="center" msgid="4327473927066010960">"Centrer"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Aperçu"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Faites glisser des tuiles ici pour les ajouter"</string>
<string name="qs_edit" msgid="2232596095725105230">"Modifier"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index 241d34c..65bb86d 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"épinglage d\'écran"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"rechercher"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Impossible de lancer <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"L\'application <xliff:g id="APP">%s</xliff:g> est désactivée en mode sécurisé."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Historique"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Effacer"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Séparation horizontale"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Aucune\ninterruption"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Priorité\nuniquement"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Alarmes\nuniquement"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Toujours"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Toutes\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Charge en cours… (chargé à 100 %% dans <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Charge rapide… (chargé à 100 %% dans <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Charge lente… (chargé à 100 %% dans <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Afficher les secondes dans la barre d\'état. Cela risque de réduire l\'autonomie de la batterie."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Réorganiser la fenêtre de configuration rapide"</string>
<string name="show_brightness" msgid="6613930842805942519">"Afficher la luminosité dans fenêtre de configuration rapide"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Activer accélérateur écran partagé en balayant vers le haut"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Activer l\'écran partagé en balayant vers le haut"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Activer le geste permettant d\'utiliser l\'écran partagé en balayant l\'écran vers le haut à partir du bouton \"Aperçu\""</string>
<string name="experimental" msgid="6198182315536726162">"Paramètres expérimentaux"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Activer le Bluetooth ?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Afficher sur l\'écran et émettre un son"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Plus de paramètres"</string>
<string name="notification_done" msgid="5279426047273930175">"Terminé"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Couleurs normales"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Couleurs nocturnes"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Couleurs personnalisées"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automatique"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Couleurs inconnues"</string>
- <string name="color_transform" msgid="6985460408079086090">"Modification des couleurs"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Afficher la tuile de configuration rapide"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Activer la transformation personnalisée"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Appliquer"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Vérifier les paramètres"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Certains paramètres de couleurs peuvent rendre cet appareil inutilisable. Cliquez sur \"OK\" pour valider ces paramètres, sans quoi ils seront réinitialisés après 10 secondes."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Utilisation batterie"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"L\'économiseur de batterie n\'est pas disponible lorsque l\'appareil est en charge."</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Économiseur de batterie"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Limite les performances et les données en arrière-plan."</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Accueil"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Récents"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Précédent"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Fonctionnalité Ne pas déranger dans boîte de dialogue volume"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Autoriser le contrôle de la fonctionnalité Ne pas déranger dans la boîte de dialogue de modification du volume"</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volume et fonctionnalité Ne pas déranger"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Activer fonctionnalité Ne pas déranger via le bouton Volume -"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Désactiver fonctionnalité Ne pas déranger via bouton Volume +"</string>
<string name="battery" msgid="7498329822413202973">"Batterie"</string>
<string name="clock" msgid="7416090374234785905">"Horloge"</string>
<string name="headset" msgid="4534219457597457353">"Casque"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Casque connecté"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Casque connecté"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Activer ou désactiver l\'affichage des icônes dans la barre d\'état"</string>
<string name="data_saver" msgid="5037565123367048522">"Économiseur de données"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"L\'économiseur de données est activé."</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"L\'économiseur de données est désactivé."</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Activé"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Barre de navigation"</string>
<string name="start" msgid="6873794757232879664">"Début"</string>
<string name="center" msgid="4327473927066010960">"Centre"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Aperçu"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Faites glisser des tuiles ici pour les ajouter"</string>
<string name="qs_edit" msgid="2232596095725105230">"Modifier"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-gl-rES/strings.xml b/packages/SystemUI/res/values-gl-rES/strings.xml
index 75e47a5..dd8d15b 100644
--- a/packages/SystemUI/res/values-gl-rES/strings.xml
+++ b/packages/SystemUI/res/values-gl-rES/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"fixación de pantalla"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"buscar"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Non foi posible iniciar <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"A aplicación <xliff:g id="APP">%s</xliff:g> está desactivada no modo seguro"</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Historial"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Borrar"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Dividir en horizontal"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Silencio\ntotal"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Só\nprioridade"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Só\nalarmas"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Todas"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Todas\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Cargando (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> para finalizar a carga)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Cargando rápido (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> para rematar a carga)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Cargando lento (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> para rematar a carga)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Mostra os segundos do reloxo na barra de estado. Pode influír na duración da batería."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Reorganizar Configuración rápida"</string>
<string name="show_brightness" msgid="6613930842805942519">"Mostrar brillo en Configuración rápida"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Activar acelerador de pant. div. pasando o dedo cara arriba"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Activar pantalla dividida pasando o dedo cara arriba"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Activa o xesto de pasar o dedo cara arriba desde o botón Visión xeral para acceder ao modo de pantalla dividida"</string>
<string name="experimental" msgid="6198182315536726162">"Experimental"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Queres activar o Bluetooth?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Mostrar na pantalla e emitir son"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Máis opcións"</string>
<string name="notification_done" msgid="5279426047273930175">"Feito"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Cores normais"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Cores nocturnas"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Cores personalizadas"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automático"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Cores descoñecidas"</string>
- <string name="color_transform" msgid="6985460408079086090">"Modificación de cor"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Mostrar mosaico de configuración rápida"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Activar transformación personalizada"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Aplicar"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Confirmar configuración"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Algunhas opcións de configuración de cor poden facer que este dispositivo sexa inutilizable. Fai clic en Aceptar para confirmar esta configuración de cor; en caso contrario, a configuración restablecerase tras 10 segundos."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Uso de batería"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"A función aforro de batería non está dispoñible durante a carga"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Aforro de batería"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Reduce o rendemento e os datos en segundo plano"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Inicio"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Recentes"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Volver"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Mostrar o modo Non molestar no cadro de diálogo de volume"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Permite o control completo do modo Non molestar no cadro de diálogo de volume."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volume e modo Non molestar"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Activar o modo Non molestar ao baixar o volume"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Desactivar o modo Non molestar ao subir o volume"</string>
<string name="battery" msgid="7498329822413202973">"Batería"</string>
<string name="clock" msgid="7416090374234785905">"Reloxo"</string>
<string name="headset" msgid="4534219457597457353">"Auriculares"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Conectáronse os auriculares"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Conectáronse os auriculares"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Activa ou desactiva a visualización das iconas na barra de estado."</string>
<string name="data_saver" msgid="5037565123367048522">"Economizador de datos"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"O economizador de datos está activado"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"O economizador de datos está desactivado"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Activar"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Barra de navegación"</string>
<string name="start" msgid="6873794757232879664">"Inicio"</string>
<string name="center" msgid="4327473927066010960">"Centro"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Vista previa"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Arrastrar para engadir mosaicos"</string>
<string name="qs_edit" msgid="2232596095725105230">"Editar"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-gu-rIN/strings.xml b/packages/SystemUI/res/values-gu-rIN/strings.xml
index 45a4eaf..0e19df3 100644
--- a/packages/SystemUI/res/values-gu-rIN/strings.xml
+++ b/packages/SystemUI/res/values-gu-rIN/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"સ્ક્રીન પિનિંગ"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"શોધ"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> પ્રારંભ કરી શકાયું નથી."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"સુરક્ષિત મોડમાં <xliff:g id="APP">%s</xliff:g> અક્ષમ કરેલ છે."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"ઇતિહાસ"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"સાફ કરો"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"આડું વિભક્ત કરો"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"સાવ\nશાંતિ"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"ફક્ત\nપ્રાધાન્યતા"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"ફક્ત\nએલાર્મ્સ"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"તમામ"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"બધી\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"ચાર્જ થઈ રહ્યું છે (પૂર્ણ થવામાં <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> બાકી)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"ઝડપથી ચાર્જિંગ થઇ રહી છે (પૂર્ણ થવામાં <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> બાકી)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"ધીમેથી ચાર્જિંગ થઇ રહી છે (પૂર્ણ થવામાં <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> બાકી)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"ઘડિયાળ સેકન્ડ સ્થિતિ બારમાં બતાવો. બૅટરીની આવરદા પર અસર કરી શકે છે."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"ઝડપી સેટિંગ્સને ફરીથી ગોઠવો"</string>
<string name="show_brightness" msgid="6613930842805942519">"ઝડપી સેટિંગ્સમાં તેજ બતાવો"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"સ્પ્લિટ-સ્ક્રીન સ્વાઇપ-અપ ઍક્સલરેટર સક્ષમ કરો"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"સ્પ્લિટ-સ્ક્રીન સ્વાઇપ-અપ હાવભાવ સક્ષમ કરો"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"વિહંગાવલોકન બટનમાંથી સ્વાઇપ કરીને સ્પ્લિટ-સ્ક્રીનમાં દાખલ થવા માટે હાવભાવ સક્ષમ કરો"</string>
<string name="experimental" msgid="6198182315536726162">"પ્રાયોગિક"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth ચાલુ કરવુ છે?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"સ્ક્રીન પર ત્વરિત દ્રષ્ટિ કરો અને અવાજ કરો"</string>
<string name="notification_more_settings" msgid="816306283396553571">"વધુ સેટિંગ્સ"</string>
<string name="notification_done" msgid="5279426047273930175">"થઈ ગયું"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"સામાન્ય રંગો"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"રાત્રિ રંગો"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"કસ્ટમ રંગો"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"સ્વતઃ"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"અજાણ્યા રંગો"</string>
- <string name="color_transform" msgid="6985460408079086090">"રંગ સંશોધન"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"ઝડપી સેટિંગ્સ ટાઇલ બતાવો"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"કસ્ટમ રૂપાંતરણને સક્ષમ કરો"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"લાગુ કરો"</string>
<string name="color_revert_title" msgid="4746666545480534663">"સેટિંગ્સની પુષ્ટિ કરો"</string>
<string name="color_revert_message" msgid="9116001069397996691">"કેટલીક રંગ સેટિંગ્સ આ ઉપકરણને બિનઉપયોગી બનાવી શકે છે. આ રંગ સેટિંગ્સની પુષ્ટિ કરવા માટે ઑકે ક્લિક કરો, અન્યથા 10 સેકંડ પછી આ સેટિંગ્સ ફરીથી સેટ થશે."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"બૅટરી વપરાશ"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"ચાર્જિંગ દરમિયાન બૅટરી બચતકર્તા ઉપલબ્ધ નથી"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"બૅટરી બચતકર્તા"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"પ્રદર્શન અને પૃષ્ઠભૂમિ ડેટા ઘટાડે છે"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"હોમ"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"તાજેતરના"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"પાછળ"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"વૉલ્યૂમમાં ખલેલ પાડશો નહીં બતાવો"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"વૉલ્યૂમ સંવાદમાં ખલેલ પાડશો નહીંના સંપૂર્ણ નિયંત્રણની મંજૂરી આપો."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"વૉલ્યૂમ અને ખલેલ પાડશો નહીં"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"વૉલ્યૂમ ઘટાડવા પર ખલેલ પાડશો નહીંમાં દાખલ થાઓ"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"વૉલ્યૂમ વધારવા પર ખલેલ પાડશો નહીંમાંથી બહાર નિકળો"</string>
<string name="battery" msgid="7498329822413202973">"બૅટરી"</string>
<string name="clock" msgid="7416090374234785905">"ઘડિયાળ"</string>
<string name="headset" msgid="4534219457597457353">"હેડસેટ"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"હેડફોન કનેક્ટ કર્યાં"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"હેડસેટ કનેક્ટ કર્યો"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"સ્થિતિ બારમાં બતાવવામાં આવતા આઇકન્સને સક્ષમ અથવા અક્ષમ કરો."</string>
<string name="data_saver" msgid="5037565123367048522">"ડેટા સેવર"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"ડેટા સેવર ચાલુ છે"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"ડેટા સેવર બંધ છે"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"ચાલુ"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"નેવિગેશન બાર"</string>
<string name="start" msgid="6873794757232879664">"પ્રારંભ કરો"</string>
<string name="center" msgid="4327473927066010960">"મધ્ય"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"પૂર્વાવલોકન કરો"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"ટાઇલ્સ ઉમેરવા માટે ખેંચો"</string>
<string name="qs_edit" msgid="2232596095725105230">"સંપાદિત કરો"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index 7349827..68c7d70 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"पूरी तरह\nशांत"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"केवल\nप्राथमिकता"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"केवल\nअलार्म"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"सभी"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"सभी\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"चार्ज हो रहा है (पूरा होने में <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> बाकी)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"तेज़ी से चार्ज हो रहा है (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> में हो जाएगा)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"धीरे चार्ज हो रहा है (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> में पूरा हो जाएगा)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"स्थिति बार में घड़ी के सेकंड दिखाएं. इससे बैटरी के जीवनकाल पर प्रभाव पड़ सकता है."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"त्वरित सेटिंग को पुन: व्यवस्थित करें"</string>
<string name="show_brightness" msgid="6613930842805942519">"त्वरित सेटिंग में स्क्रीन की रोशनी दिखाएं"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"ऊपर स्वाइप करके स्क्रीन विभाजन की त्वरित सुविधा सक्षम करें"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"ऊपर स्वाइप करके विभाजित स्क्रीन में जाने का जेस्चर सक्षम करें"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"अवलोकन बटन से ऊपर स्वाइप करके स्क्रीन विभाजन में आने का हावभाव सक्षम करें"</string>
<string name="experimental" msgid="6198182315536726162">"प्रयोगात्मक"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"ब्लूटूथ चालू करें?"</string>
@@ -467,14 +465,18 @@
<string name="notification_importance_max" msgid="5236987171904756134">"स्क्रीन पर एक झलक दिखाएं और ध्वनि चलाएं"</string>
<string name="notification_more_settings" msgid="816306283396553571">"और सेटिंग"</string>
<string name="notification_done" msgid="5279426047273930175">"हो गया"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"सामान्य रंग"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"रात्रि के रंग"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"कस्टम रंग"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"स्वतः"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"अज्ञात रंग"</string>
- <string name="color_transform" msgid="6985460408079086090">"रंग परिवर्तन"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"त्वरित-सेटिंग टाइल दिखाएं"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"कस्टम रूपांतरण सक्षम करें"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"रंग और दिखावट"</string>
+ <string name="night_mode" msgid="3540405868248625488">"रात्रि मोड"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"स्क्रीन को कैलिब्रेट करें"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"चालू"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"बंद"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"अपने आप चालू करें"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"स्थान और दिन के समय के लिए उपयुक्त रात्रि मोड में बदलें"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"रात्रि मोड के चालू होने पर"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Android OS के लिए गहरी थीम का उपयोग करें"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"टिंट समायोजित करें"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"स्क्रीन की रोशनी समायोजित करें"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"गहरी थीम को Android OS के मुख्य क्षेत्रों पर लागू किया जाता है जिन्हें सामान्यतः सेटिंग और नोटिफिकेशन जैसी हल्की थीम में प्रदर्शित किया जाता है."</string>
<string name="color_apply" msgid="9212602012641034283">"लागू करें"</string>
<string name="color_revert_title" msgid="4746666545480534663">"सेेटिंग की पुष्टि करें"</string>
<string name="color_revert_message" msgid="9116001069397996691">"कुछ रंग सेटिंग इस डिवाइस को अनुपयोगी बना सकती हैं. इन रंग सेटिंग की पुष्टि करने के लिए ठीक क्लिक करें, अन्यथा 10 सेकंड के बाद ये सेटिंग रीसेट हो जाएंगी."</string>
@@ -486,21 +488,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"होम"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"हाल ही के"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"वापस जाएं"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"वॉल्यूम में परेशान न करें दिखाएं"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"वॉल्यूम संवाद में परेशान न करें के पूर्ण नियंत्रण की अनुमति दें."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"वॉल्यूम और परेशान न करें"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"वॉल्यूम कम करें पर परेशान न करें डालें"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"वॉल्यूम नियंत्रणों के साथ दिखाएं"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"परेशान न करें"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"वॉल्यूम बटन का शॉर्टकट"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"वॉल्यूम बढ़ाएं पर परेशान न करें से बाहर निकलें"</string>
<string name="battery" msgid="7498329822413202973">"बैटरी"</string>
<string name="clock" msgid="7416090374234785905">"घड़ी"</string>
<string name="headset" msgid="4534219457597457353">"हैडसेट"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"हेडफ़ोन कनेक्ट किए गए"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"हैडसेट कनेक्ट किया गया"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"आइकन को स्थिति बार में दिखाए जाने से सक्षम या अक्षम करें."</string>
<string name="data_saver" msgid="5037565123367048522">"डेटा बचतकर्ता"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"डेटा बचतकर्ता चालू है"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"डेटा बचतकर्ता बंद है"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"चालू"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"बंद"</string>
<string name="nav_bar" msgid="1993221402773877607">"नेविगेशन बार"</string>
<string name="start" msgid="6873794757232879664">"प्रारंभ करें"</string>
<string name="center" msgid="4327473927066010960">"मध्य"</string>
@@ -523,4 +524,15 @@
<string name="preview" msgid="9077832302472282938">"पूर्वावलोकन"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"टाइलों को जोड़ने के लिए खींचें"</string>
<string name="qs_edit" msgid="2232596095725105230">"संपादित करें"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"समय"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"घंटे, मिनट और सेकंड दिखाएं"</item>
+ <item msgid="1427801730816895300">"घंटे और मिनट दिखाएं (डिफ़ॉल्ट)"</item>
+ <item msgid="3830170141562534721">"यह आइकन ना दिखाएं"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"हमेशा प्रतिशत दिखाएं"</item>
+ <item msgid="2139628951880142927">"चार्ज होते समय प्रतिशत दिखाएं (डिफ़ॉल्ट)"</item>
+ <item msgid="3327323682209964956">"यह आइकन ना दिखाएं"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index 06721174..e5fb6d3 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -335,8 +335,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Potpuna\ntišina"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Samo\nprioritetno"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Samo\nalarmi"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Sve"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Svi\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Punjenje (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> do napunjenosti)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Brzo punjenje (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> do napunjenosti)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Sporo punjenje (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> do napunjenosti)"</string>
@@ -449,7 +447,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Prikazuju se sekunde na satu na traci statusa. Može utjecati na trajanje baterije."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Promijeni raspored Brzih postavki"</string>
<string name="show_brightness" msgid="6613930842805942519">"Prikaži svjetlinu u Brzim postavkama"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Omogući ubrzanje za podijeljen zaslon povlačenjem prema gore"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Omogući pokret povlačenja prema gore za podijeljen zaslon"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Omogućivanje pokreta za otvaranje podijeljenog zaslona tako da se od gumba Pregled prstom prijeđe prema gore"</string>
<string name="experimental" msgid="6198182315536726162">"Eksperimentalno"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Želite li uključiti Bluetooth?"</string>
@@ -469,14 +467,18 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Prikaži na zaslonu i emitiraj zvučni signal"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Više postavki"</string>
<string name="notification_done" msgid="5279426047273930175">"Gotovo"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Uobičajene boje"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Noćne boje"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Prilagođene boje"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automatski"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Nepoznate boje"</string>
- <string name="color_transform" msgid="6985460408079086090">"Izmjena boja"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Prikaži pločicu s brzim postavkama"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Omogući prilagođenu preobrazbu"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"Boja i izgled"</string>
+ <string name="night_mode" msgid="3540405868248625488">"Noćni način rada"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"Kalibriranje zaslona"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"Uključeno"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"Isključeno"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"Uključi automatski"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"Prebacivanje na noćni način rada prema lokaciji i dobu dana"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"Kada je noćni način rada uključen"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Koristi tamnu temu za OS Android"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"Prilagodi nijansu"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"Prilagodi svjetlinu"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"Tamna se tema primjenjuje na glavna područja OS-a Android koja se inače prikazuju u svijetloj temi, primjerice postavke i obavijesti."</string>
<string name="color_apply" msgid="9212602012641034283">"Primijeni"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Potvrdite postavke"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Neke postavke boja mogu učiniti uređaj neupotrebljivim. Kliknite U redu da biste potvrdili postavke boja jer će se u suprotnom poništiti za 10 sekundi."</string>
@@ -488,21 +490,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Početni zaslon"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Najnovije"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Natrag"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Prikaži \"Ne uznemiravaj\" u glasnoći"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Dopušta potpunu kontrolu nad načinom \"Ne uznemiravaj\" u dijaloškom okviru glasnoće."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Glasnoća i Ne uznemiravaj"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Pokreni \"Ne uznemiravaj\" kada je zvuk stišan"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"Prikaži s kontrolama glasnoće"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"Ne uznemiravaj"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"Prečac tipki za glasnoću"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"Zaustavi \"Ne uznemiravaj\" kada je zvuk pojačan"</string>
<string name="battery" msgid="7498329822413202973">"Baterija"</string>
<string name="clock" msgid="7416090374234785905">"Sat"</string>
<string name="headset" msgid="4534219457597457353">"Slušalice"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Slušalice su povezane"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Slušalice su povezane"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Omogućuje ili onemogućuje prikazivanje ikona na traci statusa."</string>
<string name="data_saver" msgid="5037565123367048522">"Ušteda podataka"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Ušteda podataka je uključena"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Ušteda podataka je isključena"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Uključeno"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"Isključeno"</string>
<string name="nav_bar" msgid="1993221402773877607">"Navigacijska traka"</string>
<string name="start" msgid="6873794757232879664">"Početak"</string>
<string name="center" msgid="4327473927066010960">"Sredina"</string>
@@ -525,4 +526,15 @@
<string name="preview" msgid="9077832302472282938">"Pregled"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Povucite da biste dodali pločice"</string>
<string name="qs_edit" msgid="2232596095725105230">"Uredi"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"Vrijeme"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"Prikaži sate, minute i sekunde"</item>
+ <item msgid="1427801730816895300">"Prikaži sate i minute (zadano)"</item>
+ <item msgid="3830170141562534721">"Ne prikazuj tu ikonu"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"Uvijek prikazuj postotak"</item>
+ <item msgid="2139628951880142927">"Prikazuj postotak tijekom punjenja (zadano)"</item>
+ <item msgid="3327323682209964956">"Ne prikazuj tu ikonu"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index 0dd5d45..083a46e 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Teljes\nnémítás"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Csak\nprioritás"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Csak\nriasztások"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Összes"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Összes\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Töltés (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> a teljes töltöttségig)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Gyors töltés (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> a teljes töltöttségig)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Lassú töltés (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> a teljes töltöttségig)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Másodpercek megjelenítése az állapotsor óráján. Ez hatással lehet az akkumulátor üzemidejére."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Gyorsbeállítások átrendezése"</string>
<string name="show_brightness" msgid="6613930842805942519">"Fényerő megjelenítése a gyorsbeállításokban"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Osztott képernyő engedélyezése felfelé söpréssel"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Képernyőfelosztó gyors felfelé csúsztatás engedélyezése"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Kézmozdulat engedélyezése osztott képernyős nézet aktiválásához, ha az Áttekintés gombról felfelé húzza az ujját"</string>
<string name="experimental" msgid="6198182315536726162">"Kísérleti"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Engedélyezi a Bluetooth-kapcsolatot?"</string>
@@ -467,14 +465,30 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Az értesítések felugranak a képernyőn hangjelzéssel"</string>
<string name="notification_more_settings" msgid="816306283396553571">"További beállítások"</string>
<string name="notification_done" msgid="5279426047273930175">"Kész"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Hagyományos színek"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Esti színek"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Egyéni színek"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automatikus"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Ismeretlen színek"</string>
- <string name="color_transform" msgid="6985460408079086090">"Színmódosítás"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Gyorsbeállítások mozaikjának megjelenítése"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Egyéni átalakítás engedélyezése"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Alkalmaz"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Beállítások megerősítése"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Bizonyos színbeállítások használhatatlanná tehetik ezt az eszközt. A színbeállítás megerősítéséhez kattintson az OK lehetőségre, máskülönben a rendszer 10 másodpercen belül visszaáll a korábbira."</string>
@@ -486,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Otthon"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Legutóbbiak"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Vissza"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"A „Ne zavarjanak” funkció megjelenítése a hangvezérlőben"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"A „Ne zavarjanak” funkció teljes körű vezérlésének engedélyezése a hangerővezérlési párbeszédpanelon."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Hangvezérlő és „Ne zavarjanak” funkció"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"„Ne zavarjanak” aktiválása hangerőcsökkentéskor"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"„Ne zavarjanak” deaktiválása hangerőnöveléskor"</string>
<string name="battery" msgid="7498329822413202973">"Akkumulátor"</string>
<string name="clock" msgid="7416090374234785905">"Óra"</string>
<string name="headset" msgid="4534219457597457353">"Headset"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Fejhallgató csatlakoztatva"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Headset csatlakoztatva"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Ikonok megjelenítése és elrejtése az állapotsoron."</string>
<string name="data_saver" msgid="5037565123367048522">"Adatforgalom-csökkentő"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Az adatforgalom-csökkentő be van kapcsolva"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Az Adatforgalom-csökkentő ki van kapcsolva"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Be"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Navigációs sáv"</string>
<string name="start" msgid="6873794757232879664">"Kezdés"</string>
<string name="center" msgid="4327473927066010960">"Igazítás középre"</string>
@@ -523,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Előnézet"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Húzza csempe hozzáadásához"</string>
<string name="qs_edit" msgid="2232596095725105230">"Szerkesztés"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-hy-rAM/strings.xml b/packages/SystemUI/res/values-hy-rAM/strings.xml
index 4f4af55..64058e4 100644
--- a/packages/SystemUI/res/values-hy-rAM/strings.xml
+++ b/packages/SystemUI/res/values-hy-rAM/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"էկրանի ամրակցում"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"որոնել"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Հնարավոր չէ գործարկել <xliff:g id="APP">%s</xliff:g>-ը:"</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> հավելվածը անվտանգ ռեժիմում կասեցված է:"</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Պատմություն"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Մաքրել"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Հորիզոնական տրոհում"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Ընդհանուր\nլուռ վիճակը"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Միայն\nկարևորները"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Միայն\nզարթուցիչ"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Բոլորը"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Բոլորը\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Լիցքավորում (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> մինչև լրիվ լիցքավորումը)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Արագ լիցքավորում (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>՝ մինչև ավարտ)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Դանդաղ լիցքավորում (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>՝ մինչև ավարտ)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Ցույց տալ ժամացույցի վայրկյանները կարգավիճակի տողում: Կարող է ազդել մարտկոցի աշխատանքի ժամանակի վրա:"</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Վերադասավորել Արագ կարգավորումները"</string>
<string name="show_brightness" msgid="6613930842805942519">"Ցույց տալ պայծառությունն Արագ կարգավորումներում"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Միացնել մատը վերև սահեցնելով էկրանը տրոհելու արագացուցիչը"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Ակտիվացնել մատը վերև սահեցնելով էկրանը տրոհելու ժեստը"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Միացնել Համատեսք կոճակից մատը դեպի վերև սահեցնելու միջոցով տրոհված էկրանի ռեժիմ անցնելու ժեստը"</string>
<string name="experimental" msgid="6198182315536726162">"Փորձնական"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Միացնե՞լ Bluetooth-ը:"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Ցուցադրել էկրանին և հնչեցնել ձայնային ազդանշան"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Այլ կարգավորումներ"</string>
<string name="notification_done" msgid="5279426047273930175">"Պատրաստ է"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Սովորական գույներ"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Գիշերային գույներ"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Հատուկ գույներ"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Ավտոմատ"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Անհայտ գույներ"</string>
- <string name="color_transform" msgid="6985460408079086090">"Գույնի փոփոխում"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Ցույց տալ Արագ կարգավորումների սալիկը"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Միացնել հատուկ գունային անցումը"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Կիրառել"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Հաստատել կարգավորումները"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Գունային որոշ կարգավորումները կարող են այս սարքը օգտագործման համար ոչ պիտանի դարձնել: Սեղմեք Լավ կոճակը՝ գունային այս կարգավորումները հաստատելու համար: Հակառակ դեպքում այս կարգավորումները կվերակայվեն 10 վայրկյան հետո:"</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Մարտկոցի օգտագործում"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Մարտկոցի տնտեսումը լիցքավորման ժամանակ հասանելի չէ"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Մարտկոցի տնտեսում"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Նվազեցնում է ծանրաբեռնվածությունը և ֆոնային տվյալները"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Գլխավոր էջ"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Վերջինները"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Հետ"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Ցույց տալ Չխանգարել գործառույթը ձայնի կառավարման պատուհանում"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Թույլատրել Չխանգարել գործառույթի ամբողջական վերահսկումը ձայնի կառավարման պատուհանում:"</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Ձայնի ուժգնություն և Չխանգարել գործառույթ"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Մտնել Չխանգարել գործառույթ ձայնի նվազեցման կոճակը սեղմելիս"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Ելնել Չխանգարել գործառույթից ձայնի ավելացման կոճակը սեղմելիս"</string>
<string name="battery" msgid="7498329822413202973">"Մարտկոց"</string>
<string name="clock" msgid="7416090374234785905">"Ժամացույց"</string>
<string name="headset" msgid="4534219457597457353">"Ականջակալ"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Ականջակալը կապակցված է"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Ականջակալը կապակցված է"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Միացնել կամ անջատել պատկերակների ցուցադրումը կարգավիճակի գոտում:"</string>
<string name="data_saver" msgid="5037565123367048522">"Տվյալների խնայում"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Տվյալների խնայումը միացված է"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Տվյալների խնայումն անջատված է"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Միացնել"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Նավարկման գոտի"</string>
<string name="start" msgid="6873794757232879664">"Սկսել"</string>
<string name="center" msgid="4327473927066010960">"Կենտրոն"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Նախադիտում"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Քաշեք՝ սալիկներ ավելացնելու համար"</string>
<string name="qs_edit" msgid="2232596095725105230">"Փոփոխել"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index fa359ad..c91d6fc 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"pin ke layar"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"telusuri"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Tidak dapat memulai <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> dinonaktifkan dalam mode aman."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Riwayat"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Hapus"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Pisahkan Horizontal"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Senyap\ntotal"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Hanya\nprioritas"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Hanya\nalarm"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Semua"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Semua\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Mengisi daya (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> hingga penuh)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Mengisi daya dengan cepat (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> hingga penuh)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Mengisi daya dengan lambat (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> hingga penuh)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Tampilkan detik jam di bilah status. Dapat memengaruhi masa pakai baterai."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Atur Ulang Setelan Cepat"</string>
<string name="show_brightness" msgid="6613930842805942519">"Tampilkan kecerahan di Setelan Cepat"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Aktifkan akselerator gesek atas untuk layar terpisah"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Aktifkan isyarat gesek atas untuk layar terpisah"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Aktifkan isyarat untuk masuk layar terpisah dengan menggesek tombol Ringkasan ke atas"</string>
<string name="experimental" msgid="6198182315536726162">"Eksperimental"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Aktifkan Bluetooth?"</string>
@@ -468,19 +465,22 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Muncul di layar dan bunyikan suara"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Setelan lainnya"</string>
<string name="notification_done" msgid="5279426047273930175">"Selesai"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Warna normal"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Warna malam"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Warna khusus"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Otomatis"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Warna tidak diketahui"</string>
- <string name="color_transform" msgid="6985460408079086090">"Perubahan warna"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Tampilkan ubin Setelan Cepat"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Aktifkan transformasi khusus"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"Warna dan tampilan"</string>
+ <string name="night_mode" msgid="3540405868248625488">"Mode malam"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"Kalibrasi layar"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"Aktif"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"Nonaktif"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"Aktifkan secara otomatis"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"Beralih ke Mode Malam yang sesuai untuk lokasi dan waktu"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"Saat Mode Malam aktif"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Gunakan tema gelap untuk OS Android"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"Sesuaikan rona"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"Sesuaikan kecerahan"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"Tema gelap diterapkan ke area inti OS Android yang biasanya ditampilkan di tema terang, seperti Setelan dan notifikasi."</string>
<string name="color_apply" msgid="9212602012641034283">"Terapkan"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Konfirmasi setelan"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Beberapa setelan warna dapat membuat perangkat ini tidak dapat digunakan. Klik OKE untuk mengonfirmasi setelan warna ini. Jika tidak, setelan ini akan disetel ulang setelah 10 detik."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Pemakaian baterai"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Penghemat Baterai tidak tersedia selama pengisian daya"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Penghemat Baterai"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Mengurangi performa dan data latar belakang"</string>
@@ -488,21 +488,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Layar Utama"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Terbaru"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Kembali"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Tampilkan mode jangan ganggu di volume"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Izinkan kontrol penuh dari mode jangan mengganggu di dialog volume."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volume dan mode Jangan ganggu"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Masukkan mode jangan ganggu di tombol kecilkan volume"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"Tampilkan dengan kontrol volume"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"Jangan ganggu"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"Pintasan tombol volume"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"Keluar dari mode jangan ganggu di tombol keraskan volume"</string>
<string name="battery" msgid="7498329822413202973">"Baterai"</string>
<string name="clock" msgid="7416090374234785905">"Jam"</string>
<string name="headset" msgid="4534219457597457353">"Headset"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Headphone terhubung"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Headset terhubung"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Aktifkan atau nonaktifkan ikon yang ditampilkan di bilah status."</string>
<string name="data_saver" msgid="5037565123367048522">"Penghemat Data"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Penghemat Data aktif"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Penghemat Data nonaktif"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Aktif"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"Nonaktif"</string>
<string name="nav_bar" msgid="1993221402773877607">"Bilah navigasi"</string>
<string name="start" msgid="6873794757232879664">"Awal"</string>
<string name="center" msgid="4327473927066010960">"Tengah"</string>
@@ -525,4 +524,15 @@
<string name="preview" msgid="9077832302472282938">"Pratinjau"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Seret untuk menambahkan ubin"</string>
<string name="qs_edit" msgid="2232596095725105230">"Edit"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"Waktu"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"Tampilkan jam, menit, dan detik"</item>
+ <item msgid="1427801730816895300">"Tampilkan jam dan menit (default)"</item>
+ <item msgid="3830170141562534721">"Jangan tampilkan ikon ini"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"Selalu tampilkan persentase"</item>
+ <item msgid="2139628951880142927">"Tampilkan persentase saat mengisi daya (default)"</item>
+ <item msgid="3327323682209964956">"Jangan tampilkan ikon ini"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-is-rIS/strings.xml b/packages/SystemUI/res/values-is-rIS/strings.xml
index 2fca674..25e5da8 100644
--- a/packages/SystemUI/res/values-is-rIS/strings.xml
+++ b/packages/SystemUI/res/values-is-rIS/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"skjáfesting"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"leita"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Ekki var hægt að ræsa <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"Slökkt er á <xliff:g id="APP">%s</xliff:g> í öruggri stillingu."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Ferill"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Hreinsa"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Lárétt skipting"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Algjör\nþögn"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Aðeins\nforgangur"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Aðeins\nvekjarar"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Allar"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Allar\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Í hleðslu (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> fram að fullri hleðslu)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Í hraðri hleðslu (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> fram að fullri hleðslu)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Í hægri hleðslu (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> fram að fullri hleðslu)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Sýna sekúndur á klukku í stöðustikunni. Getur haft áhrif á endingu rafhlöðu."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Endurraða flýtistillingum"</string>
<string name="show_brightness" msgid="6613930842805942519">"Sýna birtustig í flýtistillingum"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Virkja skjáskiptingu með því að strjúka upp"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Virkja skjáskiptingu með því að strjúka upp"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Virkja skjáskiptingarbendingu með því að strjúka upp frá yfirlitshnappi"</string>
<string name="experimental" msgid="6198182315536726162">"Tilraunastillingar"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Kveikja á Bluetooth?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Birta á skjánum og spila hljóð"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Fleiri stillingar"</string>
<string name="notification_done" msgid="5279426047273930175">"Lokið"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Venjulegir litir"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Næturlitir"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Sérsniðnir litir"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Sjálfvirkt"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Óþekktir litir"</string>
- <string name="color_transform" msgid="6985460408079086090">"Litabreytingar"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Sýna flísar í flýtistillingum"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Kveikja á sérsniðinni umbreytingu"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Nota"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Staðfesta stillingar"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Sumar litastillingar kunna að bitna á notagildi tækisins. Veldu „Í lagi“ til að staðfesta þessar litastillingar, að öðrum kosti verða litirnir endurstilltir eftir tíu sekúndur."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Rafhlöðunotkun"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Ekki er hægt að nota rafhlöðusparnað meðan á hleðslu stendur"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Rafhlöðusparnaður"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Dregur úr afköstum og bakgrunnsgögnum"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Heim"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Nýlegt"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Til baka"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Sýna „Ónáðið ekki“ í hljóðstyrksvali"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Leyfa fulla stjórn á stillingunni „Ónáðið ekki“ í hljóðstyrksglugganum."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Hljóðstyrkur og „Ónáðið ekki“"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Kveikja á „Ónáðið ekki“ með því að lækka"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Slökkva á „Ónáðið ekki“ með því að hækka"</string>
<string name="battery" msgid="7498329822413202973">"Rafhlaða"</string>
<string name="clock" msgid="7416090374234785905">"Klukka"</string>
<string name="headset" msgid="4534219457597457353">"Höfuðtól"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Heyrnartól tengd"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Höfuðtól tengt"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Birtu eða feldu myndtákn í stöðustikunni."</string>
<string name="data_saver" msgid="5037565123367048522">"Gagnasparnaður"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Kveikt er á gagnasparnaði"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Slökkt er á gagnasparnaði"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Kveikt"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Yfirlitsstika"</string>
<string name="start" msgid="6873794757232879664">"Byrja"</string>
<string name="center" msgid="4327473927066010960">"Miðja"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Forskoðun"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Dragðu til að bæta við reitum"</string>
<string name="qs_edit" msgid="2232596095725105230">"Breyta"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index c2c05b4..4457e1b 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"blocco su schermo"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"cerca"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Impossibile avviare <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"L\'app <xliff:g id="APP">%s</xliff:g> è stata disattivata in modalità provvisoria."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Cronologia"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Cancella"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Divisione in orizzontale"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Silenzio\ntotale"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Solo con\npriorità"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Solo\nsveglie"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Tutte"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Tutte\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"In carica (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> al termine)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Ricarica veloce (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> al termine)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Ricarica lenta (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> al termine)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Mostra i secondi nell\'orologio nella barra di stato. Ciò potrebbe ridurre la durata della carica della batteria."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Riorganizza Impostazioni rapide"</string>
<string name="show_brightness" msgid="6613930842805942519">"Mostra luminosità in Impostazioni rapide"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Attiva Schermo diviso mediante scorrimento verso l\'alto"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Attiva Schermo diviso mediante scorrimento verso l\'alto"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Consente di attivare la modalità Schermo diviso scorrendo verso l\'alto dal pulsante Panoramica"</string>
<string name="experimental" msgid="6198182315536726162">"Sperimentali"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Attivare il Bluetooth?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Apri sullo schermo e riproduci suono"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Altre impostazioni"</string>
<string name="notification_done" msgid="5279426047273930175">"Fine"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Colori normali"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Colori per la notte"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Colori personalizzati"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automatico"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Colori sconosciuti"</string>
- <string name="color_transform" msgid="6985460408079086090">"Modifica del colore"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Mostra il riquadro Impostazioni rapide"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Attiva la trasformazione personalizzata"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Applica"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Conferma le impostazioni"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Alcune impostazioni relative ai colori potrebbero rendere inutilizzabile il dispositivo. Fai clic su OK per confermare queste impostazioni; in caso contrario, le impostazioni verranno reimpostate dopo 10 secondi."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Utilizzo batteria"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Risparmio energetico non disponibile durante la ricarica"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Risparmio energetico"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Riduce le prestazioni e i dati in background"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Home"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Recenti"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Indietro"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Mostra Non disturbare nella finestra del volume"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Consenti il controllo totale della funzione Non disturbare nella finestra di dialogo del volume."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volume e Non disturbare"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Attiva Non disturbare all\'abbassamento del volume"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Disattiva Non disturbare all\'aumento del volume"</string>
<string name="battery" msgid="7498329822413202973">"Batteria"</string>
<string name="clock" msgid="7416090374234785905">"Orologio"</string>
<string name="headset" msgid="4534219457597457353">"Auricolare"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Cuffie collegate"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Auricolare collegato"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Consente di attivare o disattivare la visualizzazione delle icone nella barra di stato."</string>
<string name="data_saver" msgid="5037565123367048522">"Risparmio dati"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Risparmio dati attivo"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Risparmio dati disattivato"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Attiva"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Barra di navigazione"</string>
<string name="start" msgid="6873794757232879664">"All\'inizio"</string>
<string name="center" msgid="4327473927066010960">"Al centro"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Anteprima"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Trascina per aggiungere i riquadri"</string>
<string name="qs_edit" msgid="2232596095725105230">"Modifica"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index 2601d36..8af9575 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -303,8 +303,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"הצמדת מסך"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"חפש"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"לא ניתן היה להפעיל את <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> מושבת במצב בטוח."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"היסטוריה"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"נקה"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"פיצול אופקי"</string>
@@ -336,8 +335,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"שקט\nמוחלט"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"התראות בעדיפות\nבלבד"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"התראות\nבלבד"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"הכל"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"הכל\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"טוען (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> עד לסיום)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"בטעינה מהירה (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> עד למילוי)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"בטעינה איטית (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> עד למילוי)"</string>
@@ -450,7 +447,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"הצג שניות בשעון בשורת הסטטוס. פעולה זו עשויה להשפיע על אורך חיי הסוללה."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"סידור מחדש של הגדרות מהירות"</string>
<string name="show_brightness" msgid="6613930842805942519">"הצג בהירות בהגדרות מהירות"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"הפעל מאיץ מסך מפוצל על ידי החלקה כלפי מעלה"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"הפעל מסך מפוצל על ידי תנועת החלקה כלפי מעלה"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"הפעל את התנועה לכניסה למסך מפוצל על ידי החלקה כלפי מעלה מלחצן הסקירה"</string>
<string name="experimental" msgid="6198182315536726162">"ניסיוניות"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"האם להפעיל את ה-Bluetooth?"</string>
@@ -470,19 +467,22 @@
<string name="notification_importance_max" msgid="5236987171904756134">"הצג לרגע על המסך והשמע צליל"</string>
<string name="notification_more_settings" msgid="816306283396553571">"הגדרות נוספות"</string>
<string name="notification_done" msgid="5279426047273930175">"סיום"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"צבעים רגילים"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"צבעי לילה"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"צבעים מותאמים אישית"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"אוטומטי"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"צבעים לא ידועים"</string>
- <string name="color_transform" msgid="6985460408079086090">"שינוי צבע"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"הצגת אריח של הגדרות מהירות"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"הפעל טרנספורמציה מותאמת אישית"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"צבע ומראה"</string>
+ <string name="night_mode" msgid="3540405868248625488">"מצב לילה"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"כיול תצוגה"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"פועל"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"כבוי"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"הפעל אוטומטית"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"החלף למצב לילה בהתאם למיקום ולשעה ביום"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"כאשר מצב לילה מופעל"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"השתמש בעיצוב כהה למערכת ההפעלה של Android."</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"התאמת גוון"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"התאמת בהירות"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"העיצוב הכהה מוחל על התחומים העיקריים במערכת ההפעלה של Android שמוצגים בדרך כלל בעיצוב בהיר, כמו \'הגדרות\' ו\'הודעות\'."</string>
<string name="color_apply" msgid="9212602012641034283">"החל"</string>
<string name="color_revert_title" msgid="4746666545480534663">"אישור הגדרות"</string>
<string name="color_revert_message" msgid="9116001069397996691">"הגדרות צבע מסוימות עלולות להפוך את המכשיר הזה לבלתי שמיש. לחץ על אישור כדי לאשר את הגדרות הצבע האלה, אחרת הגדרות אלה יתאפסו לאחר 10 שניות."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"שימוש בסוללה"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"תכונת החיסכון בסוללה אינה זמינה בעת טעינת המכשיר"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"חיסכון בסוללה"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"מפחית את רמת הביצועים ואת נתוני הרקע"</string>
@@ -490,21 +490,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"דף הבית"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"אחרונים"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"הקודם"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"הצג את החלונית \'נא לא להפריע\' בעוצמת הקול"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"אפשר שליטה מלאה בחלונית \'נא לא להפריע\' בתיבת הדו-שיח של עוצמת הקול."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"עוצמת הקול והאפשרות \'נא לא להפריע\'"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"היכנס לאפשרות \'נא לא להפריע\' בהחלשת עוצמת הקול"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"הצג עם פקדי עוצמת הקול"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"נא לא להפריע"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"מקש קיצור ללחצני עוצמת קול"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"צא מהאפשרות \'נא לא להפריע\' בהגברת עוצמת הקול"</string>
<string name="battery" msgid="7498329822413202973">"סוללה"</string>
<string name="clock" msgid="7416090374234785905">"שעון"</string>
<string name="headset" msgid="4534219457597457353">"אוזניות"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"אוזניות מחוברות"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"אוזניות מחוברות"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"הפעלה או השבתה של סמלים המוצגים בשורת הסטטוס."</string>
<string name="data_saver" msgid="5037565123367048522">"חוסך הנתונים (Data Saver)"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"חוסך הנתונים (Data Saver) פועל"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"חוסך הנתונים (Data Saver) כבוי"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"פועל"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"כבוי"</string>
<string name="nav_bar" msgid="1993221402773877607">"סרגל ניווט"</string>
<string name="start" msgid="6873794757232879664">"התחלה"</string>
<string name="center" msgid="4327473927066010960">"מרכז"</string>
@@ -527,4 +526,15 @@
<string name="preview" msgid="9077832302472282938">"תצוגה מקדימה"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"גרור כדי להוסיף משבצות"</string>
<string name="qs_edit" msgid="2232596095725105230">"ערוך"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"שעה"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"הצג שעות, דקות ושניות"</item>
+ <item msgid="1427801730816895300">"הצג שעות ודקות (ברירת מחדל)"</item>
+ <item msgid="3830170141562534721">"אל תציג את הסמל הזה"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"הצג תמיד באחוזים"</item>
+ <item msgid="2139628951880142927">"הצג באחוזים בזמן טעינה (ברירת מחדל)"</item>
+ <item msgid="3327323682209964956">"אל תציג את הסמל הזה"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index 27b3854..65d73ec 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"画面固定"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"検索"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g>を開始できません。"</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"「<xliff:g id="APP">%s</xliff:g>」はセーフモードでは無効になります。"</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"履歴"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"消去"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"横に分割"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"サイレント\n"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"重要な\n通知のみ"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"アラーム\nのみ"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"すべて"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"すべて\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"充電中(フル充電まで<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"急速充電中(完了まで<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"低速充電中(完了まで<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"ステータスバーに時計の秒を表示します。電池使用量に影響する可能性があります。"</string>
<string name="qs_rearrange" msgid="8060918697551068765">"クイック設定を並べ替え"</string>
<string name="show_brightness" msgid="6613930842805942519">"クイック設定に明るさ調整バーを表示する"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"スワイプアップ分割画面アクセラレータを有効にする"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"上にスワイプして分割画面に切り替える操作を有効にする"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"[概要] ボタンから上にスワイプして分割画面に切り替える操作を有効にします"</string>
<string name="experimental" msgid="6198182315536726162">"試験運用版"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"BluetoothをONにしますか?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"画面に数秒間表示し、音声でも知らせる"</string>
<string name="notification_more_settings" msgid="816306283396553571">"詳細設定"</string>
<string name="notification_done" msgid="5279426047273930175">"完了"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"標準の色"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"夜間の色"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"カスタムの色"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"自動"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"不明な色"</string>
- <string name="color_transform" msgid="6985460408079086090">"色の変更"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"[クイック設定] タイルの表示"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"カスタム変換の有効化"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"適用"</string>
<string name="color_revert_title" msgid="4746666545480534663">"設定の確認"</string>
<string name="color_revert_message" msgid="9116001069397996691">"一部の色設定を適用すると、この端末を使用できなくなることがあります。この色設定を確認するには、[OK] をクリックしてください。確認しない場合、10 秒後に設定はリセットされます。"</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"電池の使用状況"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"充電中はバッテリー セーバーは利用できません"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"バッテリー セーバー"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"パフォーマンスとバックグラウンド データを制限します"</string>
@@ -488,17 +500,18 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"ホーム"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"最近"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"戻る"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"音量内に [通知を非表示] を表示"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"音量ダイアログでの [通知を非表示] の管理を許可します。"</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"音量と [通知を非表示]"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"音量下げボタンで [通知を非表示] を ON にする"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"音量上げボタンで [通知を非表示] を OFF にする"</string>
<string name="battery" msgid="7498329822413202973">"電池"</string>
<string name="clock" msgid="7416090374234785905">"時計"</string>
<string name="headset" msgid="4534219457597457353">"ヘッドセット"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"ヘッドホンを接続しました"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"ヘッドセットを接続しました"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"ステータスバーでのアイコンの表示を有効または無効にします。"</string>
<!-- no translation found for data_saver (5037565123367048522) -->
<skip />
<!-- no translation found for accessibility_data_saver_on (8454111686783887148) -->
@@ -506,6 +519,8 @@
<!-- no translation found for accessibility_data_saver_off (8841582529453005337) -->
<skip />
<string name="switch_bar_on" msgid="1142437840752794229">"ON"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"ナビゲーション バー"</string>
<string name="start" msgid="6873794757232879664">"最初"</string>
<string name="center" msgid="4327473927066010960">"中央"</string>
@@ -528,4 +543,12 @@
<string name="preview" msgid="9077832302472282938">"プレビュー"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"タイルを追加するにはドラッグしてください"</string>
<string name="qs_edit" msgid="2232596095725105230">"編集"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-ka-rGE/strings.xml b/packages/SystemUI/res/values-ka-rGE/strings.xml
index dc48079..abe4e64 100644
--- a/packages/SystemUI/res/values-ka-rGE/strings.xml
+++ b/packages/SystemUI/res/values-ka-rGE/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"ეკრანზე ჩამაგრება"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"ძიება"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g>-ის გამოძახება ვერ მოხერხდა."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> გათიშულია უსაფრთხო რეჟიმში."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"ისტორია"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"გასუფთავება"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"ჰორიზონტალური გაყოფა"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"სრული\nსიჩუმე"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"მხოლოდ\nპრიორიტეტულები"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"მხოლოდ\nგაფრთხილებები"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"ყველა"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"ყველა\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"(<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>-ის შეცვლა დასრულებამდე)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"იტენება სწრაფად (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> სრულ დატენვამდე)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"იტენება ნელა (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> სრულ დატენვამდე)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"საათის წამების ჩვენება სტატუსის ზოლში. შეიძლება გავლენა იქონიოს ბატარეაზე."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"სწრაფი პარამეტრების გადაწყობა"</string>
<string name="show_brightness" msgid="6613930842805942519">"სიკაშკაშის ჩვენება სწრაფ პარამეტრებში"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"ზემოთ გადაფურცვლისას ეკრანის გაყოფის მაჩქარებლის ჩართვა"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"ზემოთ გადაფურცვლისას ეკრანის გაყოფის ჟესტის ჩართვა"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"მიმოხილვის ღილაკიდან ზემოთ გადაფურცვლისას ეკრანის გაყოფის რეჟიმზე გადასვლის ჟესტის ჩართვა"</string>
<string name="experimental" msgid="6198182315536726162">"ექსპერიმენტული"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"გსურთ Bluetooth-ის ჩართვა?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"ამ შეტყობინებების პირდაპირ ეკრანზე, ხმოვან სიგნალთან ერთად ჩვენება"</string>
<string name="notification_more_settings" msgid="816306283396553571">"დამატებითი პარამეტრები"</string>
<string name="notification_done" msgid="5279426047273930175">"მზადაა"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"ჩვეულებრივი ფერები"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"ღამის ფერები"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"მორგებული ფერები"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"ავტომატური"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"უცნობი ფერები"</string>
- <string name="color_transform" msgid="6985460408079086090">"ფერების შეცვლა"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"სწრაფი პარამეტრების მოზაიკის ჩვენება"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"მორგებული გარდაქმნის ჩართვა"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"გამოყენება"</string>
<string name="color_revert_title" msgid="4746666545480534663">"პარამეტრების დადასტურება"</string>
<string name="color_revert_message" msgid="9116001069397996691">"ფერთა ზოგიერთ პარამეტრს ამ მოწყობილობასთან მუშაობის გართულება შეუძლია. ფერთა ამჟამინდელი პარამეტრების დასადასტურებლად, დააწკაპუნეთ „კარგი“-ზე. წინააღმდეგ შემთხვევაში, პარამეტრები 10 წამის შემდეგ ჩამოიყრება."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"ბატარეის მოხმარება"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"ბატარეის დამზოგი დატენვისას მიწვდომელია"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"ბატარეის დამზოგი"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"ამცირებს წარმადობას და ფონურ მონაცემებს"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"მთავარი"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"ბოლოს გამოყენებული"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"უკან"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"ხმის დიალოგში „არ შემაწუხოთ“ რეჟიმის ჩვენება"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"ხმის დიალოგში „არ შემაწუხოთ“ რეჟიმის სრული კონტროლის დაშვება."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"ხმა და „არ შემაწუხოთ“"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"ხმის დაწევისას „არ შემაწუხოთ“ რეჟიმზე გადასვლა"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"ხმის აწევისას „არ შემაწუხოთ“ რეჟიმიდან გამოსვლა"</string>
<string name="battery" msgid="7498329822413202973">"ბატარეა"</string>
<string name="clock" msgid="7416090374234785905">"საათი"</string>
<string name="headset" msgid="4534219457597457353">"ყურსაცვამი"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"ყურსასმენები დაკავშირებულია"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"ყურსაცვამი დაკავშირებულია"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"სტატუსის ზოლში ხატულების ჩვენების ჩართვა ან გათიშვა."</string>
<string name="data_saver" msgid="5037565123367048522">"მონაცემთა დამზოგველი"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"მონაცემთა დამზოგველი ჩართულია"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"მონაცემთა დამზოგველი გამორთულია"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"ჩართული"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"ნავიგაციის ზოლი"</string>
<string name="start" msgid="6873794757232879664">"თავში"</string>
<string name="center" msgid="4327473927066010960">"ცენტრში"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"გადახედვა"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"ფილების დასამატებლად, გადაიტანეთ ჩავლებით"</string>
<string name="qs_edit" msgid="2232596095725105230">"რედაქტირება"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-kk-rKZ/strings.xml b/packages/SystemUI/res/values-kk-rKZ/strings.xml
index 1268e41..a9d6d18 100644
--- a/packages/SystemUI/res/values-kk-rKZ/strings.xml
+++ b/packages/SystemUI/res/values-kk-rKZ/strings.xml
@@ -334,8 +334,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Толық\nтыныштық"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Тек\nбасымдық"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Тек\nдабылдар"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Барлығы"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Барлығы\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Зарядталуда (толғанша <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Жылдам зарядталуда (толғанша <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Баяу зарядталуда (толғанша <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -448,7 +446,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Күйін көрсету жолағында сағат секундтарын көрсету. Батареяның қызмет көрсету мерзіміне әсер етуі мүмкін."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Жылдам параметрлерді қайта реттеу"</string>
<string name="show_brightness" msgid="6613930842805942519">"Жылдам параметрлерде жарықтықты көрсету"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Бөлінген экранды жоғары қарай жанау жеделдеткішін қосу"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Бөлінген экранда жоғары қарай жанау қимылын қосу"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"\"Шолу\" түймесінен жоғары қарай жанау арқылы бөлінген экранға кіру қимылын қосу"</string>
<string name="experimental" msgid="6198182315536726162">"Эксперименттік"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth функциясын қосу керек пе?"</string>
@@ -468,19 +466,22 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Экранға бекіту және дыбыс шығару"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Қосымша параметрлер"</string>
<string name="notification_done" msgid="5279426047273930175">"Дайын"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Қалыпты түстер"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Түнгі түстер"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Арнаулы түстер"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Авто"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Белгісіз түстер"</string>
- <string name="color_transform" msgid="6985460408079086090">"Түсті өзгерту"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Жылдам параметрлер торын көрсету"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Арнаулы түрлендіруді қосу"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"Түс және сыртқы түрі"</string>
+ <string name="night_mode" msgid="3540405868248625488">"Түнгі режим"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"Дисплейді калибрлеу"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"Қосулы"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"Өшірулі"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"Автоматты түрде қосу"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"Орынға және күн уақытына тиісті түнгі режимге ауысу"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"Түнгі режим қосулы кезде"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Android ОЖ үшін күңгірт тақырыпты пайдалану"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"Реңкті реттеу"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"Жарықтықты реттеу"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"Күңгірт тақырып Android операциялық жүйесінің әдетте ашық тақырыпта көрсетілетін негізгі аумақтарына қолданылады, мысалы, \"Параметрлер\" тармағына және хабарландыруларға."</string>
<string name="color_apply" msgid="9212602012641034283">"Қолдану"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Параметрлерді растау"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Кейбір түс параметрлері бұл құрылғыны пайдалану мүмкін емес етуі мүмкін. Бұл түс параметрлерін растау үшін OK түймесін басыңыз, әйтпесе параметрлер 10 секундтан кейін ысырылады."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Батареяны пайдалану"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Зарядтау кезінде Батарея үнемдегіш қол жетімді емес"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Батарея үнемдегіш"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Өнімділікті және фондық деректерді азайтады"</string>
@@ -488,21 +489,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Негізгі бет"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Жақындағылар"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Артқа"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Дыбыс деңгейінде \"Мазаламау\" режимін көрсету"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Дыбыс деңгейі диалогтық терезесінде \"Мазаламау\" режимін толық басқаруға рұқсат ету."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Дыбыс деңгейі және \"Мазаламау\""</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Дыбыс деңгейін төмендеткенде \"Мазаламау\" режиміне кіру"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"Дыбыс деңгейін басқару элементтерімен бірге көрсету"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"Мазаламау"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"Дыбыс деңгейі түймелерінің төте жолы"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"Дыбыс деңгейін көтергенде \"Мазаламау\" режимінен шығу"</string>
<string name="battery" msgid="7498329822413202973">"Батарея"</string>
<string name="clock" msgid="7416090374234785905">"Сағат"</string>
<string name="headset" msgid="4534219457597457353">"Құлақаспап жинағы"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Құлақаспап қосылды"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Құлақаспап жинағы қосылды"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Белгішелердің күй жолағында көрсетілуін қосу немесе өшіру"</string>
<string name="data_saver" msgid="5037565123367048522">"Дерек сақтағыш"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Дерек сақтағыш қосулы"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Дерек сақтағышы өшірулі"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Қосулы"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"Өшірулі"</string>
<string name="nav_bar" msgid="1993221402773877607">"Шарлау тақтасы"</string>
<string name="start" msgid="6873794757232879664">"Бастау"</string>
<string name="center" msgid="4327473927066010960">"Орталық"</string>
@@ -525,4 +525,15 @@
<string name="preview" msgid="9077832302472282938">"Алдын ала қарау"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Торлар қосу үшін сүйреңіз"</string>
<string name="qs_edit" msgid="2232596095725105230">"Өңдеу"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"Уақыт"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"Сағаттарды, минуттарды және секундтарды көрсету"</item>
+ <item msgid="1427801730816895300">"Сағаттарды және минуттарды көрсету (әдепкі)"</item>
+ <item msgid="3830170141562534721">"Бұл белгішені көрсетпеу"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"Әрқашан пайызды көрсету"</item>
+ <item msgid="2139628951880142927">"Зарядтау кезінде пайызды көрсету (әдепкі)"</item>
+ <item msgid="3327323682209964956">"Бұл белгішені көрсетпеу"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-km-rKH/strings.xml b/packages/SystemUI/res/values-km-rKH/strings.xml
index 74b1faf..5f52272 100644
--- a/packages/SystemUI/res/values-km-rKH/strings.xml
+++ b/packages/SystemUI/res/values-km-rKH/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"ការភ្ជាប់អេក្រង់"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"ស្វែងរក"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"មិនអាចចាប់ផ្ដើម <xliff:g id="APP">%s</xliff:g> ទេ។"</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> ត្រូវបានបិទដំណើរការក្នុងរបៀបសុវត្ថិភាព"</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"ប្រវត្តិ"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"សម្អាត"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"បំបែកផ្តេក"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"ស្ងៀមស្ងាត់\nទាំងស្រុង"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"អាទិភាព\nប៉ុណ្ណោះ"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"សំឡេងរោទ៍\nប៉ុណ្ណោះ"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"ទាំងអស់"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"ទាំងអស់\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"កំពុងបញ្ចូលថ្ម (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ទើបពេញ)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"ថ្មកំពុងសាកលឿន (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ទើបពេញ)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"ថ្មកំពុងសាកយឺតៗ (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ទើបពេញ)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"បង្ហាញវិនាទីនៅលើរបារស្ថានភាពអាចនឹងប៉ះពាល់ដល់ថាមពលថ្ម។"</string>
<string name="qs_rearrange" msgid="8060918697551068765">"រៀបចំការកំណត់រហ័សឡើងវិញ"</string>
<string name="show_brightness" msgid="6613930842805942519">"បង្ហាញកម្រិតពន្លឺនៅក្នុងការកំណត់រហ័ស"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"បើកដំណើរការឧបករណ៍បង្កើនល្បឿនការអូសទៅលើដើម្បីបំបែកអេក្រង់"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"បើកដំណើរការកាយវិការអូសទៅលើដើម្បីបំបែកអេក្រង់"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"បើកដំណើរការកាយវិការដើម្បីបំបែកអេក្រង់ដោយអូសទៅលើចាប់ពីប៊ូតុងទិដ្ឋភាព"</string>
<string name="experimental" msgid="6198182315536726162">"ពិសោធន៍"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"បើកប៊្លូធូសឬ?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"លោតបង្ហាញនៅលើអេក្រង់ និងបន្លឺសំឡេង"</string>
<string name="notification_more_settings" msgid="816306283396553571">"ការកំណត់ច្រើនទៀត"</string>
<string name="notification_done" msgid="5279426047273930175">"រួចរាល់"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"ពណ៌ធម្មតា"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"ពណ៌ពេលយប់"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"ពណ៌ផ្ទាល់ខ្លួន"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"ស្វ័យប្រវត្តិ"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"ពណ៌មិនស្គាល់"</string>
- <string name="color_transform" msgid="6985460408079086090">"ការកែសម្រួលពណ៌"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"បង្ហាញផ្ទាំងប្រអប់ការកំណត់រហ័ស"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"បើកដំណើរការផ្លាស់ប្តូរផ្ទាល់ខ្លួន"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"អនុវត្ត"</string>
<string name="color_revert_title" msgid="4746666545480534663">"បញ្ជាក់ការកំណត់"</string>
<string name="color_revert_message" msgid="9116001069397996691">"ការកំណត់ពណ៌មួយចំនួនអាចធ្វើឲ្យឧបករណ៍នេះមិនអាចប្រើបាន។ សូមចុច យល់ព្រម ដើម្បីបញ្ជាក់ការកំណត់ពណ៌ទាំងនេះ បើមិនដូច្នេះទេការកំណត់ទាំងនេះនឹងកំណត់ឡើងវិញក្នុងរយៈពេល 10 វិនាទីបន្ទាប់។"</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"ការប្រើប្រាស់ថ្ម"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"កម្មវិធីសន្សំថ្មមិនអាចប្រើបានអំឡុងពេលសាកថ្មទេ"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"កម្មវិធីសន្សំថ្ម"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"កាត់បន្ថយប្រតិបត្តិការ និងទិន្នន័យផ្ទៃខាងក្រោយ"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"ដើម"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"ថ្មីៗ"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"ថយក្រោយ"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"បង្ហាញមុខងារកុំរំខាននៅក្នុងកម្រិតសំឡេង"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"អនុញ្ញាតឲ្យមានការគ្រប់គ្រងពេញលេញចំពោះមុខងារកុំរំខាននៅក្នុងប្រអប់កម្រិតសំឡេង។"</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"កម្រិតសំឡេង និងមុនងារកុំរំខាន"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"ចូលមុខងារកុំរំខាននៅពេលបន្ថយសំឡេង"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"ចាកចេញពីមុខងារកុំរំខាននៅពេលបង្កើនសំឡេង"</string>
<string name="battery" msgid="7498329822413202973">"ថ្ម"</string>
<string name="clock" msgid="7416090374234785905">"នាឡិកា"</string>
<string name="headset" msgid="4534219457597457353">"កាស"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"បានភ្ជាប់កាស"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"បានភ្ជាប់កាស"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"បើក ឬបិទដំណើរការបង្ហាញរូបតំណាងនៅលើរបារស្ថានភាព"</string>
<string name="data_saver" msgid="5037565123367048522">"កម្មវិធីសន្សំសំចៃទិន្នន័យ"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"កម្មវិធីសន្សំសំចៃទិន្នន័យបានបើក"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"កម្មវិធីសន្សំសំចៃទិន្នន័យបានបិទ"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"បើក"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"របាររុករក"</string>
<string name="start" msgid="6873794757232879664">"ចាប់ផ្ដើម"</string>
<string name="center" msgid="4327473927066010960">"កណ្តាល"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"មើលជាមុន"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"អូសដើម្បីបន្ថែមចំណងជើង"</string>
<string name="qs_edit" msgid="2232596095725105230">"កែសម្រួល"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-kn-rIN/strings.xml b/packages/SystemUI/res/values-kn-rIN/strings.xml
index 5ab6e31..44262ab 100644
--- a/packages/SystemUI/res/values-kn-rIN/strings.xml
+++ b/packages/SystemUI/res/values-kn-rIN/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"ಸಂಪೂರ್ಣ\nನಿಶ್ಯಬ್ಧ"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"ಆದ್ಯತೆ\nಮಾತ್ರ"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"ಅಲಾರಮ್ಗಳು\nಮಾತ್ರ"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"ಎಲ್ಲ"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"ಎಲ್ಲಾ\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"ಚಾರ್ಜ್ ಆಗುತ್ತಿದೆ ( ಪೂರ್ತಿ ಆಗುವವರೆಗೆ <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"ವೇಗವಾಗಿ ಚಾರ್ಜ್ ಆಗುತ್ತಿದೆ (ಪೂರ್ಣಗೊಳ್ಳಲು <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"ನಿಧಾನ ಚಾರ್ಜ್ ಆಗುತ್ತಿದೆ (ಪೂರ್ಣಗೊಳ್ಳಲು <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"ಸ್ಥಿತಿ ಪಟ್ಟಿಯಲ್ಲಿ ಗಡಿಯಾರ ಸೆಕೆಂಡುಗಳನ್ನು ತೋರಿಸು. ಇದಕ್ಕೆ ಬ್ಯಾಟರಿ ಬಾಳಿಕೆಯು ಪರಿಣಾಮಬೀರಬಹುದು."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"ತ್ವರಿತ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಮರುಹೊಂದಿಸಿ"</string>
<string name="show_brightness" msgid="6613930842805942519">"ತ್ವರಿತ ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಪ್ರಖರತೆಯನ್ನು ತೋರಿಸಿ"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"ಸ್ಪ್ಲಿಟ್ ಸ್ಕ್ರೀನ್ ಸ್ವೈಪ್-ಅಪ್ ವೇಗವರ್ಧಕವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"ಸ್ಪ್ಲಿಟ್-ಸ್ಕ್ರೀನ್ ಸ್ವೈಪ್-ಅಪ್ ಗೆಶ್ಚರ್ ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"ಸಮಗ್ರ ನೋಟದ ಬಟನ್ನಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಸ್ಪ್ಲಿಟ್-ಸ್ಕ್ರೀನ್ ನಮೂದಿಸಲು ಗೆಸ್ಚರ್ ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
<string name="experimental" msgid="6198182315536726162">"ಪ್ರಾಯೋಗಿಕ"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"ಬ್ಲೂಟೂತ್ ಆನ್ ಮಾಡುವುದೇ?"</string>
@@ -467,14 +465,30 @@
<string name="notification_importance_max" msgid="5236987171904756134">"ಪರದೆಯನ್ನು ವೀಕ್ಷಿಸಿ ಮತ್ತು ಧ್ವನಿ ಮಾಡು"</string>
<string name="notification_more_settings" msgid="816306283396553571">"ಹೆಚ್ಚಿನ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="notification_done" msgid="5279426047273930175">"ಮುಗಿದಿದೆ"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"ಸಾಮಾನ್ಯ ಬಣ್ಣಗಳು"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"ರಾತ್ರಿ ಬಣ್ಣಗಳು"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"ಕಸ್ಟಮ್ ಬಣ್ಣಗಳು"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"ಸ್ವಯಂ"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"ಅಪರಿಚಿತ ಬಣ್ಣಗಳು"</string>
- <string name="color_transform" msgid="6985460408079086090">"ಬಣ್ಣ ಬದಲಾವಣೆ"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"ತ್ವರಿತ ಸೆಟ್ಟಿಂಗ್ಗಳ ಟೈಲ್ ತೋರಿಸು"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"ಕಸ್ಟಮ್ ಪರಿವರ್ತನೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"ಅನ್ವಯಿಸು"</string>
<string name="color_revert_title" msgid="4746666545480534663">"ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಖಚಿತಪಡಿಸಿ"</string>
<string name="color_revert_message" msgid="9116001069397996691">"ಕೆಲವು ಬಣ್ಣ ಸೆಟ್ಟಿಂಗ್ಗಳು ಈ ಸಾಧನವನ್ನು ಅನುಪಯುಕ್ತಗೊಳಿಸಬಹುದು. ಈ ಬಣ್ಣ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಖಚಿತಪಡಿಸಲು ಸರಿ ಕ್ಲಿಕ್ ಮಾಡಿ, ಇಲ್ಲವಾದರೆ ಈ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು 10 ಸೆಕೆಂಡುಗಳ ನಂತರ ಮರುಹೊಂದಿಸಿ."</string>
@@ -486,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"ಮುಖಪುಟ"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"ಇತ್ತೀಚಿನವುಗಳು"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"ಹಿಂದೆ"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"ವಾಲ್ಯೂಮ್ನಲ್ಲಿ \"ಅಡಚಣೆ ಮಾಡಬೇಡಿ\" ಅನ್ನು ತೋರಿಸಿ"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"ವಾಲ್ಯೂಮ್ ಸಂವಾದದಲ್ಲಿ \"ಅಡಚಣೆ ಮಾಡಬೇಡಿ\"ಯ ಸಂಪೂರ್ಣ ನಿಯಂತ್ರಣವನ್ನು ಅನುಮತಿಸಿ."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"ವಾಲ್ಯೂಮ್ ಮತ್ತು ಅಡಚಣೆ ಮಾಡಬೇಡಿ"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"ವಾಲ್ಯೂಮ್ ಕಡಿಮೆಯಲ್ಲಿ \"ಅಡಚಣೆ ಮಾಡಬೇಡಿ\" ನಮೂದಿಸಿ"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"ವಾಲ್ಯೂಮ್ ಹೆಚ್ಚಳದಲ್ಲಿ \"ಅಡಚಣೆ ಮಾಡಬೇಡಿ\"ಯನ್ನು ತೊರೆಯಿರಿ"</string>
<string name="battery" msgid="7498329822413202973">"ಬ್ಯಾಟರಿ"</string>
<string name="clock" msgid="7416090374234785905">"ಗಡಿಯಾರ"</string>
<string name="headset" msgid="4534219457597457353">"ಹೆಡ್ಸೆಟ್"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"ಹೆಡ್ಫೋನ್ ಸಂಪರ್ಕಪಡಿಸಲಾಗಿದೆ"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"ಹೆಡ್ಸೆಟ್ ಸಂಪರ್ಕಪಡಿಸಲಾಗಿದೆ"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"ಸ್ಥಿತಿ ಪಟ್ಟಿಯಲ್ಲಿ ಐಕಾನ್ಗಳು ತೋರಿಸುವುದನ್ನು ಸಕ್ರಿಯ ಅಥವಾ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ."</string>
<string name="data_saver" msgid="5037565123367048522">"ಡೇಟಾ ಉಳಿಸುವಿಕೆ"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"ಡೇಟಾ ಉಳಿಸುವಿಕೆ ಆನ್ ಆಗಿದೆ"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"ಡೇಟಾ ಉಳಿಸುವಿಕೆ ಆಫ್ ಆಗಿದೆ"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"ಆನ್"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"ನ್ಯಾವಿಗೇಷನ್ ಬಾರ್"</string>
<string name="start" msgid="6873794757232879664">"ಪ್ರಾರಂಭ"</string>
<string name="center" msgid="4327473927066010960">"ಮಧ್ಯ"</string>
@@ -523,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"ಪೂರ್ವವೀಕ್ಷಣೆ"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"ಟೈಲ್ಗಳನ್ನು ಸೇರಿಸಲು ಡ್ರ್ಯಾಗ್ ಮಾಡಿ"</string>
<string name="qs_edit" msgid="2232596095725105230">"ಸಂಪಾದಿಸು"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index 5e6f65a..cf18daf 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"화면 고정"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"검색"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g>을(를) 시작할 수 없습니다."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g>은(는) 안전 모드에서 사용 중지됩니다."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"기록"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"삭제"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"수평 분할"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"모두\n차단"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"중요 알림만\n허용"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"알람만\n"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"모두 수신"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"모두\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"충전 중(<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> 후 충전 완료)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"고속 충전 중(<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> 후 충전 완료)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"저속 충전 중(<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> 후 충전 완료)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"상태 표시줄에 시계 초 단위를 표시합니다. 배터리 수명에 영향을 줄 수도 있습니다."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"빠른 설정 재정렬"</string>
<string name="show_brightness" msgid="6613930842805942519">"빠른 설정에서 밝기 표시"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"위로 스와이프하여 창 분할하기 사용 설정"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"화면 분할 위로 스와이프 동작 사용"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"최근 사용 버튼에서 위로 스와이프하기 동작으로 창 분할 모드를 사용 설정합니다."</string>
<string name="experimental" msgid="6198182315536726162">"베타"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"블루투스를 켜시겠습니까?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"화면에 표시하고 소리로 알림"</string>
<string name="notification_more_settings" msgid="816306283396553571">"설정 더보기"</string>
<string name="notification_done" msgid="5279426047273930175">"완료"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"일반 색상"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"야간 색상"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"맞춤 색상"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"자동"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"알 수 없는 색상"</string>
- <string name="color_transform" msgid="6985460408079086090">"색상 수정"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"빠른 설정 타일 표시"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"맞춤 변환 사용"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"적용"</string>
<string name="color_revert_title" msgid="4746666545480534663">"설정 확인"</string>
<string name="color_revert_message" msgid="9116001069397996691">"일부 색상 설정으로 인해 이 기기를 사용하지 못할 수 있습니다. 확인을 클릭하여 이러한 색상 설정을 확인하지 않으면 10초 후에 설정이 초기화됩니다."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"배터리 사용량"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"충전하는 동안 배터리 세이버는 사용할 수 없습니다."</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"배터리 세이버"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"성능 및 백그라운드 데이터를 줄입니다."</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"홈"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"최근"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"뒤로"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"볼륨에 알림 일시중지 표시"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"볼륨 대화상자에서 알림 일시중지에 대한 전체 컨트롤을 허용합니다."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"볼륨 및 알림 일시중지"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"볼륨 작게 시 알림 일시중지 사용"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"볼륨 크게 시 알림 일시중지 종료"</string>
<string name="battery" msgid="7498329822413202973">"배터리"</string>
<string name="clock" msgid="7416090374234785905">"시계"</string>
<string name="headset" msgid="4534219457597457353">"헤드셋"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"헤드폰 연결됨"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"헤드셋 연결됨"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"아이콘이 상태 표시줄에 표시되도록 사용 설정 또는 중지합니다."</string>
<string name="data_saver" msgid="5037565123367048522">"데이터 세이버"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"데이터 세이버 사용"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"데이터 세이버 사용 안함"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"사용"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"탐색 메뉴"</string>
<string name="start" msgid="6873794757232879664">"시작"</string>
<string name="center" msgid="4327473927066010960">"중앙"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"미리보기"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"드래그하여 타일 추가"</string>
<string name="qs_edit" msgid="2232596095725105230">"수정"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-ky-rKG/strings.xml b/packages/SystemUI/res/values-ky-rKG/strings.xml
index 7819f40..bb16ab7 100644
--- a/packages/SystemUI/res/values-ky-rKG/strings.xml
+++ b/packages/SystemUI/res/values-ky-rKG/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"экран кадоо"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"издөө"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> баштай алган жок."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> коопсуз режиминде өчүрүлдү."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Таржымал"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Тазалоо"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Туурасынан бөлүү"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Тым-\nтырс"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Артыкчылыктуу\nгана"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Ойготкучтар\nгана"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Бардыгы"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Бардык\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Кубатталууда (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> толгонго чейин)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Тез кубатталууда (толгонго чейин <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> калды)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Жай кубатталууда (толгонго чейин <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> калды)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Абал тилкесинен сааттын секунддары көрсөтүлсүн. Батареянын кубаты көбүрөөк сарпталышы мүмкүн."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Ыкчам жөндөөлөрдү кайра коюу"</string>
<string name="show_brightness" msgid="6613930842805942519">"Ыкчам жөндөөлөрдөн жарык деңгээлин көрсөтүү"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Өйдө серпип экранды бөлгүчтү иштетүү"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Өйдө серпип экранды бөлүү жаңсоосун иштетүү"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Сереп баскычынан өйдө серпип, экранды бөлүү режимин киргизүү үчүн жаңсоону иштетиңиз"</string>
<string name="experimental" msgid="6198182315536726162">"Сынамык"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth күйгүзүлсүнбү?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Үн менен коштолуп, экранга чыгарылсын"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Дагы жөндөөлөр"</string>
<string name="notification_done" msgid="5279426047273930175">"Аткарылды"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Кадимки түстөр"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Түнкү түстөр"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Ыңгайлаштырылган түстөр"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Авто"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Белгисиз түстөр"</string>
- <string name="color_transform" msgid="6985460408079086090">"Түсүн өзгөртүү"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Ыкчам жөндөөлөр тактасын көрсөтүү"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Ыңгайлаштырылган өзгөртүүнү иштетүү"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Колдонуу"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Жөндөөлөрдү ырастоо"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Айрым түс жөндөөлөрү бул түзмөктү колдонулгус кылып коюшу мүмкүн. Бул түс жөндөөлөрүн ырастоо үчүн OK баскычын чыкылдатыңыз, болбосо бул жөндөөлөр 10 секунддан кийин баштапкы абалына келтирилет."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Батарея колдонулушу"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Батареяны үнөмдөгүч түзмөк кубатталып жатканда иштебейт"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Батареяны үнөмдөгүч"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Иштин майнаптуулугун начарлатып, фондук дайындарды чектейт"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Башкы бет"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Акыркылар"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Артка"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"\"Тынчымды алба\" режимин үн көзөмөлдөгүчүндө көрсөтүү"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Үндү катуулатып/акырындатуу диалогунда \"Тынчымды алба\" режимин толук көзөмөлдөөгө уруксат берүү."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Үн көзөмөлдөгүчү жана \"Тынчымды алба\" режими"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Үн акырындатылганда \"Тынчымды алба\" режимине кирүү"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Үн катуулатылганда \"Тынчымды алба\" режиминен чыгуу"</string>
<string name="battery" msgid="7498329822413202973">"Батарея"</string>
<string name="clock" msgid="7416090374234785905">"Саат"</string>
<string name="headset" msgid="4534219457597457353">"Гарнитура"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Гарнитуралар туташкан"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Гарнитура туташты"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Абал тилкесиндеги сүрөтчөнү иштетүү же өчүрүү."</string>
<string name="data_saver" msgid="5037565123367048522">"Дайындарды үнөмдөгүч"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Дайындарды үнөмдөгүч күйүк"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Дайындарды үнөмдөгүч өчүрүлгөн"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Күйүк"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Чабыттоо тилкеси"</string>
<string name="start" msgid="6873794757232879664">"Баштоо"</string>
<string name="center" msgid="4327473927066010960">"Экрандын ортосунда"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Алдын ала көрүү"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Керектүү нерселерди сүйрөп кошуңуз"</string>
<string name="qs_edit" msgid="2232596095725105230">"Түзөтүү"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-lo-rLA/strings.xml b/packages/SystemUI/res/values-lo-rLA/strings.xml
index 622e1e5..b4dd69d 100644
--- a/packages/SystemUI/res/values-lo-rLA/strings.xml
+++ b/packages/SystemUI/res/values-lo-rLA/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"ການປັກໝຸດໜ້າຈໍ"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"ຊອກຫາ"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"ບໍ່ສາມາດເລີ່ມ <xliff:g id="APP">%s</xliff:g> ໄດ້."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> ຖືກປິດໃຊ້ໃນໂໝດຄວາມມປອດໄພ."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"ປະຫວັດ"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"ລຶບ"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"ການແຍກລວງຂວາງ"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"ຄວາມງຽບ\nທັງໝົດ"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"ບຸລິມະສິດ\nເທົ່ານັ້ນ"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"ໂມງປຸກ\nເທົ່ານັ້ນ"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"ທັງໝົດ"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"ທັງໝົດ\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"ກຳລັງສາກໄຟ (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ກວ່າຈະເຕັມ)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"ກຳລັງສາກໄຟ (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ກວ່າຈະເຕັມ)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"ກຳລັງສາກໄຟ (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ກວ່າຈະເຕັມ)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"ສະແດງວິນາທີໂມງຢູ່ໃນແຖບສະຖານະ. ອາດຈະມີຜົນກະທົບຕໍ່ອາຍຸແບັດເຕີຣີ."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"ຈັດວາງການຕັ້ງຄ່າດ່ວນຄືນໃໝ່"</string>
<string name="show_brightness" msgid="6613930842805942519">"ສະແດງຄວາມແຈ້ງຢູ່ໃນການຕັ້ງຄ່າດ່ວນ"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"ເປີດໃຊ້ຕົວເລັ່ງຄວາມໄວການປັດຂຶ້ນຂອງໜ້າຈໍແບບແຍກກັນ"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"ເປີດໃຊ້ທ່າທາງການປັດຂຶ້ນເພື່ອເຂົ້າສູ່ໜ້າຈໍແບບແຍກກັນ"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"ເປີດໃຊ້ທ່າທາງເພື່ອເຂົ້າສູ່ໜ້າຈໍແບບແຍກກັນ ໂດຍການປັດຂຶ້ນຈາກປຸ່ມພາບຮວມ"</string>
<string name="experimental" msgid="6198182315536726162">"ຍັງຢູ່ໃນການທົດລອງ"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"ເປີດໃຊ້ Bluetooth ບໍ່?"</string>
@@ -468,19 +465,22 @@
<string name="notification_importance_max" msgid="5236987171904756134">"ເດັ້ງຂຶ້ນເທິງຫນ້າຈໍ ແລະສົ່ງສຽງດັງ"</string>
<string name="notification_more_settings" msgid="816306283396553571">"ການຕັ້ງຄ່າເພີ່ມເຕີມ"</string>
<string name="notification_done" msgid="5279426047273930175">"ສຳເລັດແລ້ວ"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"ສີປົກກະຕິ"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"ສີຕອນກາງຄືນ"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"ສີແບບກຳນົດເອງ"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"ອັດຕະໂນມັດ"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"ສີທີ່ບໍ່ຮູ້ຈັກ"</string>
- <string name="color_transform" msgid="6985460408079086090">"ການດັດແປງສີ"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"ສະແດງໄທລ໌ການຕັ້ງຄ່າດ່ວນ"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"ເປີດໃຊ້ການປ່ຽນສີແບບກຳນົດເອງ"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"ສີ ແລະ ລັກສະນະ"</string>
+ <string name="night_mode" msgid="3540405868248625488">"ໂໝດກາງຄືນ"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"ປັບໜ້າຈໍ"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"ເປີດ"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"ປິດ"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"ເປີດໃຊ້ອັດຕະໂນມັດ"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"ສະລັບໄປໃຊ້ໂໝດກາງຄືນຕາມຄວາມເໝາະສົມກັບສະຖານທີ່ ແລະ ເວລາໃນແຕ່ລະມື້"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"ເມື່ອເປີດໂໝດກາງຄືນ"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"ໃຊ້ຮູບແບບສີສັນແບບມືດສຳລັບ Android OS"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"ປັບແຕ່ງໂທນສີ"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"ປັບແຕ່ງຄວາມສະຫວ່າງ"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"ຮູບແບບສີສັນແບບມືດແມ່ນຖືກນຳໃຊ້ກັບສ່ວນຫຼັກຂອງ Android OS ທີ່ປົກກະຕິຈະສະແດງໃນແບບສີສັນແບບແຈ້ງແລ້ວ ເຊັ່ນ: ການຕັ້ງຄ່າ ແລະ ການແຈ້ງເຕືອນ."</string>
<string name="color_apply" msgid="9212602012641034283">"ນຳໃຊ້"</string>
<string name="color_revert_title" msgid="4746666545480534663">"ຢືນຢັນການຕັ້ງຄ່າ"</string>
<string name="color_revert_message" msgid="9116001069397996691">"ບາງການຕັ້ງຄ່າສີສາມາດເຮັດໃຫ້ອຸປະກອນນີ້ບໍ່ສາມາດໃຊ້ໄດ້. ຄລິກ ຕົກລົງ ເພື່ອຢືນຢັນການຕັ້ງຄ່າສີເຫຼົ່ານີ້, ຖ້າບໍ່ດັ່ງນັ້ນ ການຕັ້ງຄ່າເຫຼົ່ານີ້ຈະຕັ້ງຄືນໃໝ່ ຫຼັງຈາກ 10 ວິນາທີ."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"ການໃຊ້ແບັດເຕີຣີ"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"ຕົວປະຢັດແບັດເຕີຣີບໍ່ມີໃຫ້ນຳໃຊ້ໃນລະຫວ່າງການສາກ"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"ຕົວປະຢັດແບັດເຕີຣີ"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"ຫຼຸດປະສິທິພາບການໃຊ້ງານ ແລະ ຂໍ້ມູນພື້ນຫຼັງ"</string>
@@ -488,21 +488,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"ໜ້າຫຼັກ"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"ຫາກໍໃຊ້"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"ກັບຄືນ"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"ສະແດງ ຫ້າມລົບກວນ ໃນລະດັບສຽງ"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"ອະນຸຍາດການຄວບຄຸມເຕັມສ່ວນຂອງ ຫ້າມລົບກວນ ໃນກ່ອງປັບລະດັບສຽງ."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"ລະດັບສຽງ ແລະ ຫ້າມລົບກວນ"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"ເປີດໃຊ້ໂໝດ ຫ້າມລົບກວນ ເມື່ອປັບສຽງໃຫ້ຄ່ອຍລົງ"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"ສະແດງສ່ວນຄວບຄຸມສຽງ"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"ຫ້າມລົບກວນ"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"ທາງລັດປຸ່ມສຽງ"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"ອອກຈາກໂໝດ ຫ້າມລົບກວນ ເມື່ອປັບສຽງໃຫ້ດັງຂຶ້ນ"</string>
<string name="battery" msgid="7498329822413202973">"ແບັດເຕີຣີ"</string>
<string name="clock" msgid="7416090374234785905">"ໂມງ"</string>
<string name="headset" msgid="4534219457597457353">"ຊຸດຫູຟັງ"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"ເຊື່ອມຕໍ່ຊຸດຫູຟັງແລ້ວ"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"ເຊື່ອມຕໍ່ຊຸດຫູຟັງແລ້ວ"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"ເປີດ ຫຼື ປິດໄອຄອນຕ່າງໆຈາກການສະແດງໃນແຖບສະຖານະ."</string>
<string name="data_saver" msgid="5037565123367048522">"ຕົວປະຢັດຂໍ້ມູນ"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"ຕົວປະຢັດຂໍ້ມູນເປີດຢູ່"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"ຕົວປະຢັດຂໍ້ມູນປິດຢູ່"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"ເປີດ"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"ປິດ"</string>
<string name="nav_bar" msgid="1993221402773877607">"ແຖບນຳທາງ"</string>
<string name="start" msgid="6873794757232879664">"ເລີ່ມຕົ້ນ"</string>
<string name="center" msgid="4327473927066010960">"ເຄິ່ງກາງ"</string>
@@ -525,4 +524,15 @@
<string name="preview" msgid="9077832302472282938">"ສະແດງຕົວຢ່າງ"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"ລາກເພື່ອເພີ່ມໄທລ໌"</string>
<string name="qs_edit" msgid="2232596095725105230">"ແກ້ໄຂ"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"ເວລາ"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"ສະແດງຊົ່ວໂມງ, ນາທີ ແລະ ວິນາທີ"</item>
+ <item msgid="1427801730816895300">"ສະແດງຊົ່ວໂມງ ແລະ ນາທີ (ຄ່າເລີ່ມຕົ້ນ)"</item>
+ <item msgid="3830170141562534721">"ຢ່າສະແດງໄອຄອນນີ້"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"ສະແດງເປີເຊັນຕະຫຼອດເວລາ"</item>
+ <item msgid="2139628951880142927">"ສະແດງເປີເຊັນເມື່ອກຳລັງສາກໄຟ (ຄ່າເລີ່ມຕົ້ນ)"</item>
+ <item msgid="3327323682209964956">"ຢ່າສະແດງໄອຄອນນີ້"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index 34decce7..8eec622 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -303,8 +303,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"ekrano prisegimas"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"paieška"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Nepavyko paleisti <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"Programa „<xliff:g id="APP">%s</xliff:g>“ išjungta saugos režimus."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Istorija"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Išvalyti"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Horizontalus skaidymas"</string>
@@ -336,8 +335,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Visiška\ntyla"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Tik\nprioritetiniai"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Tik\nsignalai"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Visi"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Visi\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Kraunama (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> iki visiško įkrovimo)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Greitai kraunama (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> iki visiško įkrovimo)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Lėtai kraunama (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> iki visiško įkrovimo)"</string>
@@ -450,7 +447,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Rodyti laikrodžio sekundes būsenos juostoje. Tai gali paveikti akumuliatoriaus naudojimo laiką."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Pertvarkyti sparčiuosius nustatymus"</string>
<string name="show_brightness" msgid="6613930842805942519">"Rodyti skaistį sparčiuosiuose nustatymuose"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Įgalinti skaidyto ekrano perbrauk. aukštyn spartinimo įrankį"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Įgalinti ekrano skaidymo perbraukimo aukštyn gestą"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Įgalinti gestą, kuriuo galima įjungti skaidytą ekraną, perbraukiant aukštyn nuo apžvalgos mygtuko"</string>
<string name="experimental" msgid="6198182315536726162">"Eksperimentinė versija"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Įjungti „Bluetooth“?"</string>
@@ -470,19 +467,22 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Rodyti ekrane ir skambėti"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Daugiau nustatymų"</string>
<string name="notification_done" msgid="5279426047273930175">"Atlikta"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Įprastos spalvos"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Nakties spalvos"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Tinkintos spalvos"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automatinis"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Nežinomos spalvos"</string>
- <string name="color_transform" msgid="6985460408079086090">"Spalvų keitimas"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Rodyti Sparčiųjų nustatymų išklotinės elementą"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Įgalinti tinkintą transformavimą"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"Spalva ir išvaizda"</string>
+ <string name="night_mode" msgid="3540405868248625488">"Naktinis režimas"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"Kalibruoti ekraną"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"Įjungta"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"Išjungta"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"Įjungti automatiškai"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"Perjungti į naktinį režimą pagal vietovę ir dienos laiką"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"Kai įjungtas naktinis režimas"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Naudoti tamsią „Android“ OS temą"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"Koreguoti atspalvį"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"Koreguoti šviesumą"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"Pagrindinėms „Android“ OS dalims, kurioms paprastai taikoma šviesi tema, pvz., Nustatymams ir pranešimams, bus taikoma tamsi tema."</string>
<string name="color_apply" msgid="9212602012641034283">"Taikyti"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Nustatymų patvirtinimas"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Dėl kai kurių spalvų nustatymų įrenginys gali būti netinkamas naudoti. Spustelėkite „Gerai“, kad patvirtintumėte šiuos spalvų nustatymus. Kitaip šie nustatymai bus nustatyti iš naujo po 10 sekundžių."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Akum. energ. vartoj."</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Akumuliatoriaus tausojimo priemonė nepasiekiama įkraunant"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Akumuliatoriaus tausojimo priemonė"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Sumažinamas našumas ir foninių duomenų naudojimas"</string>
@@ -490,21 +490,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Pagrindinis ekranas"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Naujausios veiklos ekranas"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Atgal"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Rodyti netrukdymo režimą garsumo dialogo lange"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Leisti visiškai valdyti netrukdymo režimą garsumo dialogo lange."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Garsumas ir netrukdymo režimas"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Įjungti netrukdymo režimą mažinant garsumą"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"Rodyti su garsumo valdikliais"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"Netrukdymo režimas"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"Garsumo mygtukų spartusis klavišas"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"Išjungti netrukdymo režimą didinant garsumą"</string>
<string name="battery" msgid="7498329822413202973">"Akumuliatorius"</string>
<string name="clock" msgid="7416090374234785905">"Laikrodis"</string>
<string name="headset" msgid="4534219457597457353">"Ausinės"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Ausinės prijungtos"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Ausinės prijungtos"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Įgalinti arba išjungti piktogramų rodymą būsenos juostoje."</string>
<string name="data_saver" msgid="5037565123367048522">"Duomenų taupymo priemonė"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Duomenų taupymo priemonė įjungta"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Duomenų taupymo priemonė išjungta"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Įjungti"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"Išjungta"</string>
<string name="nav_bar" msgid="1993221402773877607">"Naršymo juosta"</string>
<string name="start" msgid="6873794757232879664">"Pradėti"</string>
<string name="center" msgid="4327473927066010960">"Centre"</string>
@@ -527,4 +526,15 @@
<string name="preview" msgid="9077832302472282938">"Peržiūrėti"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Nuvilkite, kad pridėtumėte išklotinės elementų"</string>
<string name="qs_edit" msgid="2232596095725105230">"Redaguoti"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"Laikas"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"Rodyti valandas, minutes ir sekundes"</item>
+ <item msgid="1427801730816895300">"Rodyti valandas ir minutes (numatytasis nustatymas)"</item>
+ <item msgid="3830170141562534721">"Nerodyti šios piktogramos"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"Visada rodyti procentus"</item>
+ <item msgid="2139628951880142927">"Rodyti procentus kraunant (numatytasis nustatymas)"</item>
+ <item msgid="3327323682209964956">"Nerodyti šios piktogramos"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index c667f35..abfc303 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -302,8 +302,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"Piespraust ekrānu"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"Meklēt"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Nevarēja palaist lietotni <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"Lietotne <xliff:g id="APP">%s</xliff:g> ir atspējota drošajā režīmā."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Vēsture"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Notīrīt"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Horizontāls dalījums"</string>
@@ -335,8 +334,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Pilnīgs\nklusums"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Tikai\nprioritārie"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Tikai\nsignāli"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Visi"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Visi\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Notiek uzlāde (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> līdz pilnīgai uzlādei)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Ātra uzlāde (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> līdz pilnīgai uzlādei)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Lēna uzlāde (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> līdz pilnīgai uzlādei)"</string>
@@ -449,7 +446,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Statusa joslā rādīt pulksteņa sekundes. Var ietekmēt akumulatora darbības laiku."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Pārkārtot ātros iestatījumus"</string>
<string name="show_brightness" msgid="6613930842805942519">"Rādīt spilgtumu ātrajos iestatījumos"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Iespējot ekrāna sadalīšanu, izmantojot vilkšanu augšup"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Iespējot vilkšanu augšup, lai sadalītu ekrānu"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Iespējot žestu ekrāna sadalīšanai, velkot augšup no pogas Pārskats"</string>
<string name="experimental" msgid="6198182315536726162">"Eksperimentāli"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Vai ieslēgt Bluetooth savienojumu?"</string>
@@ -469,19 +466,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Rādīt ekrānā ar skaņas signālu"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Citi iestatījumi"</string>
<string name="notification_done" msgid="5279426047273930175">"Gatavs"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Parastas krāsas"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Nakts krāsas"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Pielāgotas krāsas"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automātiski"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Nezināmas krāsas"</string>
- <string name="color_transform" msgid="6985460408079086090">"Krāsu pārveidošana"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Ātro iestatījumu elementa rādīšana"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Pielāgotās pārveidošanas iespējošana"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Lietot"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Iestatījumu apstiprināšana"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Noteiktu krāsu iestatījumu dēļ šī ierīce var kļūt nelietojama. Lai apstiprinātu šos krāsu iestatījumus, noklikšķiniet uz Labi. Ja to neizdarīsiet, pēc 10 sekundēm šie iestatījumi tiks atiestatīti."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Akumulatora lietojums"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Akumulatora jaudas taupīšanas režīms uzlādes laikā nav pieejams."</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Akumulatora jaudas taupīšanas režīms"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Samazina veiktspēju un fona datus."</string>
@@ -489,21 +501,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Sākums"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Pēdējie"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Atpakaļ"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Rādīt režīmu “Netraucēt” skaļuma regulēšanas dialoglodziņā"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Atļaujiet pilnu režīma “Netraucēt” kontroli skaļuma regulēšanas dialoglodziņā."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Skaļums un režīms “Netraucēt”"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Ieslēgt režīmu “Netraucēt”, samazinot skaļumu"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Izslēgt režīmu “Netraucēt”, palielinot skaļumu"</string>
<string name="battery" msgid="7498329822413202973">"Akumulators"</string>
<string name="clock" msgid="7416090374234785905">"Pulkstenis"</string>
<string name="headset" msgid="4534219457597457353">"Austiņas"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Austiņas ir pievienotas"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Austiņas ar mikrofonu ir pievienotas"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Iespējojiet vai atspējojiet ikonu rādīšanu statusa joslā."</string>
<string name="data_saver" msgid="5037565123367048522">"Datu lietojuma samazinātājs"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Datu lietojuma samazinātājs ieslēgts"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Datu lietojuma samazinātājs ir izslēgts."</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Ieslēgts"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Navigācijas josla"</string>
<string name="start" msgid="6873794757232879664">"Sākums"</string>
<string name="center" msgid="4327473927066010960">"Centrs"</string>
@@ -526,4 +541,12 @@
<string name="preview" msgid="9077832302472282938">"Priekšskatījums"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Velciet elementus, lai tos pievienotu"</string>
<string name="qs_edit" msgid="2232596095725105230">"Rediģēt"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-mk-rMK/strings.xml b/packages/SystemUI/res/values-mk-rMK/strings.xml
index 8051ec0..71214cc 100644
--- a/packages/SystemUI/res/values-mk-rMK/strings.xml
+++ b/packages/SystemUI/res/values-mk-rMK/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Целосна\nтишина"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Само\nприоритетни"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Само\nаларми"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Сѐ"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Сите\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Се полни (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> додека не се наполни)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Брзо полнење (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> додека не се наполни)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Бавно полнење (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> додека не се наполни)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Прикажи ги секундите на часовникот на статусната лента. Може да влијае на траењето на батеријата."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Преуредете ги Брзи поставки"</string>
<string name="show_brightness" msgid="6613930842805942519">"Прикажете ја осветленоста во Брзи поставки"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Овозможете забрзувач за повлекување нагоре поделен екран"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Овозможи го гестот повлекување нагоре за поделен екран"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Овозможете гест за отворање поделен екран со повлекување нагоре од копчето Краток преглед"</string>
<string name="experimental" msgid="6198182315536726162">"Експериментално"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Да се вклучи Bluetooth?"</string>
@@ -467,14 +465,30 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Појави се на екранот и дај звучен сигнал"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Повеќе поставки"</string>
<string name="notification_done" msgid="5279426047273930175">"Готово"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Нормални бои"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Ноќни бои"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Приспособени бои"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Автоматски"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Непознати бои"</string>
- <string name="color_transform" msgid="6985460408079086090">"Промена на бојата"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Прикажи плочка Брзи поставки"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Овозможи приспособено трансформирање"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Примени"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Потврдете ги поставките"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Некои поставки на боите може да го направат уредот неупотреблив. Кликнете на Во ред за да ги потврдите овие поставки на боите, инаку тие поставки ќе се ресетираат по 10 секунди."</string>
@@ -486,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Почетна страница"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Неодамнешни"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Назад"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Прикажи „Не вознемирувај“ во јачината на звукот"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Дозволете целосна контрола на „Не вознемирувај“ во дијалогот за јачина на звукот."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Јачина на звук и „Не вознемирувај“"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Премини во „Не вознемирувај“ при намалена јачина на звукот"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Излези од „Не вознемирувај“ при зголемена јачина на звукот"</string>
<string name="battery" msgid="7498329822413202973">"Батерија"</string>
<string name="clock" msgid="7416090374234785905">"Часовник"</string>
<string name="headset" msgid="4534219457597457353">"Слушалки"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Слушалките се поврзани"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Слушалките се поврзани"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Овозможете или оневозможете прикажување на иконите во статусната лента."</string>
<string name="data_saver" msgid="5037565123367048522">"Штедач на интернет"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Штедачот на интернет е вклучен"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Штедачот на интернет е исклучен"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Вклучено"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Лента за навигација"</string>
<string name="start" msgid="6873794757232879664">"Почеток"</string>
<string name="center" msgid="4327473927066010960">"Центар"</string>
@@ -523,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Преглед"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Повлечете за додавање плочки"</string>
<string name="qs_edit" msgid="2232596095725105230">"Уреди"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-ml-rIN/strings.xml b/packages/SystemUI/res/values-ml-rIN/strings.xml
index 4cb8c2e..e6d2e90 100644
--- a/packages/SystemUI/res/values-ml-rIN/strings.xml
+++ b/packages/SystemUI/res/values-ml-rIN/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"പൂർണ്ണ\nനിശബ്ദത"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"മുൻഗണന\nമാത്രം"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"അലാറങ്ങൾ\nമാത്രം"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"എല്ലാം"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"എല്ലാം\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"ചാർജ്ജുചെയ്യുന്നു (പൂർണ്ണമാകുന്നതിന്, <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"വേഗത്തിൽ ചാർജുചെയ്യുന്നു (പൂർണ്ണമാകാൻ <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"പതുക്കെ ചാർജുചെയ്യുന്നു (പൂർണ്ണമാകാൻ <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"സ്റ്റാറ്റസ് ബാറിൽ ക്ലോക്ക് സെക്കൻഡ് കാണിക്കുന്നത് ബാറ്ററിയുടെ ലൈഫിനെ ബാധിക്കാം."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"ദ്രുത ക്രമീകരണം പുനഃസജ്ജീകരിക്കുക"</string>
<string name="show_brightness" msgid="6613930842805942519">"ദ്രുത ക്രമീകരണത്തിൽ തെളിച്ചം കാണിക്കുക"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"സ്പ്ലിറ്റ്-സ്ക്രീൻ സ്വൈപ്പ്-അപ്പ് ആക്സിലറേറ്റർ പ്രവർത്തനക്ഷമമാക്കൂ"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"സ്പ്ലിറ്റ്-സ്ക്രീൻ സ്വൈപ്പ്-അപ്പ് ജെസ്റ്റർ പ്രവർത്തനക്ഷമമാക്കുക"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"ചുരുക്കവിവരണ ബട്ടണിൽ നിന്ന് മുകളിലേക്ക് സ്വൈപ്പുചെയ്തുകൊണ്ട് സ്പ്ലിറ്റ്-സ്ക്രീനിലേക്ക് പ്രവേശിക്കാൻ ജെസ്റ്റർ പ്രവർത്തനക്ഷമമാക്കുക"</string>
<string name="experimental" msgid="6198182315536726162">"പരീക്ഷണാത്മകം!"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth ഓണാക്കണോ?"</string>
@@ -467,14 +465,18 @@
<string name="notification_importance_max" msgid="5236987171904756134">"സ്ക്രീനിൽ ദൃശ്യമാക്കുക, ശബ്ദമുണ്ടാക്കുക"</string>
<string name="notification_more_settings" msgid="816306283396553571">"കൂടുതൽ ക്രമീകരണം"</string>
<string name="notification_done" msgid="5279426047273930175">"പൂർത്തിയായി"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"സാധാരണ വര്ണ്ണങ്ങൾ"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"രാത്രി വര്ണ്ണങ്ങൾ"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"ഇഷ്ടാനുസൃത വര്ണ്ണങ്ങൾ"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"യാന്ത്രികം"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"തിരിച്ചറിയാനാകാത്ത വർണ്ണങ്ങൾ"</string>
- <string name="color_transform" msgid="6985460408079086090">"വർണ്ണ പരിഷ്കരണം"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"ദ്രുത ക്രമീകരണ ടൈൽ കാണിക്കുക"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"ഇഷ്ടാനുസൃത പരിവർത്തനം പ്രവർത്തനക്ഷമമാക്കുക"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"വർണ്ണവും രൂപഭാവവും"</string>
+ <string name="night_mode" msgid="3540405868248625488">"നൈറ്റ് മോഡ്"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"ഡിസ്പ്ലേ കാലിബ്രേറ്റുചെയ്യുക"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"ഓൺ"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"ഓഫ്"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"സ്വയമേവ ഓണാക്കുക"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"ലൊക്കേഷനും ദിവസത്തിലെ സമയത്തിനും അനുയോജ്യമായ തരത്തിൽ നൈറ്റ് മോഡിലേക്ക് സ്വിച്ചുചെയ്യുക"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"നൈറ്റ് മോഡ് ഓണായിരിക്കുമ്പോൾ"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Android OS-നുള്ള ഇരുണ്ട തീം ഉപയോഗിക്കുക"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"ടിന്റ് ക്രമപ്പെടുത്തുക"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"തെളിച്ചം ക്രമപ്പെടുത്തുക"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"ക്രമീകരണവും അറിയിപ്പുകളും പോലെയുള്ള, ഒരു ലൈറ്റ് തീമിൽ സാധാരണ ഗതിയിൽ പ്രദർശിപ്പിക്കപ്പെടുന്ന Android OS-ന്റെ അടിസ്ഥാന ഇടങ്ങളിലേക്ക്, ഇരുണ്ട തീം പ്രയോഗിക്കുന്നു."</string>
<string name="color_apply" msgid="9212602012641034283">"ബാധകമാക്കുക"</string>
<string name="color_revert_title" msgid="4746666545480534663">"ക്രമീകരണം സ്ഥിരീകരിക്കുക"</string>
<string name="color_revert_message" msgid="9116001069397996691">"ചില വർണ്ണ ക്രമീകരണത്തിന് ഈ ഉപകരണത്തെ ഉപയോഗരഹിതമാക്കാനാകും. ഈ വർണ്ണ ക്രമീകരണം സ്ഥിരീകരിക്കുന്നതിന് ശരി എന്നതിൽ ക്ലിക്കുചെയ്യുക, അല്ലെങ്കിൽ 10 സെക്കൻഡിന് ശേഷം ഈ ക്രമീകരണം പുനഃക്രമീകരിക്കപ്പെടും."</string>
@@ -486,21 +488,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"വീട്"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"പുതിയവ"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"മടങ്ങുക"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"വോളിയത്തിൽ \'ശല്യപ്പെടുത്തരുത്\' കാണിക്കുക"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"വോളിയം ഡയലോഗിൽ \'ശല്യപ്പെടുത്തരുത്\' എന്നത് പൂർണ്ണമായി നിയന്ത്രിക്കാൻ അനുവദിക്കുക."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"വോളിയവും \'ശല്യപ്പെടുത്തരുത്\' എന്നതും"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"വോളിയം താഴുമ്പോൾ \'ശല്യപ്പെടുത്തരുത്\' പ്രവർത്തിപ്പിക്കുക"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"വോളിയം നിയന്ത്രണങ്ങളോടൊപ്പം കാണിക്കുക"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"ശല്യപ്പെടുത്തരുത്"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"വോളിയം ബട്ടൺ കുറുക്കുവഴി"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"വോളിയം ഉയരുമ്പോൾ \'ശല്യപ്പെടുത്തരുത്\' നിർത്തുക"</string>
<string name="battery" msgid="7498329822413202973">"ബാറ്ററി"</string>
<string name="clock" msgid="7416090374234785905">"ക്ലോക്ക്"</string>
<string name="headset" msgid="4534219457597457353">"ഹെഡ്സെറ്റ്"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"ഹെഡ്ഫോണുകൾ കണക്റ്റുചെയ്തു"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"ഹെഡ്സെറ്റ് കണക്റ്റുചെയ്തു"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"സ്റ്റാറ്റസ് ബാറിൽ കാണിക്കുന്നതിൽ നിന്ന് ഐക്കണുകളെ പ്രവർത്തനക്ഷമമാക്കുകയോ പ്രവർത്തനരഹിതമാക്കുകയോ ചെയ്യുക"</string>
<string name="data_saver" msgid="5037565123367048522">"ഡാറ്റ സേവർ"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"ഡാറ്റാ സേവർ ഓണാണ്"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"ഡാറ്റാ സേവർ ഓഫാണ്"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"ഓൺ"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"ഓഫ്"</string>
<string name="nav_bar" msgid="1993221402773877607">"നാവിഗേഷൻ ബാർ"</string>
<string name="start" msgid="6873794757232879664">"ആരംഭിക്കൂ"</string>
<string name="center" msgid="4327473927066010960">"മധ്യം"</string>
@@ -523,4 +524,15 @@
<string name="preview" msgid="9077832302472282938">"പ്രിവ്യു നടത്തുക"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"ടൈലുകൾ ചേർക്കുന്നതിന് വലിച്ചിടുക"</string>
<string name="qs_edit" msgid="2232596095725105230">"എഡിറ്റുചെയ്യുക"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"സമയം"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"മണിക്കൂറും മിനിറ്റും സെക്കൻഡും കാണിക്കുക"</item>
+ <item msgid="1427801730816895300">"മണിക്കൂറും മിനിറ്റും കാണിക്കുക (ഡിഫോൾട്ട്)"</item>
+ <item msgid="3830170141562534721">"ഈ ഐക്കൺ കാണിക്കരുത്"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"എല്ലായ്പ്പോഴും ശതമാനം കാണിക്കുക"</item>
+ <item msgid="2139628951880142927">"ചാർജ്ജുചെയ്യുമ്പോൾ ശതമാനം കാണിക്കുക (ഡിഫോൾട്ട്)"</item>
+ <item msgid="3327323682209964956">"ഈ ഐക്കൺ കാണിക്കരുത്"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-mn-rMN/strings.xml b/packages/SystemUI/res/values-mn-rMN/strings.xml
index f22e315..efef939 100644
--- a/packages/SystemUI/res/values-mn-rMN/strings.xml
+++ b/packages/SystemUI/res/values-mn-rMN/strings.xml
@@ -299,8 +299,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"дэлгэц тогтоох"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"хайх"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g>-г эхлүүлж чадсангүй."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g>-г аюулгүй горимд идэвхгүй болгосон."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Түүх"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Устгах"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Хэвтээ чиглэлд хуваах"</string>
@@ -332,8 +331,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Дуугүй\nболгох"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Зөвхөн\nхамгийн чухлыг"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Зөвхөн\nсэрүүлэг"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Бүгд"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Бүх\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Цэнэглэж байна (дүүргэхэд <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Цэнэглэж байна (дүүргэхэд <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> шаардлагатай)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Цэнэглэж байна (дүүргэхэд <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> шаардлагатай)"</string>
@@ -446,7 +443,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Статус талбарт цагийн секундыг харуулах. Энэ нь тэжээлийн цэнэгт нөлөөлж болно."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Түргэн тохиргоог дахин засварлах"</string>
<string name="show_brightness" msgid="6613930842805942519">"Түргэн тохиргоонд гэрэлтүүлэг харах"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Дэлгэц хуваах дээш шудрах хурдасгуурыг идэвхжүүлэх"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Дэлгэц хуваах дээш шудрах дохиог идэвхжүүлэх"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Тойм товчлуурыг дээш шударч, хуваагдсан дэлгэцэд зангаагаар орох тохиргоог идэвхжүүлэх"</string>
<string name="experimental" msgid="6198182315536726162">"Туршилтын"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth-г асаах уу?"</string>
@@ -466,19 +463,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Дэлгэцэнд яаралтайгаар дуутай гаргах"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Бусад тохиргоо"</string>
<string name="notification_done" msgid="5279426047273930175">"Дууссан"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Хэвийн өнгө"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Шөнийн өнгө"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Өгөгдмөл өнгө"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Автомат"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Үл мэдэгдэх өнгө"</string>
- <string name="color_transform" msgid="6985460408079086090">"Өнгөний өөрчлөлт"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Түргэн тохиргооны хэсгийг харуулах"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Өгөгдмөл өөрчлөлтийг идэвхжүүлэх"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Хэрэгжүүлэх"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Тохиргоог баталгаажуулах"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Зарим өнгөний тохиргоо энэ төхөөрөмжийг ашиглах боломжгүй болгож болзошгүй. OK товчлуурыг дарж эдгээр өнгөний тохиргоог зөвшөөрөхгүй бол энэ тохиргоо нь 10 секундын дараа шинэчлэгдэх болно."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Тэжээл ашиглалт"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Цэнэглэх үед тэжээл хэмнэгч ажиллахгүй"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Тэжээл хэмнэгч"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Гүйцэтгэл болон дэвсгэрийн датаг багасгадаг"</string>
@@ -486,21 +498,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Нүүр хуудас"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Саяхны"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Буцах"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Бүү саад бол тохиргоог дууны түвшинд харуулах"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Бүү саад бол тохиргооны бүрэн хяналтыг дууны түвшний харилцах цонхонд зөвшөөрнө үү."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Дууны түвшин болон бүү саад бол тохиргоо"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Бүү саад бол тохиргоог оруулахын тулд дууны түвшинг бууруулах"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Бүү саад бол тохиргооноос гарахын тулд дууны түвшинг нэмэх"</string>
<string name="battery" msgid="7498329822413202973">"Зай"</string>
<string name="clock" msgid="7416090374234785905">"Цаг"</string>
<string name="headset" msgid="4534219457597457353">"Чихэвч"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Чихэвч холбогдсон"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Чихэвч холбогдсон"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Статусын самбарт харагдах дүрс тэмдгийг идэвхжүүлэх эсвэл идэвхгүй болгоно уу."</string>
<string name="data_saver" msgid="5037565123367048522">"Өгөгдөл хамгаалагч"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Өгөгдөл хамгаалагчийг асаасан байна"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Өгөгдөл хамгаалагчийг унтраасан байна"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Идэвхтэй"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Навигацийн самбар"</string>
<string name="start" msgid="6873794757232879664">"Эхлэх"</string>
<string name="center" msgid="4327473927066010960">"Гол хэсэг"</string>
@@ -523,4 +538,12 @@
<string name="preview" msgid="9077832302472282938">"Урьдчилж харах"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Дөрвөлж нэмэхийн тулд чирнэ үү"</string>
<string name="qs_edit" msgid="2232596095725105230">"Засах"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-mr-rIN/strings.xml b/packages/SystemUI/res/values-mr-rIN/strings.xml
index ff36be2..647fcf7 100644
--- a/packages/SystemUI/res/values-mr-rIN/strings.xml
+++ b/packages/SystemUI/res/values-mr-rIN/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"संपूर्ण\nशांतता"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"केवळ\nप्राधान्य"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"केवळ\nअलार्म"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"सर्व"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"सर्व\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"(<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> पूर्ण होईपर्यंत) चार्ज होत आहे"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"(<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> पूर्ण होईपर्यंत) वेगाने चार्ज होत आहे"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"(<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> पूर्ण होईपर्यंत) हळूहळू चार्ज होत आहे"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"स्टेटस बारमध्ये घड्याळ सेकंद दर्शवा. कदाचित बॅटरी आयुष्य प्रभावित होऊ शकते."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"द्रुत सेटिंग्जची पुनर्रचना करा"</string>
<string name="show_brightness" msgid="6613930842805942519">"द्रुत सेटिंग्जमध्ये चमक दर्शवा"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"विभाजित-स्क्रीन स्वाइप-अप त्वरक सक्षम करा"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"विभाजित-स्क्रीन स्वाइप-अप जेश्चर सक्षम करा"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"विहंगावलोकन बटणावरून वर स्वाइप करून विभाजित-स्क्रीन प्रविष्ट करण्यासाठी जेश्चर सक्षम करा"</string>
<string name="experimental" msgid="6198182315536726162">"प्रायोगिक"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"ब्लूटुथ सुरू करायचे?"</string>
@@ -467,14 +465,30 @@
<string name="notification_importance_max" msgid="5236987171904756134">"स्क्रीनवर डोकावून पहा आणि ध्वनी चालू करा"</string>
<string name="notification_more_settings" msgid="816306283396553571">"अधिक सेटिंग्ज"</string>
<string name="notification_done" msgid="5279426047273930175">"पूर्ण झाले"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"सामान्य रंग"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"रात्रीचे रंग"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"सानुकूल रंग"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"स्वयं"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"अज्ञात रंग"</string>
- <string name="color_transform" msgid="6985460408079086090">"रंग सुधारणा"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"द्रुत सेटिंग्ज टाइल दर्शवा"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"सानुकूल रूपांतरण सक्षम करा"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"लागू करा"</string>
<string name="color_revert_title" msgid="4746666545480534663">"सेटिंग्जची पुष्टी करा"</string>
<string name="color_revert_message" msgid="9116001069397996691">"काही रंग सेटिंग्ज या डिव्हाइसला निरुपयोगी करू शकतात. या रंग सेटिंग्जची पुष्टी करण्यासाठी ठीक आहे दाबा अन्यथा या सेटिंग्ज 10 सेकंदांनंतर रीसेट होतील."</string>
@@ -486,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"मुख्यपृष्ठ"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"अलीकडील"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"परत"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"आवाजामध्ये व्यत्यय आणू नका दर्शवा"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"आवाज संवादामधील व्यत्यय आणू नका च्या पूर्ण नियंत्रणास अनुमती द्या."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"आवाज आणि व्यत्यय आणू नका"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"आवाज कमी केल्यावर व्यत्यय आणू नका प्रविष्ट करा"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"आवाज वाढविल्यावर व्यत्यय आणू नका मधून बाहेर पडा"</string>
<string name="battery" msgid="7498329822413202973">"बॅटरी"</string>
<string name="clock" msgid="7416090374234785905">"घड्याळ"</string>
<string name="headset" msgid="4534219457597457353">"हेडसेट"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"हेडफोन कनेक्ट केले"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"हेडसेट कनेक्ट केला"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"चिन्हे स्टेटस बारमध्ये दर्शविले जाण्यापासून प्रतिबंधित करण्यासाठी ती सक्षम किंवा अक्षम करा."</string>
<string name="data_saver" msgid="5037565123367048522">"डेटा बचतकर्ता"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"डेटा बचतकर्ता चालू आहे"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"डेटा बचतकर्ता बंद आहे"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"चालू"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"नॅव्हिगेशन बार"</string>
<string name="start" msgid="6873794757232879664">"प्रारंभ"</string>
<string name="center" msgid="4327473927066010960">"मध्यवर्ती"</string>
@@ -523,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"पूर्वावलोकन"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"टाइल जोडण्यासाठी ड्रॅग करा"</string>
<string name="qs_edit" msgid="2232596095725105230">"संपादित करा"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-ms-rMY/strings.xml b/packages/SystemUI/res/values-ms-rMY/strings.xml
index 13a1f00..c7e0a80 100644
--- a/packages/SystemUI/res/values-ms-rMY/strings.xml
+++ b/packages/SystemUI/res/values-ms-rMY/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"penyematan skrin"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"cari"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Tidak dapat memulakan <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> dilumpuhkan dalam mod selamat."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Sejarah"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Kosongkan"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Mendatar Terpisah"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Senyap\nsepenuhnya"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Keutamaan\nsahaja"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Penggera\nsahaja"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Semua"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Semua\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Mengecas (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> sehingga penuh)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Mengecas cepat (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> sehingga penuh)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Mengecas perlahan (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> sehingga penuh)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Tunjukkan saat jam dalam bar status. Mungkin menjejaskan hayat bateri."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Susun Semula Tetapan Pantas"</string>
<string name="show_brightness" msgid="6613930842805942519">"Tunjukkan kecerahan dalam Tetapan Pantas"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Dayakan pemecut leret ke atas untuk memasuki skrin terpisah"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Dayakan gerak isyarat leret ke atas utk masuk skrin terpisah"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Dayakan gerak isyarat untuk memasuki skrin terpisah dengan meleret ke atas daripada butang Ikhtisar"</string>
<string name="experimental" msgid="6198182315536726162">"Percubaan"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Hidupkan Bluetooth?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Intai pada skrin dan bunyikan"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Lagi tetapan"</string>
<string name="notification_done" msgid="5279426047273930175">"Selesai"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Warna biasa"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Warna malam"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Warna tersuai"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Auto"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Warna tidak diketahui"</string>
- <string name="color_transform" msgid="6985460408079086090">"Pengubahsuaian warna"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Tunjukkan jubin Tetapan Pantas"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Dayakan jelmaan tersuai"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Gunakan"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Sahkan tetapan"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Sesetengah tetapan warna boleh menjadikan peranti ini tidak dapat digunakan. Klik OK untuk mengesahkan tetapan warna ini, jika tidak, tetapan ini akan ditetapkan semula selepas 10 saat."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Penggunaan bateri"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Penjimat Bateri tidak tersedia semasa mengecas"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Penjimat Bateri"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Mengurangkan prestasi dan data latar belakang"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Skrin Utama"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Terbaharu"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Kembali"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Tunjukkan jangan ganggu dalam kelantangan"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Benarkan kawalan penuh jangan ganggu dalam dialog kelantangan."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Kelantangan dan Jangan Ganggu"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Masuki mod jangan ganggu apabila kelantangan direndahkan"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Keluar drp mod jangan ganggu apabila kelantangan ditinggikan"</string>
<string name="battery" msgid="7498329822413202973">"Bateri"</string>
<string name="clock" msgid="7416090374234785905">"Jam"</string>
<string name="headset" msgid="4534219457597457353">"Set Kepala"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Fon kepala disambungkan"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Set kepala disambungkan"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Dayakan atau lumpuhkan ikon daripada dipaparkan dalam bar status."</string>
<string name="data_saver" msgid="5037565123367048522">"Penjimat Data"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Penjimat Data dihidupkan"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Penjimat Data dimatikan"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Hidup"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Bar navigasi"</string>
<string name="start" msgid="6873794757232879664">"Mula"</string>
<string name="center" msgid="4327473927066010960">"Tengah"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Pratonton"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Seret untuk menambahkan jubin"</string>
<string name="qs_edit" msgid="2232596095725105230">"Edit"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-my-rMM/strings.xml b/packages/SystemUI/res/values-my-rMM/strings.xml
index 60e2812..9e519e7 100644
--- a/packages/SystemUI/res/values-my-rMM/strings.xml
+++ b/packages/SystemUI/res/values-my-rMM/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"မျက်နှာပြင် ပင်ထိုးမှု"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"ရှာဖွေရန်"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> ကို မစနိုင်ပါ။"</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> ကို ဘေးကင်းလုံခြုံသည့်မုဒ်တွင် ပိတ်ထားပါသည်။"</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"မှတ်တမ်း"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"ရှင်းလင်းပါ"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"ရေပြင်ညီ ပိုင်းမည်"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"လုံးဝ\nတိတ်ဆိတ်ခြင်း"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"ဦးစားပေးမှု\nသာ"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"နှိုးစက်များ\nသာ"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"အားလုံး"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"အားလုံး\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"(<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> အပြည့် အထိ) အားသွင်းနေ"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"လျှင်မြန်စွာအားသွင်းခြင်း (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ပြည့်သည်အထိ)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"နှေးကွေးစွာ အားသွင်းခြင်း (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ပြည့်သည်အထိ)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"အခြေအနေပြနေရာမှာ နာရီ စက္ကန့်များကို ပြပါ။ ဘက်ထရီ သက်တမ်းကို အကျိုးသက်ရောက်နိုင်တယ်။"</string>
<string name="qs_rearrange" msgid="8060918697551068765">"အမြန် ဆက်တင်များကို ပြန်စီစဉ်ရန်"</string>
<string name="show_brightness" msgid="6613930842805942519">"အမြန် ဆက်တင်များထဲက တောက်ပမှုကို ပြရန်"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"မျက်နှာပြင်ခွဲကြည့်ရန် အပေါ်သို့ပွတ်ဆွဲခြင်း လုပ်ဆောင်ချက်ကိုဖွင့်ပါ"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"မျက်နှာပြင်ခွဲကြည့်ရန် အပေါ်သို့ပွတ်ဆွဲခြင်း အမူအရာကိုဖွင့်ပါ"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"ခြုံကြည့်သည့်ခလုတ်မှ အပေါ်သို့ပွတ်ဆွဲခြင်းဖြင့် မျက်နှာပြင်ခွဲကြည့်ရန် လက်ဟန်ကိုဖွင့်ပါ"</string>
<string name="experimental" msgid="6198182315536726162">"စမ်းသပ်ရေး"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"ဘလူးတုသ် ဖွင့်ရမလား။"</string>
@@ -468,19 +465,22 @@
<string name="notification_importance_max" msgid="5236987171904756134">"မျက်နှာပြင်ပေါ်သို့ ဖော်ပြကာ အသံဖွင့်ပါ"</string>
<string name="notification_more_settings" msgid="816306283396553571">"နောက်ထပ် ဆက်တင်များ"</string>
<string name="notification_done" msgid="5279426047273930175">"ပြီးပါပြီ"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"ပုံမှန် အရောင်များ"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"ည အရောင်များ"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"စိတ်ကြိုက် အရောင်များ"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"အလိုအလျောက်"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"မသိသည့် အရောင်များ"</string>
- <string name="color_transform" msgid="6985460408079086090">"အရောင် မွမ်းမံမှု"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"အမြန် ဆက်တင် လေးထောင့်ကွက်ကို ပြပါ"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"စိတ်ကြိုက် ပြောင်းလဲမှုကို ဖွင့်ပါ"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"အရောင်နှင့် အပြင်အဆင်"</string>
+ <string name="night_mode" msgid="3540405868248625488">"ညသုံးမုဒ်"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"ပြသမှုအချိန်အဆကို ညှိပါ"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"ဖွင့်ပါ"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"ပိတ်ပါ"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"အလိုအလျောက် ဖွင့်ပါ"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"တည်နေရာနှင့် တစ်ရက်တာအချိန်နှင့် သင့်လျော်သလို ညသုံးမုဒ်သို့ ပြောင်းပါ"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"ညသုံမုဒ်ဖွင့်ထားစဉ်"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Android OS အတွက်အရောင်ရင့်အပြင်အဆင်ကို သုံးပါ"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"အရောင်မွဲမှုကို ချိန်ပါ"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"အလင်းအမှောင်ချိန်ပါ"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"အရောင်ရင့်အပြင်အဆင်သည် ဆက်တင်များနှင့် သတိပေးချက်များကဲ့သို့ ပုံမှန်အားဖြင့် အရောင်ဖျော့အပြင်အဆင်အဖြစ်ရှိသည့် Android OS ၏အဓိကနေရာများကို ပြောင်းလဲပေးပါသည်။"</string>
<string name="color_apply" msgid="9212602012641034283">"အသုံးပြုပါ"</string>
<string name="color_revert_title" msgid="4746666545480534663">"ဆက်တင်များကို အတည်ပြုပါ"</string>
<string name="color_revert_message" msgid="9116001069397996691">"အချို့သော အရောင်ဆက်တက်များက ဤကိရိယာကို သုံးမရအောင် လုပ်ပစ်နိုင်ပါသည်။ ဤအရောင် ဆက်တင်များကို အတည်ပြုရန် အိုကေကို နှိပ်ပါ၊ သို့မဟုတ် ဤဆက်တင်များကို ၁၀ စက္ကန့် အကြာတွင် ပြန်ညှိလိုက်ပါမည်။"</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"ဘက်ထရီ အသုံးပြုမှု"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"အားသွင်းနေချိန်မှာ Battery Saver ကို သုံးမရပါ"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Battery Saver"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"လုပ်ဆောင်မှု နှင့် နောက်ခံ ဒေတာကို လျော့နည်းစေပါသည်"</string>
@@ -488,21 +488,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"ပင်မ"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"မကြာသေးခင်က"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"နောက်သို့"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"အသံအတိုးအလျှော့တွင် မနှောက်ယှက်ရကို ပြပါ"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"အသံအတိုးအလျှော့အကွက်ထဲတွင် မနှောက်ယှက်ရကို အပြည့်အဝထိန်းချုပ်ခွင့် ပြုပါ။"</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"အသံအတိုးအလျှော့နှင့် မနှောက်ယှက်ရ"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"အသံလျှော့သည်နှင့် မနှောက်ယှက်ရသို့ ပြောင်းလဲပါ"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"အသံထိန်းချုပ်သည့်ခလုတ်များဖြင့် ပြပါ"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"မနှောက်ယှက်ပါနှင့်"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"အသံထိန်းချုပ်သည့်ခလုတ် ဖြတ်လမ်း"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"အသံချဲ့သည်နှင့် မနှောက်ယှက်ရမှ ထွက်ပါ"</string>
<string name="battery" msgid="7498329822413202973">"ဘတ်ထရီ"</string>
<string name="clock" msgid="7416090374234785905">"နာရီ"</string>
<string name="headset" msgid="4534219457597457353">"မိုက်ခွက်ပါနားကြပ်"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"နားကြပ်တပ်ဆင်ပြီးပါပြီ"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"မိုက်ခွက်ပါနားကြပ်တပ်ဆင်ပြီးပါပြီ"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"အခြေအနေဘားတန်းတွင် သင်္ကေတပုံပြခြင်းကို ဖွင့်ရန် သို့မဟုတ် ပိတ်ရန်"</string>
<string name="data_saver" msgid="5037565123367048522">"ဒေတာချွေတာမှု"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"ဒေတာချွေတာမှု ဖွင့်ထားသည်"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"ဒေတာချွေတာမှု ပိတ်ထားသည်"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"ဖွင့်ပါ"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"ပိတ်ပါ"</string>
<string name="nav_bar" msgid="1993221402773877607">"ရွှေ့လျားရန်ဘားတန်း"</string>
<string name="start" msgid="6873794757232879664">"စတင်ပါ"</string>
<string name="center" msgid="4327473927066010960">"ဌာန"</string>
@@ -525,4 +524,15 @@
<string name="preview" msgid="9077832302472282938">"အစမ်းကြည့်ပါ"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"အချပ်များကိုထည့်ရန် ဖိဆွဲပါ"</string>
<string name="qs_edit" msgid="2232596095725105230">"တည်းဖြတ်ပါ"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"အချိန်"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"နာရီ၊ မိနစ်နှင့် စက္ကန့်ကိုပြပါ"</item>
+ <item msgid="1427801730816895300">"နာရီနှင့် မိနစ်ကိုပြပါ (ပုံသေ)"</item>
+ <item msgid="3830170141562534721">"ဤသင်္ကေတပုံကို မပြပါနှင့်"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"ရာခိုင်နှုန်းကို အမြဲတမ်းပြပါ"</item>
+ <item msgid="2139628951880142927">"အားသွင်းနေစဉ်တွင် ရာခိုင်နှုန်းကိုပြပါ (ပုံသေ)"</item>
+ <item msgid="3327323682209964956">"ဤသင်္ကေတပုံကို မပြပါနှင့်"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index f326a01..bdac9f8 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"én-appsmodus"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"Søk"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Kunne ikke starte <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> er slått av i sikker modus."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Logg"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Tøm"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Del horisontalt"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Total\nstillhet"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Bare\nPrioritet"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Bare\nalarmer"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Alle"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Alle\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Lader (fulladet om <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Lader raskt (fulladet om <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Lader sakte (fulladet om <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Vis sekunder i statusfeltet på klokken. Det kan påvirke batteritiden."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Omorganiser hurtiginnstillingene"</string>
<string name="show_brightness" msgid="6613930842805942519">"Vis lysstyrke i hurtiginnstillingene"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Slå på delt skjerm ved å sveipe opp med akseleratoren"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Slå på delt skjerm ved å sveipe opp"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Slå på bevegelsen for å åpne delt skjerm ved å sveipe opp fra Oversikt-knappen"</string>
<string name="experimental" msgid="6198182315536726162">"På forsøksstadiet"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Vil du slå på Bluetooth?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Vis fort på skjermen med lyd"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Flere innstillinger"</string>
<string name="notification_done" msgid="5279426047273930175">"Ferdig"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Normale farger"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Nattfarger"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Spesialtilpassede farger"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automatisk"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Ukjente farger"</string>
- <string name="color_transform" msgid="6985460408079086090">"Fargemodifisering"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Vis ruten for hurtiginnstillinger"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Slå på spesialtilpasset forvandling"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Bruk"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Bekreft innstillingene"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Noen fargeinnstillinger kan gjøre denne enheten ubrukelig. Klikk på OK for å bekrefte disse fargeinnstillingene, ellers blir de tilbakestilt etter ti sekunder."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Batteribruk"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Batterisparing er ikke tilgjengelig under lading"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Batterisparing"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Reduserer ytelsen og begrenser bakgrunnsdataene"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Startside"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Nylige"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Tilbake"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Vis «Ikke forstyrr» i volumkontrollene"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Tillat full kontroll over «Ikke forstyrr» i volumdialogen."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volum og «Ikke forstyrr»"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Åpne «Ikke forstyrr» med volum ned-knappen"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Lukk «Ikke forstyrr» med volum opp-knappen"</string>
<string name="battery" msgid="7498329822413202973">"Batteri"</string>
<string name="clock" msgid="7416090374234785905">"Klokke"</string>
<string name="headset" msgid="4534219457597457353">"Hodetelefoner"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Øretelefoner er tilkoblet"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Hodetelefoner er tilkoblet"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Vis eller skjul ikoner i statusfeltet."</string>
<string name="data_saver" msgid="5037565123367048522">"Datasparing"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Datasparing er på"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Datasparing er av"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"På"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Navigasjonsrad"</string>
<string name="start" msgid="6873794757232879664">"Start"</string>
<string name="center" msgid="4327473927066010960">"Midtstilt"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Forhåndsvisning"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Dra for å legge til fliser"</string>
<string name="qs_edit" msgid="2232596095725105230">"Endre"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-ne-rNP/strings.xml b/packages/SystemUI/res/values-ne-rNP/strings.xml
index 9b67d9c..e2588da 100644
--- a/packages/SystemUI/res/values-ne-rNP/strings.xml
+++ b/packages/SystemUI/res/values-ne-rNP/strings.xml
@@ -334,8 +334,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"पूरै\nशान्त"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"प्राथमिकता \nमात्र"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"अलार्महरू \nमात्र"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"सबै"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"सबै\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"चार्ज हुँदै (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> पूर्ण भएसम्म)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"छिटो चार्ज हुँदै (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> पूर्ण नभएसम्म)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"बिस्तारै चार्ज हुँदै (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> पूर्ण नभएसम्म)"</string>
@@ -448,7 +446,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"वस्तुस्थिति पट्टीको घडीमा सेकेन्ड देखाउनुहोस्। ब्याट्री आयु प्रभावित हुन सक्छ।"</string>
<string name="qs_rearrange" msgid="8060918697551068765">"द्रुत सेटिङहरू पुनः व्यवस्थित गर्नुहोस्"</string>
<string name="show_brightness" msgid="6613930842805942519">"द्रुत सेटिङहरूमा उज्यालो देखाउनुहोस्"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"विभाजित-स्क्रिनको स्वाइप-अप एक्सेलेटर सक्रिय गर्नुहोस्"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"विभाजित-स्क्रिन स्वाइप-अप इशारा सक्षम गर्नुहोस्"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"परिदृश्य बटनदेखि माथि स्वाइप गरी विभाजित-स्क्रिन प्रविष्ट गर्न इसारालाई सक्रिय गर्नुहोस्"</string>
<string name="experimental" msgid="6198182315536726162">"प्रयोगात्मक"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"ब्लुटुथ सक्रिय पार्ने हो?"</string>
@@ -468,18 +466,22 @@
<string name="notification_importance_max" msgid="5236987171904756134">"स्क्रिनमा हेर्नुहोस् र आवाज निकाल्नुहोस्"</string>
<string name="notification_more_settings" msgid="816306283396553571">"थप सेटिङहरू"</string>
<string name="notification_done" msgid="5279426047273930175">"सम्पन्न भयो"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"सामान्य रङहरू"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"रात्री रङहरू"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"अनुकूलन रङहरू"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"स्वतः"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"अज्ञात रङहरू"</string>
- <string name="color_transform" msgid="6985460408079086090">"रङ परिमार्जन"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"द्रुत सेटिङ टाइल देखाउनुहोस्"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"अनुकूलन रूपान्तरण सक्रिय गर्नुहोस्"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"रंग र रूप"</string>
+ <string name="night_mode" msgid="3540405868248625488">"रात्री मोड"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"प्रदर्शन जाँच्नुहोस्"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"खोल्नुहोस्"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"बन्द गर्नुहोस्"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"स्वतः खोल्नुहोस्"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"स्थान र दिनको समयको लागि उपयुक्त रूपमा रात्री मोडमा स्विच गर्नुहोस्"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"रात्री मोड खुला भएको समय"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Android OS का लागि गाढा रंगको विषयवस्तु प्रयोग गर्नुहोस्"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"रङ्ग समायोजन गर्नुहोस्"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"चमक समायोजन गर्नुहोस्"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"Android OS कोर क्षेत्रमा गहिरो रंगको विषयवस्तु लागू हुन्छ, जुन सामान्यतया एउटा हल्का रंगको विषयवस्तुमा प्रदर्शन गरिन्छ, जस्तै सेटिङ र सूचनाहरू ।"</string>
<string name="color_apply" msgid="9212602012641034283">"लागू गर्नुहोस्"</string>
<string name="color_revert_title" msgid="4746666545480534663">"सेटिङहरूको पुष्टि गर्नुहोस्"</string>
<string name="color_revert_message" msgid="9116001069397996691">"केही रङ सेटिङहरूले यस यन्त्रलाई अनुपयोगी बनाउन सक्छन्। यी रङ सेटिङहरू पुष्टि गर्न ठीक छ मा क्लिक गर्नुहोस्, अन्यथा यी सेटिङहरू १० सेकेण्डपछि रिसेट हुनेछन्।"</string>
- <string name="battery_panel_title" msgid="7944156115535366613">"ब्याट्रि उपयोग"</string>
+ <string name="battery_panel_title" msgid="7944156115535366613">"ब्याट्री उपयोग"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"चार्ज गर्ने समयमा ब्याट्री सेभर उपलब्ध छैन"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"ब्याट्री सेभर"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"कार्यसम्पादन र पृष्ठभूमि डेटा घटाउँछ"</string>
@@ -487,21 +489,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"गृह"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"हालैका"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"पछाडि"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"भोल्युममा बाधा नपुर्याउनुहोस् देखाउनुहोस्"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"भोल्युमको संवादमा बाधा नपुर्याउनुहोस् को पूर्ण नियन्त्रणलाई अनुमति दिनुहोस्"</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"भोल्युम र बाधा नपुर्याउनुहोस्"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"भोल्युम कम गर्नेमा बाधा नपुर्याउनुहोस् प्रविष्ट गर्नुहोस्"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"भोल्युम नियन्त्रणसंग देखाउनुहोस्"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"बाधा नपुर्याउनुहोस्"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"भोल्युम बटन सर्टकट"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"भोल्युम बढाउनेमा बाधा नपुर्याउनुहोस् प्रविष्ट गर्नुहोस्"</string>
<string name="battery" msgid="7498329822413202973">"ब्याट्री"</string>
<string name="clock" msgid="7416090374234785905">"घडी"</string>
<string name="headset" msgid="4534219457597457353">"हेडसेट"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"हेडफोनहरू जडान गरियो"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"हेडसेट जडान गरियो"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"वस्तुस्थिति पट्टीमा देखाइनको लागि आइकनहरू सक्रिय वा निष्क्रिय गर्नुहोस्।"</string>
<string name="data_saver" msgid="5037565123367048522">"डेटा सेभर"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"डेटा सेभर अन छ"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"डेटा सेभर बन्द छ"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"सक्रिय गर्नुहोस्"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"बन्द गर्नुहोस्"</string>
<string name="nav_bar" msgid="1993221402773877607">"नेभिगेशन पट्टी"</string>
<string name="start" msgid="6873794757232879664">"सुरु गर्नुहोस्"</string>
<string name="center" msgid="4327473927066010960">"केन्द्र"</string>
@@ -524,4 +525,15 @@
<string name="preview" msgid="9077832302472282938">"पूर्वावलोकन"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"टाइलहरू थप्न तान्नुहोस्"</string>
<string name="qs_edit" msgid="2232596095725105230">"सम्पादन गर्नुहोस्"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"समय"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"घण्टा, मिनेट, र सेकेन्ड देखाउनुहोस्"</item>
+ <item msgid="1427801730816895300">"घण्टा र मिनेट (पूर्वनिर्धारित) देखाउनुहोस्"</item>
+ <item msgid="3830170141562534721">"यो आइकन नदेखाउनुहोस्"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"सधैं प्रतिशत देखाउनुहोस्"</item>
+ <item msgid="2139628951880142927">"चार्ज गर्दा प्रतिशत देखाउनुहोस् (पूर्वनिर्धारित)"</item>
+ <item msgid="3327323682209964956">"यो आइकन नदेखाउनुहोस्"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index 23455d8..4e23d4f 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Totale\nstilte"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Alleen\nprioriteit"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Alleen\nalarmen"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Alle"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Alle\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Opladen (vol over <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Snel opladen (vol over <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Langzaam opladen (vol over <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Klokseconden op de statusbalk weergeven. Kan van invloed zijn op de accuduur."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Snelle instellingen opnieuw indelen"</string>
<string name="show_brightness" msgid="6613930842805942519">"Helderheid weergeven in Snelle instellingen"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Omhoog vegen voor gesplitst scherm inschakelen"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Omhoog vegen voor gesplitst scherm inschakelen"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Gebaar inschakelen om gesplitst scherm te openen door vanaf de knop Overzicht omhoog te vegen"</string>
<string name="experimental" msgid="6198182315536726162">"Experimenteel"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth inschakelen?"</string>
@@ -467,14 +465,30 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Op het scherm weergeven en geluid laten horen"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Meer instellingen"</string>
<string name="notification_done" msgid="5279426047273930175">"Gereed"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Normale kleuren"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Nachtkleuren"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Aangepaste kleuren"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automatisch"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Onbekende kleuren"</string>
- <string name="color_transform" msgid="6985460408079086090">"Kleuraanpassing"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Tegel voor \'Snelle instellingen\' weergeven"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Aangepast transformeren inschakelen"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Toepassen"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Instellingen bevestigen"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Bij sommige kleurinstellingen kan het apparaat onbruikbaar worden. Klik op OK om deze kleurinstellingen te bevestigen, anders worden deze instellingen na tien seconden gereset."</string>
@@ -486,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Startpagina"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Recent"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Terug"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"\'Niet storen\' weergeven in volume"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Volledig beheer van \'Niet storen\' in het volumedialoogvenster toestaan."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volume en \'Niet storen\'"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"\'Niet storen\' activeren bij volume omlaag"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"\'Niet storen\' afsluiten bij volume omhoog"</string>
<string name="battery" msgid="7498329822413202973">"Accu"</string>
<string name="clock" msgid="7416090374234785905">"Klok"</string>
<string name="headset" msgid="4534219457597457353">"Headset"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Hoofdtelefoon aangesloten"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Headset aangesloten"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"De weergave van pictogrammen in de statusbalk in- of uitschakelen."</string>
<string name="data_saver" msgid="5037565123367048522">"Databesparing"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Databesparing is ingeschakeld"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Databesparing is uitgeschakeld"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Aan"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Navigatiebalk"</string>
<string name="start" msgid="6873794757232879664">"Begin"</string>
<string name="center" msgid="4327473927066010960">"Midden"</string>
@@ -523,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Voorbeeld"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Sleep om tegels toe te voegen"</string>
<string name="qs_edit" msgid="2232596095725105230">"Bewerken"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-pa-rIN/strings.xml b/packages/SystemUI/res/values-pa-rIN/strings.xml
index 0d8ab19..8c7028d 100644
--- a/packages/SystemUI/res/values-pa-rIN/strings.xml
+++ b/packages/SystemUI/res/values-pa-rIN/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"ਕੁਲ \n ਚੁੱਪੀ"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"ਕੇਵਲ\nਤਰਜੀਹੀ"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"ਕੇਵਲ\nਅਲਾਰਮ"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"ਸਭ"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"ਸਾਰੀਆਂ\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"ਚਾਰਜਿੰਗ (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ਪੂਰਾ ਹੋਣ ਤੱਕ)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"ਤੇਜ਼ੀ ਨਾਲ ਚਾਰਜ ਹੋ ਰਹੀ ਹੈ (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ਪੂਰੀ ਹੋਣ ਤੱਕ)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"ਹੌਲੀ-ਹੌਲੀ ਚਾਰਜ ਹੋ ਰਹੀ ਹੈ (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ਪੂਰੀ ਹੋਣ ਤੱਕ)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"ਸਥਿਤੀ ਬਾਰ ਵਿੱਚ ਘੜੀ ਸਕਿੰਟ ਦਿਖਾਓ। ਬੈਟਰੀ ਸਮਰੱਥਾ ਤੇ ਅਸਰ ਪੈ ਸਕਦਾ ਹੈ।"</string>
<string name="qs_rearrange" msgid="8060918697551068765">"ਤਤਕਾਲ ਸੈਟਿੰਗਾਂ ਨੂੰ ਦੁਬਾਰਾ ਕ੍ਰਮ ਦਿਓ"</string>
<string name="show_brightness" msgid="6613930842805942519">"ਤਤਕਾਲ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਚਮਕ ਦਿਖਾਓ"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"ਸਪਲਿਟ-ਸਕ੍ਰੀਨ ਸਵਾਈਪ-ਅੱਪ ਐਕਸੇਲਰੇਟਰ ਨੂੰ ਯੋਗ ਬਣਾਓ"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"ਸਪਲਿਟ-ਸਕ੍ਰੀਨ ਸਵਾਈਪ-ਅੱਪ ਸੰਕੇਤ ਨੂੰ ਯੋਗ ਬਣਾਓ"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"ਰੂਪ-ਰੇਖਾ ਬਟਨ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਨ ਦੁਆਰਾ ਸਪਲਿਟ-ਸਕ੍ਰੀਨ ਵਿੱਚ ਦਾਖਲ ਹੋਣ ਲਈ ਸੰਕੇਤ ਨੂੰ ਯੋਗ ਬਣਾਓ"</string>
<string name="experimental" msgid="6198182315536726162">"ਪ੍ਰਯੋਗਾਤਮਿਕ"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth ਚਾਲੂ ਕਰੋ?"</string>
@@ -467,14 +465,18 @@
<string name="notification_importance_max" msgid="5236987171904756134">"ਸਕਰੀਨ \'ਤੇ ਝਾਤੀ ਮਾਰੋ ਅਤੇ ਆਵਾਜ਼ ਕਰੋ"</string>
<string name="notification_more_settings" msgid="816306283396553571">"ਹੋਰ ਸੈਟਿੰਗਾਂ"</string>
<string name="notification_done" msgid="5279426047273930175">"ਹੋ ਗਿਆ"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"ਸਧਾਰਨ ਰੰਗ"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"ਰਾਤ ਦੇ ਰੰਗ"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"ਕਸਟਮ ਰੰਗ"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"ਸਵੈ"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"ਅਗਿਆਤ ਰੰਗ"</string>
- <string name="color_transform" msgid="6985460408079086090">"ਰੰਗ ਸੋਧ"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"ਤਤਕਾਲ ਸੈਟਿੰਗਾਂ ਟਾਇਲ ਵਿਖਾਓ"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"ਕਸਟਮ ਤਬਦੀਲੀ ਯੋਗ ਬਣਾਓ"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"ਰੰਗ ਅਤੇ ਵਿਖਾਲਾ"</string>
+ <string name="night_mode" msgid="3540405868248625488">"ਰਾਤ ਮੋਡ"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"ਡਿਸਪਲੇ ਨੂੰ ਕੈਲੀਬ੍ਰੇਟ ਕਰੋ"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"ਚਾਲੂ"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"ਬੰਦ"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"ਸਵੈਚਾਲਿਤ ਤੌਰ \'ਤੇ ਚਾਲੂ ਕਰੋ"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"ਟਿਕਾਣੇ ਅਤੇ ਦਿਨ ਦੇ ਸਮੇਂ ਲਈ ਢੁਕਵੇਂ ਰਾਤ ਮੋਡ \'ਤੇ ਸਵਿੱਚ ਕਰੋ"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"ਜਦੋਂ ਰਾਤ ਮੋਡ ਚਾਲੂ ਹੋਵੇ"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Android OS ਲਈ ਗੂੜ੍ਹੇ ਥੀਮ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"ਟਿੰਟ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"ਚਮਕ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"ਗੂੜ੍ਹੇ ਥੀਮ ਨੂੰ Android OS ਦੇ ਉਹਨਾਂ ਮੁੱਖ ਖੇਤਰਾਂ \'ਤੇ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜੋ ਆਮ ਤੌਰ \'ਤੇ ਇੱਕ ਹਲਕੇ ਥੀਮ ਵਿੱਚ ਵਿਖਾਏ ਜਾਂਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ ਸੈਟਿੰਗਾਂ ਅਤੇ ਸੂਚਨਾਵਾਂ।"</string>
<string name="color_apply" msgid="9212602012641034283">"ਲਾਗੂ ਕਰੋ"</string>
<string name="color_revert_title" msgid="4746666545480534663">"ਸੈਟਿੰਗਾਂ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</string>
<string name="color_revert_message" msgid="9116001069397996691">"ਕੁਝ ਰੰਗ ਸੈਟਿੰਗਾਂ ਇਸ ਡੀਵਾਈਸ ਨੂੰ ਬੇਕਾਰ ਕਰ ਸਕਦੀਆਂ ਹਨ। ਇਹਨਾਂ ਰੰਗ ਸੈਟਿੰਗਾਂ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਠੀਕ \'ਤੇ ਕਲਿੱਕ ਕਰੋ, ਨਹੀਂ ਤਾਂ ਇਹ ਸੈਟਿੰਗਾਂ 10 ਸਕਿੰਟ ਬਾਅਦ ਮੁੜ-ਸੈੱਟ ਹੋ ਜਾਣਗੀਆਂ।"</string>
@@ -486,21 +488,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"ਮੁੱਖ ਸਕ੍ਰੀਨ"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"ਹਾਲੀਆ"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"ਪਿੱਛੇ"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"ਵੌਲਯੂਮ ਵਿੱਚ ਮੈਨੂੰ ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ ਵਿਖਾਓ"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"ਵੌਲਯੂਮ ਡਾਇਲੌਗ ਵਿੱਚ ਮੈਨੂੰ ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ ਦੇ ਪੂਰੇ ਨਿਯੰਤ੍ਰਣ ਦੀ ਮਨਜ਼ੂਰੀ ਦਿਓ।"</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"ਵੌਲਯੂਮ ਅਤੇ ਮੈਨੂੰ ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"ਵੌਲਯੂਮ ਘੱਟ ਹੋਣ \'ਤੇ ਮੈਨੂੰ ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ ਵਿੱਚ ਦਾਖਲ ਹੋਵੋ"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"ਵੌਲਯੂਮ ਕੰਟਰੋਲਾਂ ਨਾਲ ਵਿਖਾਓ"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"ਮੈਨੂੰ ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"ਵੌਲਯੂਮ ਬਟਨ ਸ਼ਾਰਟਕੱਟ"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"ਵੌਲਯੂਮ ਉੱਚੀ ਹੋਣ \'ਤੇ ਮੈਨੂੰ ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ ਤੋਂ ਬਾਹਰ ਜਾਓ"</string>
<string name="battery" msgid="7498329822413202973">"ਬੈਟਰੀ"</string>
<string name="clock" msgid="7416090374234785905">"ਘੜੀ"</string>
<string name="headset" msgid="4534219457597457353">"ਹੈੱਡਸੈੱਟ"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"ਹੈੱਡਫੋਨਾਂ ਨੂੰ ਕਨੈਕਟ ਕੀਤਾ ਗਿਆ"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"ਹੈੱਡਸੈੱਟ ਕਨੈਕਟ ਕੀਤਾ ਗਿਆ"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"ਚਿੰਨ੍ਹਾਂ ਦੇ ਸਥਿਤੀ ਪੱਟੀ ਵਿੱਚ ਵਿਖਾਏ ਜਾਣ ਨੂੰ ਯੋਗ ਜਾਂ ਅਯੋਗ ਬਣਾਓ।"</string>
<string name="data_saver" msgid="5037565123367048522">"ਡੈਟਾ ਸੇਵਰ"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"ਡੈਟਾ ਸੇਵਰ ਚਾਲੂ ਹੈ"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"ਡੈਟਾ ਸੇਵਰ ਬੰਦ ਹੈ"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"ਚਾਲੂ"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"ਬੰਦ"</string>
<string name="nav_bar" msgid="1993221402773877607">"ਆਵਾਗੌਣ ਪੱਟੀ"</string>
<string name="start" msgid="6873794757232879664">"ਸ਼ੁਰੂ ਕਰੋ"</string>
<string name="center" msgid="4327473927066010960">"ਕੇਂਦਰ"</string>
@@ -523,4 +524,15 @@
<string name="preview" msgid="9077832302472282938">"ਝਲਕ"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"ਟਾਇਲਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਘਸੀਟੋ"</string>
<string name="qs_edit" msgid="2232596095725105230">"ਸੰਪਾਦਨ ਕਰੋ"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"ਸਮਾਂ"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"ਘੰਟੇ, ਮਿੰਟ, ਅਤੇ ਸਕਿੰਟ ਵਿਖਾਓ"</item>
+ <item msgid="1427801730816895300">"ਘੰਟੇ ਅਤੇ ਮਿੰਟ ਵਿਖਾਓ (ਪੂਰਵ-ਨਿਰਧਾਰਤ)"</item>
+ <item msgid="3830170141562534721">"ਇਸ ਚਿੰਨ੍ਹ ਨੂੰ ਨਾ ਵਿਖਾਓ"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"ਹਮੇਸ਼ਾਂ ਪ੍ਰਤੀਸ਼ਤਤਾ ਵਿਖਾਓ"</item>
+ <item msgid="2139628951880142927">"ਚਾਰਜਿੰਗ ਦੌਰਾਨ ਪ੍ਰਤੀਸ਼ਤਤਾ ਵਿਖਾਓ (ਪੂਰਵ-ਨਿਰਧਾਰਤ)"</item>
+ <item msgid="3327323682209964956">"ਇਸ ਚਿੰਨ੍ਹ ਨੂੰ ਨਾ ਵਿਖਾਓ"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index 2eae56a..07af3d5 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -303,8 +303,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"przypinanie ekranu"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"szukaj"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Nie udało się uruchomić aplikacji <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"Aplikacja <xliff:g id="APP">%s</xliff:g> została wyłączona w trybie bezpiecznym."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Historia"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Wyczyść"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Podziel poziomo"</string>
@@ -336,8 +335,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Całkowita\ncisza"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Tylko\npriorytetowe"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Tylko\nalarmy"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Wszystkie"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Wszystkie\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Ładuje się (pełne naładowanie za <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Szybkie ładowanie (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> do końca)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Wolne ładowanie (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> do końca)"</string>
@@ -450,7 +447,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Pokaż sekundy na zegarku na pasku stanu. Może mieć wpływ na czas pracy baterii."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Uporządkuj Szybkie ustawienia"</string>
<string name="show_brightness" msgid="6613930842805942519">"Pokaż jasność w Szybkich ustawieniach"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Włącz przyspieszenie dzielenia ekranu przesunięciem w górę"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Włącz dzielenie ekranu gestem przesunięcia w górę"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Włącz dzielenie ekranu po wykonaniu gestu przesunięcia palcem w górę od przycisku Przegląd"</string>
<string name="experimental" msgid="6198182315536726162">"Eksperymentalne"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Włączyć Bluetooth?"</string>
@@ -470,19 +467,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Wyświetlaj na ekranie i odtwarzaj dźwięk"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Więcej ustawień"</string>
<string name="notification_done" msgid="5279426047273930175">"Gotowe"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Kolory standardowe"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Kolory nocne"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Kolory niestandardowe"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automatycznie"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Nieznane kolory"</string>
- <string name="color_transform" msgid="6985460408079086090">"Zmiana koloru"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Pokazuj kafelek szybkich ustawień"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Włącz przekształcenie niestandardowe"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Zastosuj"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Potwierdź ustawienia"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Niektóre ustawienia kolorów mogą utrudniać korzystanie z urządzenia. Kliknij OK, by potwierdzić te ustawienia kolorów. Jeśli tego nie zrobisz, zostaną one zresetowane po 10 sekundach."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Wykorzystanie baterii"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Oszczędzanie baterii nie jest dostępne podczas ładowania"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Oszczędzanie baterii"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Zmniejsza wydajność i ogranicza dane w tle"</string>
@@ -490,21 +502,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Ekran główny"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Ostatnie"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Wstecz"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Pokaż panel Nie przeszkadzać w oknie sterowania głośnością"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Pokaż cały panel Nie przeszkadzać w oknie sterowania głośnością."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Głośność i tryb Nie przeszkadzać"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Włącz tryb Nie przeszkadzać przy zmniejszaniu głośności"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Wyłącz tryb Nie przeszkadzać przy zwiększaniu głośności"</string>
<string name="battery" msgid="7498329822413202973">"Bateria"</string>
<string name="clock" msgid="7416090374234785905">"Zegar"</string>
<string name="headset" msgid="4534219457597457353">"Zestaw słuchawkowy"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Słuchawki są podłączone"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Zestaw słuchawkowy jest podłączony"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Włącz lub wyłącz wyświetlanie ikon na pasku stanu."</string>
<string name="data_saver" msgid="5037565123367048522">"Oszczędzanie danych"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Oszczędzanie danych jest włączone"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Oszczędzanie danych jest wyłączone"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Wł."</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Pasek nawigacji"</string>
<string name="start" msgid="6873794757232879664">"Na początku"</string>
<string name="center" msgid="4327473927066010960">"Na środku"</string>
@@ -527,4 +542,12 @@
<string name="preview" msgid="9077832302472282938">"Podgląd"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Przeciągnij, aby dodać kafelki"</string>
<string name="qs_edit" msgid="2232596095725105230">"Edytuj"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml
index 5219454..ab4b8b8 100644
--- a/packages/SystemUI/res/values-pt-rBR/strings.xml
+++ b/packages/SystemUI/res/values-pt-rBR/strings.xml
@@ -334,8 +334,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Silêncio\ntotal"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Somente\nprioridade"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Somente\nalarmes"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Tudo"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Todas\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Carregando (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> até concluir)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Carregando rapidamente (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> para conclusão)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Carregando lentamente (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> para conclusão)"</string>
@@ -448,7 +446,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Mostrar segundos do relógio na barra de status. Pode afetar a duração da bateria."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Reorganizar \"Configurações rápidas\""</string>
<string name="show_brightness" msgid="6613930842805942519">"Mostrar brilho nas \"Configurações rápidas\""</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Ativar acelerador para dividir a tela ao deslizar para cima"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Ativar gesto para dividir a tela ao deslizar para cima"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Ativa o gesto para entrar no modo de tela dividida deslizando a partir do botão \"Visão geral\""</string>
<string name="experimental" msgid="6198182315536726162">"Experimentais"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Ativar o Bluetooth?"</string>
@@ -468,19 +466,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Mostrar parcialmente na tela e emitir som"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Mais configurações"</string>
<string name="notification_done" msgid="5279426047273930175">"Concluído"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Cores normais"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Cores noturnas"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Cores personalizadas"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automáticas"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Cores desconhecidas"</string>
- <string name="color_transform" msgid="6985460408079086090">"Modificação de cor"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Mostrar bloco de configurações rápidas"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Ativar transformação personalizada"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Aplicar"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Confirmar configurações"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Algumas configurações de cor podem tornar o dispositivo inutilizável. Clique em \"OK\" para confirmar essas configurações de cor; caso contrário, essas configurações serão redefinidas após 10 segundos."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Uso da bateria"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"A Economia de bateria não fica disponível durante o carregamento"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Economia de bateria"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Reduz o desempenho e os dados em segundo plano"</string>
@@ -488,21 +501,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Início"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Recentes"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Voltar"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Mostrar \"Não perturbe\" nas opções de volume"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Permitir controle total do recurso \"Não perturbe\" na caixa de diálogo de volume."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volume e \"Não perturbe\""</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Entre no modo \"Não perturbe\" abaixando o volume"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Saia do modo \"Não perturbe\" aumentando o volume"</string>
<string name="battery" msgid="7498329822413202973">"Bateria"</string>
<string name="clock" msgid="7416090374234785905">"Relógio"</string>
<string name="headset" msgid="4534219457597457353">"Fone de ouvido"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Fones de ouvido conectados"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Fone de ouvido conectado"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Ativar ou desativar a exibição de ícones na barra de status."</string>
<string name="data_saver" msgid="5037565123367048522">"Economia de dados"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Economia de dados ativada"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"A Economia de dados está desativada"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Ativado"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Barra de navegação"</string>
<string name="start" msgid="6873794757232879664">"Iniciar"</string>
<string name="center" msgid="4327473927066010960">"Centralizar"</string>
@@ -525,4 +541,12 @@
<string name="preview" msgid="9077832302472282938">"Visualização"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Arraste para adicionar blocos"</string>
<string name="qs_edit" msgid="2232596095725105230">"Editar"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index 064e565..e8c9115 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Silêncio\ntotal"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Apenas\nprioridade"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Apenas\nalarmes"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Tudo"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Todas\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"A carregar (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> até à carga máxima)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"A carregar rapid. (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> até à carga máxima)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"A carregar lentam. (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> até à carga máxima)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Mostrar segundos do relógio na barra de estado. Pode afetar a autonomia da bateria."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Reorganizar as Definições rápidas"</string>
<string name="show_brightness" msgid="6613930842805942519">"Mostrar luminosidade nas Definições rápidas"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Ativar acelerador de deslize ráp. para cima do ecrã dividido"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Ativar gesto de deslize rápido para cima do ecrã dividido"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Ativar o gesto para aceder ao ecrã dividido ao deslizar rapidamente para cima a partir do botão Vista geral"</string>
<string name="experimental" msgid="6198182315536726162">"Experimental"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Pretende ativar o Bluetooth?"</string>
@@ -467,14 +465,30 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Mostrar no ecrã e emitir som"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Mais definições"</string>
<string name="notification_done" msgid="5279426047273930175">"Concluído"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Cores normais"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Cores noturnas"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Cores personalizadas"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automáticas"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Cores desconhecidas"</string>
- <string name="color_transform" msgid="6985460408079086090">"Modificação de cor"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Mostrar o mosaico de Definições rápidas"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Ativar transformação personalizada"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Aplicar"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Confirmar as definições"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Algumas definições de cor podem tornar este dispositivo instável. Clique em OK para confirmar estas definições de cor. Caso contrário, estas definições serão repostas após 10 segundos."</string>
@@ -486,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Página inicial"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Recentes"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Anterior"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Mostrar Não incomodar no volume"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Permitir o controlo total de Não incomodar na caixa de diálogo do volume."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volume e Não incomodar"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Ativar Não incomodar ao diminuir o volume"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Desativar Não incomodar ao aumentar o volume"</string>
<string name="battery" msgid="7498329822413202973">"Bateria"</string>
<string name="clock" msgid="7416090374234785905">"Relógio"</string>
<string name="headset" msgid="4534219457597457353">"Ausc. com microfone integrado"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Auscultadores ligados"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Auscultadores com microfone integrado ligados"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Ativar ou desativar a apresentação de ícones na barra de estado."</string>
<string name="data_saver" msgid="5037565123367048522">"Poupança de dados"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Poupança de dados ativada"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Poupança de dados desativada"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Ativado"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Barra de navegação"</string>
<string name="start" msgid="6873794757232879664">"Início"</string>
<string name="center" msgid="4327473927066010960">"Centro"</string>
@@ -523,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Pré-visualizar"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Arraste para adicionar mosaicos"</string>
<string name="qs_edit" msgid="2232596095725105230">"Editar"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index 5219454..ab4b8b8 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -334,8 +334,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Silêncio\ntotal"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Somente\nprioridade"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Somente\nalarmes"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Tudo"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Todas\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Carregando (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> até concluir)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Carregando rapidamente (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> para conclusão)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Carregando lentamente (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> para conclusão)"</string>
@@ -448,7 +446,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Mostrar segundos do relógio na barra de status. Pode afetar a duração da bateria."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Reorganizar \"Configurações rápidas\""</string>
<string name="show_brightness" msgid="6613930842805942519">"Mostrar brilho nas \"Configurações rápidas\""</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Ativar acelerador para dividir a tela ao deslizar para cima"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Ativar gesto para dividir a tela ao deslizar para cima"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Ativa o gesto para entrar no modo de tela dividida deslizando a partir do botão \"Visão geral\""</string>
<string name="experimental" msgid="6198182315536726162">"Experimentais"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Ativar o Bluetooth?"</string>
@@ -468,19 +466,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Mostrar parcialmente na tela e emitir som"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Mais configurações"</string>
<string name="notification_done" msgid="5279426047273930175">"Concluído"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Cores normais"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Cores noturnas"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Cores personalizadas"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automáticas"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Cores desconhecidas"</string>
- <string name="color_transform" msgid="6985460408079086090">"Modificação de cor"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Mostrar bloco de configurações rápidas"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Ativar transformação personalizada"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Aplicar"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Confirmar configurações"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Algumas configurações de cor podem tornar o dispositivo inutilizável. Clique em \"OK\" para confirmar essas configurações de cor; caso contrário, essas configurações serão redefinidas após 10 segundos."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Uso da bateria"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"A Economia de bateria não fica disponível durante o carregamento"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Economia de bateria"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Reduz o desempenho e os dados em segundo plano"</string>
@@ -488,21 +501,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Início"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Recentes"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Voltar"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Mostrar \"Não perturbe\" nas opções de volume"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Permitir controle total do recurso \"Não perturbe\" na caixa de diálogo de volume."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volume e \"Não perturbe\""</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Entre no modo \"Não perturbe\" abaixando o volume"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Saia do modo \"Não perturbe\" aumentando o volume"</string>
<string name="battery" msgid="7498329822413202973">"Bateria"</string>
<string name="clock" msgid="7416090374234785905">"Relógio"</string>
<string name="headset" msgid="4534219457597457353">"Fone de ouvido"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Fones de ouvido conectados"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Fone de ouvido conectado"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Ativar ou desativar a exibição de ícones na barra de status."</string>
<string name="data_saver" msgid="5037565123367048522">"Economia de dados"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Economia de dados ativada"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"A Economia de dados está desativada"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Ativado"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Barra de navegação"</string>
<string name="start" msgid="6873794757232879664">"Iniciar"</string>
<string name="center" msgid="4327473927066010960">"Centralizar"</string>
@@ -525,4 +541,12 @@
<string name="preview" msgid="9077832302472282938">"Visualização"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Arraste para adicionar blocos"</string>
<string name="qs_edit" msgid="2232596095725105230">"Editar"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index 1af5b42..9f4e755 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -21,10 +21,10 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="7164937344850004466">"UI sistem"</string>
<string name="status_bar_clear_all_button" msgid="7774721344716731603">"Ștergeți"</string>
- <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"Eliminaţi din listă"</string>
+ <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"Eliminați din listă"</string>
<string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"Informații despre aplicație"</string>
<string name="status_bar_no_recent_apps" msgid="7374907845131203189">"Ecranele dvs. recente apar aici"</string>
- <string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"Renunţaţi la aplicațiile recente"</string>
+ <string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"Renunțați la aplicațiile recente"</string>
<plurals name="status_bar_accessibility_recent_apps" formatted="false" msgid="9138535907802238759">
<item quantity="few">%d ecrane în Recente</item>
<item quantity="other">%d de ecrane în Recente</item>
@@ -36,7 +36,7 @@
<string name="battery_low_title" msgid="6456385927409742437">"Bateria este aproape descărcată"</string>
<string name="battery_low_percent_format" msgid="2900940511201380775">"Procent rămas din baterie: <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
<string name="battery_low_percent_format_saver_started" msgid="6859235584035338833">"Procent rămas din baterie: <xliff:g id="PERCENTAGE">%s</xliff:g>. Economisirea bateriei este activată."</string>
- <string name="invalid_charger" msgid="4549105996740522523">"Încărcarea USB nu este acceptată. \nUtilizaţi numai încărcătorul furnizat."</string>
+ <string name="invalid_charger" msgid="4549105996740522523">"Încărcarea USB nu este acceptată. \nUtilizați numai încărcătorul furnizat."</string>
<string name="invalid_charger_title" msgid="3515740382572798460">"Încărcarea prin USB nu este acceptată."</string>
<string name="invalid_charger_text" msgid="5474997287953892710">"Utilizați numai încărcătorul furnizat."</string>
<string name="battery_low_why" msgid="4553600287639198111">"Setări"</string>
@@ -50,16 +50,16 @@
<string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTOM."</string>
<string name="status_bar_settings_notifications" msgid="397146176280905137">"Notificări"</string>
<string name="bluetooth_tethered" msgid="7094101612161133267">"Conectat prin tethering prin Bluetooth"</string>
- <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Setaţi metode introducere text"</string>
+ <string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"Setați metode introducere text"</string>
<string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"Tastatură fizică"</string>
<string name="usb_device_permission_prompt" msgid="834698001271562057">"Permiteți aplicației <xliff:g id="APPLICATION">%1$s</xliff:g> să acceseze dispozitivul USB?"</string>
<string name="usb_accessory_permission_prompt" msgid="5171775411178865750">"Permiteți aplicației <xliff:g id="APPLICATION">%1$s</xliff:g> să acceseze accesoriul USB?"</string>
- <string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Deschideţi <xliff:g id="ACTIVITY">%1$s</xliff:g> la conectarea acestui dispozitiv USB?"</string>
- <string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Deschideţi <xliff:g id="ACTIVITY">%1$s</xliff:g> la conectarea acestui accesoriu USB?"</string>
- <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Aplic. instal. nu funcţ. cu acest acces. USB. Aflați despre acest accesoriu la <xliff:g id="URL">%1$s</xliff:g>"</string>
+ <string name="usb_device_confirm_prompt" msgid="5161205258635253206">"Deschideți <xliff:g id="ACTIVITY">%1$s</xliff:g> la conectarea acestui dispozitiv USB?"</string>
+ <string name="usb_accessory_confirm_prompt" msgid="3808984931830229888">"Deschideți <xliff:g id="ACTIVITY">%1$s</xliff:g> la conectarea acestui accesoriu USB?"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"Aplic. instal. nu funcț. cu acest acces. USB. Aflați despre acest accesoriu la <xliff:g id="URL">%1$s</xliff:g>"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"Accesoriu USB"</string>
<string name="label_view" msgid="6304565553218192990">"Afișați"</string>
- <string name="always_use_device" msgid="1450287437017315906">"Utilizaţi în mod prestabilit pt. acest dispoz. USB"</string>
+ <string name="always_use_device" msgid="1450287437017315906">"Utilizați în mod prestabilit pt. acest dispoz. USB"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"Utiliz. în mod prestabilit pt. acest accesoriu USB"</string>
<string name="usb_debugging_title" msgid="4513918393387141949">"Permiteți depanarea USB?"</string>
<string name="usb_debugging_message" msgid="2220143855912376496">"Amprenta digitală din cheia RSA a computerului este:\n<xliff:g id="FINGERPRINT">%1$s</xliff:g>"</string>
@@ -75,9 +75,9 @@
<string name="screenshot_saved_text" msgid="1152839647677558815">"Atingeți pentru a vedea captura de ecran."</string>
<string name="screenshot_failed_title" msgid="705781116746922771">"Captura de ecran nu a putut fi realizată."</string>
<string name="screenshot_failed_text" msgid="1260203058661337274">"Captură de ecran impos. de realizat: spațiu de stoc. limitat sau nu este permisă de apl. sau de organiz."</string>
- <string name="usb_preference_title" msgid="6551050377388882787">"Opţiuni pentru transferul de fișiere prin USB"</string>
- <string name="use_mtp_button_title" msgid="4333504413563023626">"Montaţi ca player media (MTP)"</string>
- <string name="use_ptp_button_title" msgid="7517127540301625751">"Montaţi drept cameră foto (PTP)"</string>
+ <string name="usb_preference_title" msgid="6551050377388882787">"Opțiuni pentru transferul de fișiere prin USB"</string>
+ <string name="use_mtp_button_title" msgid="4333504413563023626">"Montați ca player media (MTP)"</string>
+ <string name="use_ptp_button_title" msgid="7517127540301625751">"Montați drept cameră foto (PTP)"</string>
<string name="installer_cd_button_title" msgid="2312667578562201583">"Instal. aplic. Transfer de fișiere Android pt. Mac"</string>
<string name="accessibility_back" msgid="567011538994429120">"Înapoi"</string>
<string name="accessibility_home" msgid="8217216074895377641">"Ecranul de pornire"</string>
@@ -97,7 +97,7 @@
<string name="recents_caption_resize" msgid="3517056471774958200">"Selectați noul aspect pentru activitate"</string>
<string name="cancel" msgid="6442560571259935130">"Anulați"</string>
<string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Buton zoom pentru compatibilitate."</string>
- <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Faceţi zoom de la o imagine mai mică la una mai mare."</string>
+ <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Faceți zoom de la o imagine mai mică la una mai mare."</string>
<string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Conectat prin Bluetooth."</string>
<string name="accessibility_bluetooth_disconnected" msgid="7416648669976870175">"Deconectat de la Bluetooth."</string>
<string name="accessibility_no_battery" msgid="358343022352820946">"Nu există baterie."</string>
@@ -157,7 +157,7 @@
<string name="accessibility_notifications_button" msgid="4498000369779421892">"Notificări."</string>
<string name="accessibility_remove_notification" msgid="3603099514902182350">"Ștergeți notificarea."</string>
<string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS activat."</string>
- <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"Se obţine GPS."</string>
+ <string name="accessibility_gps_acquiring" msgid="8959333351058967158">"Se obține GPS."</string>
<string name="accessibility_tty_enabled" msgid="4613200365379426561">"TeleTypewriter activat."</string>
<string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Vibrare sonerie."</string>
<string name="accessibility_ringer_silent" msgid="9061243307939135383">"Sonerie silențioasă."</string>
@@ -302,8 +302,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"fixare pe ecran"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"căutare"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> nu a putut porni."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"Aplicația <xliff:g id="APP">%s</xliff:g> este dezactivată în modul sigur."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Istoric"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Ștergeți"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Divizare pe orizontală"</string>
@@ -315,8 +314,8 @@
<string name="expanded_header_battery_not_charging" msgid="4798147152367049732">"Nu se încarcă"</string>
<string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Rețeaua poate\nfi monitorizată"</string>
<string name="description_target_search" msgid="3091587249776033139">"Căutați"</string>
- <string name="description_direction_up" msgid="7169032478259485180">"Glisaţi în sus pentru <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
- <string name="description_direction_left" msgid="7207478719805562165">"Glisaţi spre stânga pentru <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_up" msgid="7169032478259485180">"Glisați în sus pentru <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
+ <string name="description_direction_left" msgid="7207478719805562165">"Glisați spre stânga pentru <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string>
<string name="zen_priority_introduction" msgid="3070506961866919502">"Nu veți fi deranjat(ă) de sunete și vibrații, exceptând alarmele, mementourile, evenimentele și apelanții pe care îi menționați."</string>
<string name="zen_priority_customize_button" msgid="7948043278226955063">"Personalizați"</string>
<string name="zen_silence_introduction_voice" msgid="2284540992298200729">"Această opțiune blochează TOATE sunetele și vibrațiile, inclusiv cele ale alarmelor, muzicii, videoclipurilor și jocurilor. Totuși, veți putea iniția apeluri."</string>
@@ -335,8 +334,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Niciun\nsunet"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Numai\ncu prioritate"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Numai\nalarme"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Toate"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Toate\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Se încarcă (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> până la finalizare)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Se încarcă rapid (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> până la finalizare)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Se încarcă lent (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> până la finalizare)"</string>
@@ -449,7 +446,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Afișează secundele pe ceas în bara de stare. Poate afecta autonomia bateriei."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Rearanjați Setările rapide"</string>
<string name="show_brightness" msgid="6613930842805942519">"Afișați luminozitatea în Setările rapide"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Activați acceleratorul pentru accesarea ecranului împărțit prin glisarea în sus"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Activați gestul de accesare a ecranului împărțit prin glisare în sus"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Activați gestul de accesare a ecranului împărțit prin glisarea în sus de la butonul Recente"</string>
<string name="experimental" msgid="6198182315536726162">"Experimentale"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Activați Bluetooth?"</string>
@@ -469,19 +466,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Se afișează pentru o scurtă durată pe ecran și se emite un sunet"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Mai multe setări"</string>
<string name="notification_done" msgid="5279426047273930175">"Terminat"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Culori normale"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Culori de noapte"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Culori personalizate"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automat"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Culori necunoscute"</string>
- <string name="color_transform" msgid="6985460408079086090">"Modificarea culorilor"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Afișați caseta cu Setările rapide"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Activați transformarea personalizată"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Aplicați"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Confirmați setările"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Unele setări pentru culori pot face dispozitivul să nu mai funcționeze. Dați clic pe OK pentru a confirma aceste setări pentru culori. În caz contrar, acestea se vor reseta după 10 secunde."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Utilizarea bateriei"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Economisirea bateriei nu este disponibilă pe durata încărcării"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Economisirea bateriei"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Reduce performanța și datele de fundal"</string>
@@ -489,21 +501,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Ecran de pornire"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Recente"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Înapoi"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Afișați opțiunile pentru Nu deranjați în dialogul de volum"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Permiteți controlul complet al modului Nu deranjați din dialogul pentru volum."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volumul și Nu deranjați"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Accesați Nu deranjați la reducerea volumului"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Ieșiți din Nu deranjați la creșterea volumului"</string>
<string name="battery" msgid="7498329822413202973">"Baterie"</string>
<string name="clock" msgid="7416090374234785905">"Ceas"</string>
<string name="headset" msgid="4534219457597457353">"Set căști-microfon"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Căștile sunt conectate"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Setul căști-microfon este conectat"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Activați sau dezactivați afișarea pictogramelor în bara de stare."</string>
<string name="data_saver" msgid="5037565123367048522">"Economizor de date"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Economizorul de date este activat"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Economizorul de date este dezactivat"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Activați"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Bară de navigare"</string>
<string name="start" msgid="6873794757232879664">"La început"</string>
<string name="center" msgid="4327473927066010960">"În centru"</string>
@@ -513,7 +528,7 @@
<string name="select_button" msgid="1597989540662710653">"Selectați butonul de adăugat"</string>
<string name="add_button" msgid="4134946063432258161">"Adăugați un buton"</string>
<string name="save" msgid="2311877285724540644">"Salvați"</string>
- <string name="reset" msgid="2448168080964209908">"Resetaţi"</string>
+ <string name="reset" msgid="2448168080964209908">"Resetați"</string>
<string name="no_home_title" msgid="1563808595146071549">"Nu s-a găsit niciun buton Ecran de pornire"</string>
<string name="no_home_message" msgid="5408485011659260911">"Pentru a naviga pe acest dispozitiv este necesar un buton Ecran de pornire. Adăugați un buton Ecran de pornire înainte să salvați."</string>
<string name="adjust_button_width" msgid="6138616087197632947">"Ajustați lățimea butonului"</string>
@@ -526,4 +541,12 @@
<string name="preview" msgid="9077832302472282938">"Previzualizare"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Trageți pentru a adăuga sectoare"</string>
<string name="qs_edit" msgid="2232596095725105230">"Editați"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index ba1373f..544069b 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -303,8 +303,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"Заблокировать в приложении"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"поиск"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Не удалось запустить приложение \"<xliff:g id="APP">%s</xliff:g>\""</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"Приложение \"<xliff:g id="APP">%s</xliff:g>\" отключено в безопасном режиме."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Журнал"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Очистить"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Разделить по горизонтали"</string>
@@ -336,8 +335,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Полная\nтишина"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Только\nважные"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Только\nбудильник"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Все"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Все\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Зарядка батареи (осталось <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Быстрая зарядка (осталось <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Медленная зарядка (осталось <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -450,7 +447,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Показывать в строке состояния время с точностью до секунды (заряд батареи может расходоваться быстрее)."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Изменить порядок Быстрых настроек"</string>
<string name="show_brightness" msgid="6613930842805942519">"Добавить яркость в Быстрые настройки"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Разделять экран пролистыванием вверх"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Разделять экран пролистыванием вверх"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Включить разделение экрана пролистыванием вверх с кнопки \"Обзор\""</string>
<string name="experimental" msgid="6198182315536726162">"Экспериментальная функция"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Подключение по Bluetooth"</string>
@@ -470,19 +467,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Показывать со звуком поверх всех окон."</string>
<string name="notification_more_settings" msgid="816306283396553571">"Другие настройки"</string>
<string name="notification_done" msgid="5279426047273930175">"Готово"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Обычные цвета"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Ночные цвета"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Собственные цвета"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Авто"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Неизвестные цвета"</string>
- <string name="color_transform" msgid="6985460408079086090">"Цветовые настройки"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Показывать панель быстрых настроек"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Включить собственные настройки"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Применить"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Подтвердите настройки"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Некоторые цветовые настройки могут затруднить работу с устройством. Чтобы применить выбранные параметры, нажмите \"ОК\". В противном случае они будут сброшены через 10 секунд."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Уровень заряда"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Режим энергосбережения нельзя включить во время зарядки"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Режим энергосбережения"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Ограничивает производительность и фоновую передачу данных"</string>
@@ -490,21 +502,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Главный экран"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Недавние"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Назад"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Показать панель \"Не беспокоить\" в окне регулировки звука"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Позволяет управлять режимом \"Не беспокоить\" в окне регулировки громкости."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Регулировка громкости и режим \"Не беспокоить\""</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Включать режим \"Не беспокоить\" при уменьшении громкости"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Отключать режим \"Не беспокоить\" при увеличении громкости"</string>
<string name="battery" msgid="7498329822413202973">"Батарея"</string>
<string name="clock" msgid="7416090374234785905">"Часы"</string>
<string name="headset" msgid="4534219457597457353">"Гарнитура"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Наушники подключены"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Гарнитура подключена"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Включение и отключение показа значков в строке состояния"</string>
<string name="data_saver" msgid="5037565123367048522">"Экономия трафика"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Режим экономии трафика включен"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Режим экономии трафика отключен"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Включено"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Панель навигации"</string>
<string name="start" msgid="6873794757232879664">"Вверху"</string>
<string name="center" msgid="4327473927066010960">"В центре"</string>
@@ -527,4 +542,12 @@
<string name="preview" msgid="9077832302472282938">"Просмотр"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Перетащите нужные элементы"</string>
<string name="qs_edit" msgid="2232596095725105230">"Изменить"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-si-rLK/strings.xml b/packages/SystemUI/res/values-si-rLK/strings.xml
index b15137e..bac8ef4 100644
--- a/packages/SystemUI/res/values-si-rLK/strings.xml
+++ b/packages/SystemUI/res/values-si-rLK/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"තිර ඇමිණීම"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"සෙවීම"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> ආරම්භ කළ නොහැක."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> ආරක්ෂිත ප්රකාරය තුළ අබලයි."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"ඉතිහාසය"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"හිස් කරන්න"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"තිරස්ව වෙන් කරන්න"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"සම්පූර්ණ\nනිහඬතාව"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"ප්රමුඛතා\nපමණි"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"ඇඟවීම්\nපමණි"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"සියලු"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"සියලු\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"ආරෝපණය වෙමින් (සම්පුර්ණ වන තෙක් <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"ඉක්මනින් ආරෝපණය වෙමින් (සම්පුර්ණ වන තෙක් <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"සෙමින් ආරෝපණය වෙමින් (සම්පුර්ණ වන තෙක් <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"තත්ත්ව තීරුවෙහි ඔරලෝසු තත්පර පෙන්වන්න. බැටරි ආයු කාලයට බලපෑමට හැකිය."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"ඉක්මන් සැකසීම් යළි පිළිවෙළට සකසන්න"</string>
<string name="show_brightness" msgid="6613930842805942519">"ඉක්මන් සැකසීම්වල දීප්තිය පෙන්වන්න"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"බෙදුම්-තිර ඉහළට-ස්වයිප් කිරීමේ ත්වරකය සබල කරන්න"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"බෙදුම්-තිරය ඉහළට-ස්වයිප් කිරීමේ අභිනය සබල කරන්න"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"දළ විශ්ලේෂණ බොත්තම හරහා ඉහළට ස්වයිප් කිරීමෙන් බෙදුම් තිරයට ඇතුළු වීමට ඉඟිය සබල කිරීම"</string>
<string name="experimental" msgid="6198182315536726162">"පරීක්ෂණාත්මක"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"බ්ලූටූත් ක්රියාත්මක කරන්නද?"</string>
@@ -468,19 +465,22 @@
<string name="notification_importance_max" msgid="5236987171904756134">"තිරයට පැමිණ ශබ්ද කරන්න"</string>
<string name="notification_more_settings" msgid="816306283396553571">"තව සැකසීම්"</string>
<string name="notification_done" msgid="5279426047273930175">"නිමයි"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"සාමාන්ය වර්ණ"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"රාත්රී වර්ණ"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"අභිරුචි වර්ණ"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"ස්වයංක්රිය"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"නොදන්නා වර්ණ"</string>
- <string name="color_transform" msgid="6985460408079086090">"වර්ණ වෙනස් කිරීම"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"ඉක්මන් සැකසීම් ටයිලය පෙන්වන්න"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"අභිරුචි පරිවර්තනය සබල කරන්න"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"වර්ණය සහ පෙනුම"</string>
+ <string name="night_mode" msgid="3540405868248625488">"රාත්රී ප්රකාරය"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"සංදර්ශකය ක්රමාංකනය කරන්න"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"ක්රියාත්මකයි"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"ක්රියාවිරහිතයි"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"ස්වයංක්රියව ක්රියාත්මක කරන්න"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"ස්ථානය සහ දවසේ වේලාවට ගැළපෙන ලෙස රාත්රී ප්රකාරයට මාරු වන්න"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"රාත්රී ප්රකාරය ක්රියාත්මක විට"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Android OS සඳහා අඳුරු තේමාව භාවිත කරන්න"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"පැහැය සීරුමාරු කරන්න"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"දීප්තිය සීරුමාරු කරන්න"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"සැකසීම් සහ දැනුම්දීම් වැනි, සාමාන්යයෙන් ලා පැහැ තේමාවක සංදර්ශනය වන Android OS හි මූලික ප්රදේශවලට අඳුරු තේමාව යෙදේ."</string>
<string name="color_apply" msgid="9212602012641034283">"යොදන්න"</string>
<string name="color_revert_title" msgid="4746666545480534663">"සැකසීම් තහවුරු කරන්න"</string>
<string name="color_revert_message" msgid="9116001069397996691">"සමහර වර්ණ සැකසීම් මෙම උපාංගය භාවිත කළ නොහැකි තත්ත්වයට පත් කළ හැකිය. මෙම වර්ණ සැකසීම් තහවුරු කිරීමට හරි ක්ලික් කරන්න, නැතහොත් මෙම සැකසීම් තත්පර 10කට පසුව යළි සකසනු ඇත."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"බැටරි භාවිතය"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"ආරෝපණය අතරතුර බැටරි සුරැකුම ලබා ගත නොහැකිය."</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"බැටරි සුරැකුම"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"ක්රියාකාරිත්වය සහ පසුබිම් දත්ත අඩු කරන්න"</string>
@@ -488,21 +488,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"මුල් පිටුව"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"මෑත"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"ආපසු"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"හඩ පරිමාව තුළ බාධා නොකරන්න පුවරුව පෙන්වන්න"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"හඬ පරිමා සංවාදය තුළ බාධා නොකරන්න පුවරුවට පූර්ණ පාලනය ඉඩ දෙන්න."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"හඬ පරිමාව සහ බාධා නොකරන්න"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"හඬ පරිමාව අඩු කරන්න මත බාධා නොකරන්න වෙත ඇතුළු වන්න"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"හඩ පරිමා පාලන සහිතව පෙන්වන්න"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"බාධා නොකරන්න"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"හඩ පරිමා බොත්තම් කෙටිමග"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"හඬ පරිමාව වැඩි කරන්න මත බාධා නොකරන්න වෙතින් ඉවත් වන්න"</string>
<string name="battery" msgid="7498329822413202973">"බැටරිය"</string>
<string name="clock" msgid="7416090374234785905">"ඔරලෝසුව"</string>
<string name="headset" msgid="4534219457597457353">"හෙඩ්සෙට්"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"හෙඩ්ෆෝන් සම්බන්ධ කළ"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"හෙඩ්සෙට් සම්බන්ධ කළ"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"තත්ත්ව තීරුව මත අයිකන පෙන්වීම සබල හෝ අබල කරන්න."</string>
<string name="data_saver" msgid="5037565123367048522">"දත්ත සුරැකුම"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"දත්ත සුරැකුම ක්රියාත්මකයි"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"දත්ත සුරැකුම ක්රියාවිරහිතයි"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"ක්රියාත්මකයි"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"ක්රියාවිරහිතයි"</string>
<string name="nav_bar" msgid="1993221402773877607">"සංචලන තීරුව"</string>
<string name="start" msgid="6873794757232879664">"ආරම්භ කරන්න"</string>
<string name="center" msgid="4327473927066010960">"මධ්ය"</string>
@@ -525,4 +524,15 @@
<string name="preview" msgid="9077832302472282938">"පෙරදසුන"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"ටයිල් එක් කිරීමට අදින්න"</string>
<string name="qs_edit" msgid="2232596095725105230">"සංස්කරණය කරන්න"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"වේලාව"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"පැය, මිනිත්තු, සහ තත්පර පෙන්වන්න"</item>
+ <item msgid="1427801730816895300">"පැය සහ මිනිත්තු පෙන්වන්න (පෙරනිමි)"</item>
+ <item msgid="3830170141562534721">"මෙම නිරූපකය නොපෙන්වන්න"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"සෑම විටම ප්රතිශතය පෙන්වන්න"</item>
+ <item msgid="2139628951880142927">"ආරෝපණය වන විට ප්රතිශතය පෙන්වන්න (පෙරනිමි)"</item>
+ <item msgid="3327323682209964956">"මෙම නිරූපකය නොපෙන්වන්න"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index 199bd90..f46ca79 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -303,8 +303,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"pripnutie k obrazovke"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"hľadať"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Aplikáciu <xliff:g id="APP">%s</xliff:g> sa nepodarilo spustiť"</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"Aplikácia <xliff:g id="APP">%s</xliff:g> je v núdzovom režime zakázaná."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"História"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Vymazať"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Rozdeliť vodorovné"</string>
@@ -336,8 +335,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Úplné\nticho"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Iba\nprioritné"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Iba\nbudíky"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Všetky"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Všetky\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Nabíja sa (úplné nabitie o <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Nabíja sa rýchlo (úplné nabitie o <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Nabíja sa pomaly (úplné nabitie o <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -450,7 +447,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Zobrazí sekundy v stavovom riadku. Môže to ovplyvňovať výdrž batérie."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Zmeniť usporiadanie Rýchlych nastavení"</string>
<string name="show_brightness" msgid="6613930842805942519">"Zobraziť jas v Rýchlych nastaveniach"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Aktivovať rozdelenú obrazovku prejdením prstom"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Aktivovať rozdelenú obrazovku prejdením prstom"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Umožňuje aktivovať rozdelenú obrazovku prejdením prstom nahor od tlačidla Prehľad"</string>
<string name="experimental" msgid="6198182315536726162">"Experimentálne"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Zapnúť Bluetooth?"</string>
@@ -470,19 +467,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Zobrazovať cez obrazovku so zvukovým signálom"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Ďalšie nastavenia"</string>
<string name="notification_done" msgid="5279426047273930175">"Hotovo"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Normálne farby"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Nočné farby"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Vlastné farby"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automatické"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Neznáme farby"</string>
- <string name="color_transform" msgid="6985460408079086090">"Úprava farieb"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Zobraziť dlaždicu Rýchle nastavenia"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Povoliť vlastnú transformáciu"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Použiť"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Potvrdenie nastavení"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Niektoré nastavenia farieb môžu toto zariadenie znefunkčniť. Tieto nastavenia farieb potvrdíte kliknutím na tlačidlo OK, ináč sa tieto nastavenia o 10 sekúnd obnovia."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Využitie batérie"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Počas nabíjania nie je Šetrič batérie k dispozícii"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Šetrič batérie"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Obmedzí výkonnosť a údaje na pozadí"</string>
@@ -490,21 +502,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Domovská stránka"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Nedávne"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Späť"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Zobrazovať panel Nerušiť v dialógu Hlasitosť"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Umožňuje povoliť úplné ovládanie režimu nerušiť v dialógu Hlasitosť."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Hlasitosť a režim Nerušiť"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Pri znížení hlasitosti prejsť do režimu Nerušiť"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Pri zvýšení hlasitosti ukončiť režim Nerušiť"</string>
<string name="battery" msgid="7498329822413202973">"Batéria"</string>
<string name="clock" msgid="7416090374234785905">"Hodiny"</string>
<string name="headset" msgid="4534219457597457353">"Náhlavná súprava"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Slúchadlá pripojené"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Náhlavná súprava pripojená"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Umožňuje aktivovať alebo deaktivovať zobrazenie ikon v stavovom riadku."</string>
<string name="data_saver" msgid="5037565123367048522">"Šetrič dát"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Šetrič dát je zapnutý"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Šetrič dát je vypnutý"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Zapnuté"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Navigačný panel"</string>
<string name="start" msgid="6873794757232879664">"Začiatok"</string>
<string name="center" msgid="4327473927066010960">"Stred"</string>
@@ -527,4 +542,12 @@
<string name="preview" msgid="9077832302472282938">"Ukážka"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Dlaždice pridáte presunutím"</string>
<string name="qs_edit" msgid="2232596095725105230">"Upraviť"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index 9ebb19d..611fba6 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -335,8 +335,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Popolna\ntišina"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Samo\nprednostno"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Samo\nalarmi"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Vse"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Vse\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Polnjenje (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> do napolnjenosti)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Hitro polnjenje (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> do napolnjenosti)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Počasno polnjenje (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> do napolnjenosti)"</string>
@@ -449,7 +447,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Prikaže sekunde pri uri v vrstici stanja. To lahko vpliva na čas delovanja pri akumulatorskem napajanju."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Preuredi hitre nastavitve"</string>
<string name="show_brightness" msgid="6613930842805942519">"Prikaz svetlosti v hitrih nastavitvah"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Omogočanje vklopa razdeljenega zaslona z vlečenjem navzgor"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Omogočanje poteze za razdeljen zaslon z vlečenjem navzgor"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Omogočanje poteze za vklop razdeljenega zaslona, tako da uporabnik od gumba za pregled povleče s prstom navzgor"</string>
<string name="experimental" msgid="6198182315536726162">"Poskusno"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Želite vklopiti Bluetooth?"</string>
@@ -469,14 +467,30 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Za hip pokaži predogled na zaslonu in predvajaj zvok"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Več nastavitev"</string>
<string name="notification_done" msgid="5279426047273930175">"Dokončano"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Običajne barve"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Nočne barve"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Barve po meri"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Samodejno"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Neznane barve"</string>
- <string name="color_transform" msgid="6985460408079086090">"Spreminjanje barv"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Prikaz ploščice s hitrimi nastavitvami"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Omogočanje spremembe po meri"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Uporabi"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Potrditev nastavitev"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Zaradi nekaterih barvnih nastavitev lahko postane ta naprava neuporabna. Kliknite »V redu«, če želite potrditi te barvne nastavitve. V nasprotnem primeru se bodo čez 10 sekund ponastavile na prvotno vrednost."</string>
@@ -488,21 +502,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Začetni zaslon"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Nedavni"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Nazaj"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Pokaži način »ne moti« v nadzoru glasnosti"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Omogoča popoln nadzor načina »ne moti« v pogovornem oknu za glasnost."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Nadzor glasnosti in način »ne moti«"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Odpiranje načina »ne moti« pri zmanjšanju glasnosti"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Zapustitev načina »ne moti« pri povečanju glasnosti"</string>
<string name="battery" msgid="7498329822413202973">"Akumulator"</string>
<string name="clock" msgid="7416090374234785905">"Ura"</string>
<string name="headset" msgid="4534219457597457353">"Slušalke z mikrofonom"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Slušalke priključene"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Slušalke z mikrofonom priključene"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Omogoči ali onemogoči prikaz ikon v vrstici stanja."</string>
<string name="data_saver" msgid="5037565123367048522">"Varčevanje s podatki"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Varčevanje s podatki je vklopljeno"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Varčevanje s podatki je izklopljeno"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Vklopljeno"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Vrstica za krmarjenje"</string>
<string name="start" msgid="6873794757232879664">"Začetek"</string>
<string name="center" msgid="4327473927066010960">"Sredina"</string>
@@ -525,4 +542,12 @@
<string name="preview" msgid="9077832302472282938">"Predogled"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Povlecite, če želite dodati ploščice"</string>
<string name="qs_edit" msgid="2232596095725105230">"Uredi"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-sq-rAL/strings.xml b/packages/SystemUI/res/values-sq-rAL/strings.xml
index 3f25e7d..d911aae 100644
--- a/packages/SystemUI/res/values-sq-rAL/strings.xml
+++ b/packages/SystemUI/res/values-sq-rAL/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Heshtje\ne plotë"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Vetëm\nme prioritet"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Vetëm\nalarmet"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Të gjitha"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Të gjitha\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Po ngarkohet (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> deri sa të mbushet)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Po ngarkon me shpejtësi (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> derisa të mbushet)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Po ngarkon me ngadalë (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> derisa të mbushet)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Trego sekondat e orës në shiritin e statusit. Mund të ndikojë te jeta e baterisë."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Risistemo Cilësimet e shpejta"</string>
<string name="show_brightness" msgid="6613930842805942519">"Shfaq ndriçimin te Cilësimet e shpejta"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Aktivizo përshpejtuesin e rrëshqitjes lart për ekranin e ndarë"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Aktivizo gjestin e rrëshqitjes lart për ekranin e ndarë"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Aktivizo gjestin për të hyrë tek ekrani i ndarë duke rrëshqitur lart nga butoni \"Përmbledhja\""</string>
<string name="experimental" msgid="6198182315536726162">"Eksperimentale"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Të aktivizohet \"bluetooth-i\"?"</string>
@@ -467,14 +465,30 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Shfaq një vështrim të shpejtë në ekran dhe lësho tingull"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Cilësime të tjera"</string>
<string name="notification_done" msgid="5279426047273930175">"U krye"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Ngjyrat normale"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Ngjyrat e natës"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Ngjyrat e personalizuara"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automatike"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Ngjyra të panjohura"</string>
- <string name="color_transform" msgid="6985460408079086090">"Modifikimi i ngjyrës"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Pllakëza Shfaq cilësimet e shpejta"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Zbato transformimin e personalizuar"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Zbato"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Konfirmo cilësimet"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Disa cilësime ngjyrash mund ta bëjnë këtë pajisje të papërdorshme. Kliko OK për të konfirmuar këto cilësime ngjyrash, përndryshe këto cilësime do të rivendosen pas 10 sekondash."</string>
@@ -486,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Kreu"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Të fundit"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Prapa"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Shfaq \"Mos shqetëso\" te volumi"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Lejo kontrollin e plotë të opsionit \"Mos shqetëso\" në dialogun e volumit."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volumi dhe \"Mos shqetëso\""</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Vendos \"Mos shqetëso\" me volumin poshtë"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Dil nga \"Mos shqetëso\" me volumin lart"</string>
<string name="battery" msgid="7498329822413202973">"Bateria"</string>
<string name="clock" msgid="7416090374234785905">"Ora"</string>
<string name="headset" msgid="4534219457597457353">"Kufjet me mikrofon"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Kufjet u lidhën"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Kufjet me mikrofon u lidhën"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Aktivizo ose çaktivizo shfaqjen e ikonave në shiritin e statusit."</string>
<string name="data_saver" msgid="5037565123367048522">"Kursyesi i të dhënave"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Kursyesi i të dhënave është aktiv"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Kursyesi i të dhënave është joaktiv"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Aktiv"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Shiriti i navigimit"</string>
<string name="start" msgid="6873794757232879664">"Nis"</string>
<string name="center" msgid="4327473927066010960">"Qendror"</string>
@@ -523,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Pamja paraprake"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Zvarrit për të shtuar pllakëzat"</string>
<string name="qs_edit" msgid="2232596095725105230">"Redakto"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index 8d54ca2..0d997f9 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -302,8 +302,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"качење екрана"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"претражи"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Покретање апликације <xliff:g id="APP">%s</xliff:g> није успело."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"Апликација <xliff:g id="APP">%s</xliff:g> је онемогућена у безбедном режиму."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Историја"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Обриши"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Подели хоризонтално"</string>
@@ -335,8 +334,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Потпуна\nтишина"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Само\nприорит. прекиди"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Само\nаларми"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Све"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Сви\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Пуњење (пун је за <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Брзо се пуни (напуниће се за <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Споро се пуни (напуниће се за <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -449,7 +446,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Секунде на сату се приказују на статусној траци. То може да утиче на трајање батерије."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Преуреди Брза подешавања"</string>
<string name="show_brightness" msgid="6613930842805942519">"Прикажи осветљеност у Брзим подешавањима"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Омогући убрзавач за превлачење нагоре за подељени екран"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Омогући покрет за превлачење нагоре за подељени екран"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Омогућава покрет за прелазак на подељени екран превлачењем нагоре од дугмета Преглед"</string>
<string name="experimental" msgid="6198182315536726162">"Експериментално"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Желите ли да укључите Bluetooth?"</string>
@@ -469,19 +466,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Накратко се приказују на екрану и емитује се звук"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Још подешавања"</string>
<string name="notification_done" msgid="5279426047273930175">"Готово"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Нормалне боје"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Ноћне боје"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Прилагођене боје"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Аутоматски"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Непознате боје"</string>
- <string name="color_transform" msgid="6985460408079086090">"Измена боја"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Прикажи плочицу Брза подешавања"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Омогући прилагођену трансформацију"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Примени"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Потврдите подешавања"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Нека подешавања боја могу да учине уређај неупотребљивим. Кликните на Потврди да бисте потврдили ова подешавања боја, пошто ће се у супротном ова подешавања ресетовати након 10 секунди."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Потрошња батерије"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Уштеда батерије није доступна током пуњења"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Уштеда батерије"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Смањује перформансе и позадинске податке"</string>
@@ -489,21 +501,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Почетни"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Недавни садржај"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Назад"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Прикажи подешавање Не узнемиравај у дијалогу за јачину звука"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Дозвољава потпуну контролу подешавања Не узнемиравај у дијалогу за јачину звука."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Јачина звука и Не узнемиравај"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Уђи у режим Не узнемиравај када је звук утишан"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Изађи из режима Не узнемиравај када је звук појачан"</string>
<string name="battery" msgid="7498329822413202973">"Батерија"</string>
<string name="clock" msgid="7416090374234785905">"Сат"</string>
<string name="headset" msgid="4534219457597457353">"Наглавне слушалице"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Слушалице су повезане"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Наглавне слушалице су повезане"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Омогућите или онемогућите приказивање икона на статусној траци."</string>
<string name="data_saver" msgid="5037565123367048522">"Уштеда података"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Уштеда података је укључена"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Уштеда података је искључена"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Укључено"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Трака за навигацију"</string>
<string name="start" msgid="6873794757232879664">"Покрени"</string>
<string name="center" msgid="4327473927066010960">"Центар"</string>
@@ -526,4 +541,12 @@
<string name="preview" msgid="9077832302472282938">"Преглед"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Превуците да бисте додали плочице"</string>
<string name="qs_edit" msgid="2232596095725105230">"Измени"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index 2a91962..f29c7d9 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"fästa skärmen"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"sök"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Det gick inte att starta appen <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> är inaktiverad i säkert läge."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Historik"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Rensa"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Dela horisontellt"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Helt\ntyst"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Endast\nprioriterade"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Endast\nalarm"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Alla"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Alla\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Laddar (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> tills batteriet är fulladdat)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Laddas snabbt (batteriet fulladdat om <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Laddas sakta (batteriet fulladdat om <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Visa klocksekunder i statusfältet. Detta kan påverka batteritiden."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Ordna snabbinställningarna"</string>
<string name="show_brightness" msgid="6613930842805942519">"Visa ljusstyrka i snabbinställningarna"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Aktivera accelerator för delad skärm när du sveper uppåt"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Aktivera delad skärm när du sveper uppåt"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Aktivera en rörelse som delar skärmen när du sveper uppåt från knappen Översikt"</string>
<string name="experimental" msgid="6198182315536726162">"Experimentella"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Vill du aktivera Bluetooth?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Visa på skärmen, med ljud"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Fler inställningar"</string>
<string name="notification_done" msgid="5279426047273930175">"Klar"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Normala färger"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Nattfärger"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Anpassade färger"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Automatiskt"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Okända färger"</string>
- <string name="color_transform" msgid="6985460408079086090">"Färgändring"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Visa rutan Snabbinställningar"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Aktivera anpassad omvandling"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Verkställ"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Bekräfta inställningarna"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Vissa färginställningar kan göra den här enheten oanvändbar. Klicka på OK om du vill bekräfta färginställningarna, annars återställs inställningarna efter 10 sekunder."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Batteriförbrukning"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Batterisparläget är inte tillgängligt vid laddning"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Batterisparläge"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Minskar prestanda och bakgrundsdata"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Startsida"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Senaste"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Tillbaka"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Visa Stör ej i volymkontrollen"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Tillåt full kontroll över Stör ej i volymkontrollen"</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volym och Stör ej"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Aktivera Stör ej när volymen sänks"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Inaktivera Stör ej när volymen höjs"</string>
<string name="battery" msgid="7498329822413202973">"Batteri"</string>
<string name="clock" msgid="7416090374234785905">"Klocka"</string>
<string name="headset" msgid="4534219457597457353">"Headset"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Hörlurar anslutna"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Headset anslutet"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Visa eller dölj ikoner i statusfältet."</string>
<string name="data_saver" msgid="5037565123367048522">"Databesparing"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Databesparing är aktiverat"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Databesparing är inaktiverat"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"På"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Navigeringsfält"</string>
<string name="start" msgid="6873794757232879664">"Början"</string>
<string name="center" msgid="4327473927066010960">"Centrera"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Förhandsgranskning"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Lägg till rutor genom att dra"</string>
<string name="qs_edit" msgid="2232596095725105230">"Redigera"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index 55f0213..9b94da8 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"kudumisha programu moja"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"tafuta"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Haikuweza kuanzisha <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> imezimwa katika hali salama."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Historia"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Futa"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Gawanya Mlalo"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Kimya\nkabisa"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Kipaumbele\npekee"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Kengele\npekee"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Zote"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Zote\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Inachaji (Imebakisha <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ijae)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Inachaji kwa kasi (itajaa baada ya <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Inachaji pole pole (itajaa baada ya <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Onyesha sekunde za saa katika sehemu ya arifa. Inaweza kuathiri muda wa matumizi ya betri."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Panga Upya Mipangilio ya Haraka"</string>
<string name="show_brightness" msgid="6613930842805942519">"Onyesha unga\'avu katika Mipangilio ya Haraka"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Washa kiakibishaji cha skrini inayogawanywa kwa kutelezesha kidole juu"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Ruhusu ishara ya kugawanya skrini kwa kutelezesha kidole juu"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Washa kipengele cha ishara ili utumie skrini iliyogawanywa kwa kutelezesha kidole juu kutoka kitufe cha Muhtasari"</string>
<string name="experimental" msgid="6198182315536726162">"Ya majaribio"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Je, ungependa kuwasha Bluetooth?"</string>
@@ -468,19 +465,22 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Weka onyesho la kuchungulia kwenye skrini na itoe sauti"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Mipangilio zaidi"</string>
<string name="notification_done" msgid="5279426047273930175">"Nimemaliza"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Rangi za kawaida"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Rangi za usiku"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Rangi maalum"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Otomatiki"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Rangi zisizojulikana"</string>
- <string name="color_transform" msgid="6985460408079086090">"Ubadilishaji wa rangi"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Onyesha kigae cha Mipangilio ya Haraka"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Washa ubadilishaji maalum"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"Rangi na mwonekano"</string>
+ <string name="night_mode" msgid="3540405868248625488">"Hali ya usiku"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"Rekebisha onyesho"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"Imewashwa"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"Imezimwa"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"Washa kiotomatiki"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"Badilisha kuwa Hali ya Usiku kulingana na mahali na wakati"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"Hali ya Usiku inapowashwa"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Tumia mandhari ya giza katika Mfumo wa Uendeshaji wa Android"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"Rekebisha kivulivuli"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"Rekebisha mwangaza"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"Mandhari yenye giza yametumika katika maeneo muhimu ya Mfumo wa Uendeshaji wa Android ambayo kwa kawaida huonyeshwa katika mandhari yenye mwangaza, kama vile Mipangilio na arifa."</string>
<string name="color_apply" msgid="9212602012641034283">"Tumia"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Thibitisha mipangilio"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Baadhi ya mipangilio ya rangi inaweza kufanya kifaa hiki kisitumike. Bofya Sawa ili uthibitishe mipangilio hii ya rangi, vinginevyo, mipangilio hii itajiweka upya baada ya sekunde 10."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Matumizi ya betri"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Kiokoa Betri hakipatikani unapochaji betri"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Kiokoa Betri"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Hupunguza data ya chini chini na utendaji"</string>
@@ -488,21 +488,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Mwanzo"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Zilizotumika majuzi"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Nyuma"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Onyesha hali ya usinisumbue katika sauti"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Ruhusu udhibiti kamili wa hali ya usinisumbue katika kidirisha cha sauti."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Sauti na Usinisumbue"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Weka hali ya usinisumbue sauti inapopunguzwa"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"Onyesha katika vidhibiti vya sauti"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"Usinisumbue"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"Njia ya mkato ya vitufe vya sauti"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"Ondoa hali ya usinisumbue sauti inapoongezwa"</string>
<string name="battery" msgid="7498329822413202973">"Betri"</string>
<string name="clock" msgid="7416090374234785905">"Saa"</string>
<string name="headset" msgid="4534219457597457353">"Vifaa vya sauti"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Imeunganisha spika za masikioni"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Imeunganisha vifaa vya sauti"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Washa au uzime aikoni ili zisionekane kwenye sehemu ya arifa"</string>
<string name="data_saver" msgid="5037565123367048522">"Kiokoa Data"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Kiokoa Data kimewashwa"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Kiokoa Data kimezimwa"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Imewashwa"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"Imezimwa"</string>
<string name="nav_bar" msgid="1993221402773877607">"Sehemu ya viungo muhimu"</string>
<string name="start" msgid="6873794757232879664">"Anza"</string>
<string name="center" msgid="4327473927066010960">"Weka katikati"</string>
@@ -525,4 +524,15 @@
<string name="preview" msgid="9077832302472282938">"Onyesho la kuchungulia"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Buruta ili uongeze vigae"</string>
<string name="qs_edit" msgid="2232596095725105230">"Badilisha"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"Wakati"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"Onyesha saa, dakika na sekunde"</item>
+ <item msgid="1427801730816895300">"Onyesha saa na dakika (chaguo-msingi)"</item>
+ <item msgid="3830170141562534721">"Usionyeshe aikoni hii"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"Onyesha asilimia kila wakati"</item>
+ <item msgid="2139628951880142927">"Onyesha asilimia wakati inachaji (chaguo-msingi)"</item>
+ <item msgid="3327323682209964956">"Usionyeshe aikoni hii"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-ta-rIN/strings.xml b/packages/SystemUI/res/values-ta-rIN/strings.xml
index ecfc446..ed3b476f 100644
--- a/packages/SystemUI/res/values-ta-rIN/strings.xml
+++ b/packages/SystemUI/res/values-ta-rIN/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"திரையை பின் செய்தல்"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"தேடு"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g>ஐத் தொடங்க முடியவில்லை."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"பாதுகாப்புப் பயன்முறையில் <xliff:g id="APP">%s</xliff:g> முடக்கப்பட்டது."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"வரலாறு"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"அழி"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"கிடைமட்டமாகப் பிரி"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"அறிவிப்புகள்\nவேண்டாம்"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"முன்னுரிமைகள்\nமட்டும்"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"அலாரங்கள்\nமட்டும்"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"எல்லாம்"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"எல்லாம்\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"சார்ஜாகிறது (முழு சார்ஜிற்கு <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ஆகும்)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"வேகமாக சார்ஜாகிறது (முழு சார்ஜிற்கு: <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"மெதுவாக சார்ஜாகிறது (முழு சார்ஜிற்கு: <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"நிலைப் பட்டியில் கடிகார வினாடிகளைக் காட்டும். பேட்டரியின் ஆயுளைக் குறைக்கலாம்."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"விரைவு அமைப்புகளை மறுவரிசைப்படுத்து"</string>
<string name="show_brightness" msgid="6613930842805942519">"விரைவு அமைப்புகளில் ஒளிர்வுப் பட்டியைக் காட்டு"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"மேலே ஸ்வைப் செய்வதன் மூலம் திரைப் பிரிப்பை இயக்கு"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"மேலே ஸ்வைப் செய்வதன் மூலம் திரையைப் பிரிக்கும் சைகையை இயக்கு"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"மேலோட்டப் பார்வை பொத்தானிலிருந்து மேலே ஸ்வைப் செய்வதன் மூலம், திரைப் பிரிப்பைச் செயலாக்குவதற்கான சைகையை இயக்கும்"</string>
<string name="experimental" msgid="6198182315536726162">"சோதனை முயற்சி"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"புளூடூத்தை இயக்கவா?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"ஒலியுடன் திரையில் காட்டு"</string>
<string name="notification_more_settings" msgid="816306283396553571">"மேலும் அமைப்புகள்"</string>
<string name="notification_done" msgid="5279426047273930175">"முடிந்தது"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"இயல்பான வண்ணங்கள்"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"இரவுநேர வண்ணங்கள்"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"தனிப்பயன் வண்ணங்கள்"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"தானியங்கு"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"அறியப்படாத வண்ணங்கள்"</string>
- <string name="color_transform" msgid="6985460408079086090">"வண்ண மாற்றம்"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"விரைவு அமைப்புகள் டைலைக் காட்டு"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"தனிப்பயன் வண்ண மாற்றத்தை இயக்கு"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"பயன்படுத்து"</string>
<string name="color_revert_title" msgid="4746666545480534663">"அமைப்புகளை உறுதிப்படுத்து"</string>
<string name="color_revert_message" msgid="9116001069397996691">"சில வண்ண அமைப்புகள் இந்தச் சாதனத்தைப் பயன்படுத்த முடியாதபடி செய்யலாம். இந்த வண்ண அமைப்புகளை உறுதிப்படுத்த, சரி என்பதைக் கிளிக் செய்யவும், இல்லையெனில் இந்த அமைப்புகள் 10 வினாடிகளுக்குப் பின் மீட்டமைக்கப்படும்."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"பேட்டரி உபயோகம்"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"சார்ஜ் செய்யும் போது பேட்டரி சேமிப்பானைப் பயன்படுத்த முடியாது"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"பேட்டரி சேமிப்பான்"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"செயல்திறனையும் பின்புலத்தில் தரவு செயலாக்கப்படுவதையும் குறைக்கும்"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"முகப்பு"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"சமீபத்தியவை"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"முந்தையது"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"ஒலி உரையாடலில் தொந்தரவு செய்ய வேண்டாம் என்பதைக் காட்டு"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"ஒலி உரையாடலில் தொந்தரவு செய்ய வேண்டாம் என்பதன் முழுக் கட்டுப்பாட்டையும் அனுமதி."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"ஒலி மற்றும் தொந்தரவு செய்ய வேண்டாம்"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"ஒலியைக் குறைக்கும்போது தொந்தரவு செய்ய வேண்டாம் என்பதை இயக்கு"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"ஒலியைக் கூட்டும் போது தொந்தரவு செய்ய வேண்டாம் என்பதை முடக்கு"</string>
<string name="battery" msgid="7498329822413202973">"பேட்டரி"</string>
<string name="clock" msgid="7416090374234785905">"கடிகாரம்"</string>
<string name="headset" msgid="4534219457597457353">"ஹெட்செட்"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"ஹெட்ஃபோன்கள் இணைக்கப்பட்டன"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"ஹெட்செட் இணைக்கப்பட்டது"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"நிலைப் பட்டியில் ஐகான்களைக் காட்டுவதை இயக்கும் அல்லது முடக்கும்."</string>
<string name="data_saver" msgid="5037565123367048522">"தரவுச்சேமிப்பான்"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"தரவு சேமிப்பான் இயக்கப்பட்டது"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"தரவு சேமிப்பான் முடக்கப்பட்டது"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"இயக்கு"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"வழிசெலுத்தல் பட்டி"</string>
<string name="start" msgid="6873794757232879664">"தொடங்கு"</string>
<string name="center" msgid="4327473927066010960">"மையம்"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"மாதிரிக்காட்சி"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"கட்டங்களைச் சேர்க்க, இழுக்கவும்"</string>
<string name="qs_edit" msgid="2232596095725105230">"மாற்று"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-te-rIN/strings.xml b/packages/SystemUI/res/values-te-rIN/strings.xml
index 4f702b6..28065c0 100644
--- a/packages/SystemUI/res/values-te-rIN/strings.xml
+++ b/packages/SystemUI/res/values-te-rIN/strings.xml
@@ -333,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"మొత్తం\nనిశ్శబ్దం"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"ప్రాధాన్యమైనవి\nమాత్రమే"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"అలారాలు\nమాత్రమే"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"అన్నిటికీ"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"అన్నీ\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"ఛార్జ్ అవుతోంది (పూర్తిగా నిండటానికి <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"వేగంగా ఛార్జ్ అవుతోంది (నిండటానికి <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"నెమ్మదిగా ఛార్జ్ అవుతోంది (నిండటానికి <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -447,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"స్థితి పట్టీలో గడియారం సెకన్లు చూపుతుంది. బ్యాటరీ శక్తి ప్రభావితం చేయవచ్చు."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"శీఘ్ర సెట్టింగ్ల ఏర్పాటు క్రమం మార్చు"</string>
<string name="show_brightness" msgid="6613930842805942519">"శీఘ్ర సెట్టింగ్ల్లో ప్రకాశం చూపు"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"పైకి స్వైప్ చేయడం ద్వారా స్క్రీన్ విభజన యాక్సిలరేటర్ను ప్రారంభించు"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"పైకి స్వైప్ చేయడం ద్వారా స్క్రీన్ విభజన సంజ్ఞను ప్రారంభించు"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"స్థూలదృష్టి బటన్ నుండి పైకి స్వైప్ చేయడం ద్వారా స్క్రీన్ విభజనలోకి ప్రవేశించడానికి సంజ్ఞను ప్రారంభిస్తుంది"</string>
<string name="experimental" msgid="6198182315536726162">"ప్రయోగాత్మకం"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"బ్లూటూత్ ఆన్ చేయాలా?"</string>
@@ -467,14 +465,18 @@
<string name="notification_importance_max" msgid="5236987171904756134">"స్క్రీన్పై శీఘ్రంగా శబ్దంతో చూపుతుంది"</string>
<string name="notification_more_settings" msgid="816306283396553571">"మరిన్ని సెట్టింగ్లు"</string>
<string name="notification_done" msgid="5279426047273930175">"పూర్తయింది"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"సాధారణ రంగులు"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"రాత్రి రంగులు"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"అనుకూల రంగులు"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"స్వయంచాలకం"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"తెలియని రంగులు"</string>
- <string name="color_transform" msgid="6985460408079086090">"రంగు సవరణ"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"శీఘ్ర సెట్టింగ్ల టైల్ను చూపండి"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"అనుకూల పరివర్తనను ప్రారంభించండి"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"రంగు మరియు కనిపించే తీరు"</string>
+ <string name="night_mode" msgid="3540405868248625488">"రాత్రి మోడ్"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"డిస్ప్లేని క్రమాంకనం చేయండి"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"ఆన్లో ఉంది"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"ఆఫ్లో ఉంది"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"స్వయంచాలకంగా ఆన్ చేయి"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"స్థానం మరియు రోజులో సమయానికి తగినట్లుగా రాత్రి మోడ్కి మారుస్తుంది"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"రాత్రి మోడ్ ఆన్లో ఉన్నప్పుడు"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Android OS కోసం ముదురు రంగు థీమ్ ఉపయోగించండి"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"లేత రంగును సర్దుబాటు చేయండి"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"ప్రకాశాన్ని సర్దుబాటు చేయండి"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"సాధారణంగా లేత రంగు థీమ్లో ప్రదర్శించబడే సెట్టింగ్లు మరియు నోటిఫికేషన్ల వంటి Android OS ప్రధాన అంశాలకు ముదురు రంగు థీమ్ వర్తింపజేయబడుతుంది."</string>
<string name="color_apply" msgid="9212602012641034283">"వర్తింపజేయి"</string>
<string name="color_revert_title" msgid="4746666545480534663">"సెట్టింగ్లను నిర్ధారించండి"</string>
<string name="color_revert_message" msgid="9116001069397996691">"కొన్ని రంగు సెట్టింగ్ల వలన ఈ పరికరం ఉపయోగించలేని విధంగా అయిపోవచ్చు. ఈ రంగు సెట్టింగ్లను నిర్ధారించడానికి సరే క్లిక్ చేయండి లేదంటే ఈ సెట్టింగ్లు 10 సెకన్ల తర్వాత రీసెట్ చేయబడతాయి."</string>
@@ -486,21 +488,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"హోమ్"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"ఇటీవలివి"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"వెనుకకు"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"వాల్యూమ్లో అంతరాయం కలిగించవద్దు ప్యానెల్ను చూపు"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"వాల్యూమ్ డైలాగ్లో అంతరాయం కలిగించవద్దు ప్యానెల్ పూర్తి నియంత్రణను అనుమతిస్తుంది."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"వాల్యూమ్ మరియు అంతరాయం కలిగించవద్దు"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"వాల్యూమ్ తగ్గిస్తే అంతరాయం కలిగించవద్దులోకి ప్రవేశిస్తుంది"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"వాల్యూమ్ నియంత్రణలతో చూపు"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"అంతరాయం కలిగించవద్దు"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"వాల్యూమ్ బటన్ల సత్వరమార్గం"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"వాల్యూమ్ పెంచితే అంతరాయం కలిగించవద్దు నుండి నిష్క్రమిస్తుంది"</string>
<string name="battery" msgid="7498329822413202973">"బ్యాటరీ"</string>
<string name="clock" msgid="7416090374234785905">"గడియారం"</string>
<string name="headset" msgid="4534219457597457353">"హెడ్సెట్"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"హెడ్ఫోన్లు కనెక్ట్ చేయబడ్డాయి"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"హెడ్సెట్ కనెక్ట్ చేయబడింది"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"స్థితి పట్టీలో చిహ్నాలు ప్రదర్శించడాన్ని ప్రారంభించండి లేదా నిలిపివేయండి."</string>
<string name="data_saver" msgid="5037565123367048522">"డేటా సేవర్"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"డేటా సేవర్ ఆన్లో ఉంది"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"డేటా సేవర్ ఆఫ్లో ఉంది"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"ఆన్"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"ఆఫ్ చేయి"</string>
<string name="nav_bar" msgid="1993221402773877607">"నావిగేషన్ బార్"</string>
<string name="start" msgid="6873794757232879664">"ప్రారంభం"</string>
<string name="center" msgid="4327473927066010960">"మధ్య"</string>
@@ -523,4 +524,15 @@
<string name="preview" msgid="9077832302472282938">"పరిదృశ్యం"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"టైల్లను జోడించడానికి లాగండి"</string>
<string name="qs_edit" msgid="2232596095725105230">"సవరించు"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"సమయం"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"గంటలు, నిమిషాలు మరియు సెకన్లను చూపు"</item>
+ <item msgid="1427801730816895300">"గంటలు మరియు నిమిషాలను చూపు (డిఫాల్ట్)"</item>
+ <item msgid="3830170141562534721">"ఈ చిహ్నాన్ని చూపవద్దు"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"ఎల్లప్పుడూ శాతాన్ని చూపు"</item>
+ <item msgid="2139628951880142927">"ఛార్జ్ అవుతున్నప్పుడు శాతాన్ని చూపు (డిఫాల్ట్)"</item>
+ <item msgid="3327323682209964956">"ఈ చిహ్నాన్ని చూపవద్దు"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index bc7e26f..3a8789d 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"การตรึงหน้าจอ"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"ค้นหา"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"ไม่สามารถเริ่มใช้ <xliff:g id="APP">%s</xliff:g>"</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g> ปิดใช้ในโหมดปลอดภัย"</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"ประวัติ"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"ล้าง"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"แยกในแนวนอน"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"ปิดเสียง\nทั้งหมด"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"เฉพาะเรื่อง\nสำคัญ"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"เฉพาะปลุก\nเท่านั้น"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"ทั้งหมด"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"ทั้งหมด\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"กำลังชาร์จ (อีก <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> เต็ม)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"กำลังชาร์จอย่างรวดเร็ว (อีก <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> จะเต็ม)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"กำลังชาร์จอย่างช้าๆ (อีก <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> จะเต็ม)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"แสดงวินาทีของนาฬิกาในแถบสถานะ อาจส่งผลต่ออายุแบตเตอรี"</string>
<string name="qs_rearrange" msgid="8060918697551068765">"จัดเรียงการตั้งค่าด่วนใหม่"</string>
<string name="show_brightness" msgid="6613930842805942519">"แสดงความสว่างในการตั้งค่าด่วน"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"เปิดใช้ตัวเร่งการเลื่อนขึ้นเพื่อแยกหน้าจอ"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"เปิดใช้ท่าทางสัมผัสการเลื่อนขึ้นเพื่อแยกหน้าจอ"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"เปิดใช้ท่าทางสัมผัสเพื่อเข้าสู่โหมดแยกหน้าจอโดยเลื่อนขึ้นจากปุ่มภาพรวม"</string>
<string name="experimental" msgid="6198182315536726162">"ทดสอบ"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"เปิดบลูทูธไหม"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"แสดงบนหน้าจอในช่วงเวลาสั้นๆ และส่งเสียง"</string>
<string name="notification_more_settings" msgid="816306283396553571">"การตั้งค่าเพิ่มเติม"</string>
<string name="notification_done" msgid="5279426047273930175">"เสร็จสิ้น"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"สีปกติ"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"สียามค่ำคืน"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"สีที่กำหนดเอง"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"อัตโนมัติ"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"สีที่ไม่รู้จัก"</string>
- <string name="color_transform" msgid="6985460408079086090">"การปรับเปลี่ยนสี"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"แสดงไทล์การตั้งค่าด่วน"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"เปิดใช้การเปลี่ยนที่กำหนดเอง"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"ใช้"</string>
<string name="color_revert_title" msgid="4746666545480534663">"ยืนยันการตั้งค่า"</string>
<string name="color_revert_message" msgid="9116001069397996691">"การตั้งค่าสีบางอย่างอาจทำให้อุปกรณ์นี้ใช้งานไม่ได้ คลิกตกลงเพื่อยืนยันการตั้งค่าสีเหล่านี้ มิฉะนั้นระบบจะรีเซ็ตการตั้งค่าหลังจาก 10 วินาที"</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"การใช้งานแบตเตอรี่"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"ไม่สามารถใช้โหมดประหยัดแบตเตอรี่ระหว่างการชาร์จ"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"โหมดประหยัดแบตเตอรี่"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"ลดประสิทธิภาพการทำงานและข้อมูลแบ็กกราวด์"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"หน้าแรก"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"ล่าสุด"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"กลับ"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"แสดงโหมดห้ามรบกวนในระดับเสียง"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"อนุญาตให้ควบคุมโหมดห้ามรบกวนได้อย่างสมบูรณ์ในกล่องโต้ตอบระดับเสียง"</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"ระดับเสียงและโหมดห้ามรบกวน"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"เข้าสู่โหมดห้ามรบกวนเมื่อลดระดับเสียง"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"ออกจากโหมดห้ามรบกวนเมื่อเพิ่มระดับเสียง"</string>
<string name="battery" msgid="7498329822413202973">"แบตเตอรี่"</string>
<string name="clock" msgid="7416090374234785905">"นาฬิกา"</string>
<string name="headset" msgid="4534219457597457353">"ชุดหูฟัง"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"เชื่อมต่อหูฟังแล้ว"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"เชื่อมต่อชุดหูฟังแล้ว"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"เปิดหรือปิดไอคอนจากการแสดงในแถบสถานะ"</string>
<string name="data_saver" msgid="5037565123367048522">"โปรแกรมประหยัดอินเทอร์เน็ต"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"โปรแกรมประหยัดอินเทอร์เน็ตเปิดอยู่"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"โปรแกรมประหยัดอินเทอร์เน็ตปิดอยู่"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"เปิด"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"แถบนำทาง"</string>
<string name="start" msgid="6873794757232879664">"บนสุด"</string>
<string name="center" msgid="4327473927066010960">"กึ่งกลาง"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"ดูตัวอย่าง"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"ลากเพื่อเพิ่มชิ้นส่วน"</string>
<string name="qs_edit" msgid="2232596095725105230">"แก้ไข"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index ab800d4..ba4e067 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"pagpi-pin sa screen"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"maghanap"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Hindi masimulan <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"Naka-disable ang <xliff:g id="APP">%s</xliff:g> sa safe-mode."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"History"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"I-clear"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Split Horizontal"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Ganap na\nkatahimikan"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Priyoridad\nlang"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Mga alarm\nlang"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Lahat"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Lahat\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Nagtsa-charge (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> hanggang mapuno)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Mabilis mag-charge (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> hanggang sa mapuno)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Mabagal mag-charge (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> hanggang sa mapuno)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Ipakita ang mga segundo ng orasan sa status bar. Maaaring makaapekto sa tagal ng baterya."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Ayusing Muli ang Mga Mabilisang Setting"</string>
<string name="show_brightness" msgid="6613930842805942519">"Ipakita ang liwanag sa Mga Mabilisang Setting"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"I-enable ang split-screen na swipe-up accelerator"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"I-enable ang pag-swipe pataas na galaw para sa split-screen"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"I-enable ang gesture upang makapasok sa split-screen sa pamamagitan ng pagsa-swipe pataas mula sa button ng Pangkalahatang-ideya"</string>
<string name="experimental" msgid="6198182315536726162">"Pang-eksperimento"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"I-on ang Bluetooth?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Ipasilip sa screen at mag-play ng tunog"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Higit pang mga setting"</string>
<string name="notification_done" msgid="5279426047273930175">"Tapos Na"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Mga karaniwang kulay"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Madidilim na kulay"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Mga custom na kulay"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Auto"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Mga hindi kilalang kulay"</string>
- <string name="color_transform" msgid="6985460408079086090">"Pagbago sa kulay"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Ipakita ang tile ng Mga Mabilisang Setting"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"I-enable ang custom na pagpalit"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Ilapat"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Kumpirmahin ang mga setting"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Maaaring hindi magamit ang device na ito dahil sa ilang setting ng kulay. I-click ang OK upang kumpirmahin ang mga setting ng kulay na ito, kung hindi ay mare-reset ang mga setting na ito pagkatapos ng 10 segundo."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Paggamit ng baterya"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Hindi available ang Pangtipid sa Baterya kapag nagcha-charge"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Pangtipid sa Baterya"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Binabawasan ang pagganap at data sa background"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Home"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Mga Kamakailang Ginamit"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Bumalik"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Ipakita ang huwag istorbohin sa volume"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Payagang ganap na makontrol ang huwag istorbohin sa dialog ng volume."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Volume at Huwag istorbohin"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Gamitin ang huwag istorbohin nang mahina ang volume"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Umalis sa huwag istorbohin nang malakas ang volume"</string>
<string name="battery" msgid="7498329822413202973">"Baterya"</string>
<string name="clock" msgid="7416090374234785905">"Orasan"</string>
<string name="headset" msgid="4534219457597457353">"Headset"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Nakakonekta ang mga headphone"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Nakakonekta ang headset"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"I-enable o i-disable ang pagpapakita sa mga icon sa status bar."</string>
<string name="data_saver" msgid="5037565123367048522">"Data Saver"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Naka-on ang Data Saver"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Naka-off ang Data Saver"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"I-on"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Navigation bar"</string>
<string name="start" msgid="6873794757232879664">"Simula"</string>
<string name="center" msgid="4327473927066010960">"Gitna"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"I-preview"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Mag-drag upang magdagdag ng mga tile"</string>
<string name="qs_edit" msgid="2232596095725105230">"I-edit"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index 1acffad..e57c956 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"ekran sabitleme"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"ara"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> başlatılamadı."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g>, güvenli modda devre dışıdır."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Geçmiş"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Sil"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Yatay Ayırma"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Tamamen\nsessiz"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Yalnızca\nöncelik"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Yalnızca\nalarmlar"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Tümü"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Tümü\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Şarj oluyor (tamamen dolmasına <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> kaldı)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Hızlı şarj oluyor (tam dolmasına <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> kaldı)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Yavaş şarj oluyor (tam dolmasına <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> kaldı)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Durum çubuğunda saatin saniyelerini gösterir. Pil ömrünü etkileyebilir."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Hızlı Ayarlar\'ı Yeniden Düzenle"</string>
<string name="show_brightness" msgid="6613930842805942519">"Hızlı Ayarlar\'da parlaklığı göster"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Ekranı bölmek için yukarı hızlıca kaydırmayı etkinleştir"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Hızlıca yukarı kaydırma hareketiyle ekran bölm. etkinleştir"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Genel bakış düğmesinden yukarı hızlıca kaydırarak bölünmüş ekrana geçme hareketini etkinleştir"</string>
<string name="experimental" msgid="6198182315536726162">"Deneysel"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth açılsın mı?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Ekrana getir ve ses çıkar"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Diğer ayarlar"</string>
<string name="notification_done" msgid="5279426047273930175">"Bitti"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Normal renkler"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Gece renkleri"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Özel renkler"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Otomatik"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Bilinmeyen renkler"</string>
- <string name="color_transform" msgid="6985460408079086090">"Renk değişikliği"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Hızlı Ayarlar kutusunu göster"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Özel dönüşümü etkinleştir"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Uygula"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Ayarları onaylayın"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Bazı renkler bu cihazı kullanılmaz yapabilir. Bu renkleri onaylamak için Tamam\'ı tıklayın. Tıklamazsanız bu ayarlar 10 saniye sonra sıfırlanacaktır."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Pil kullanımı"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Şarj sırasında Pil Tasarrufu özelliği kullanılamaz"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Pil Tasarrufu"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Performansı ve arka plan verilerini azaltır"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Ana ekran"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Son çağrılar"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Geri"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Ses iletişim kutusunda rahatsız etmeyin modunu göster"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Ses iletişim kutusunda rahatsız etmeyin modunu tam olarak denetlemeye izin ver."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Ses ve Rahatsız etmeyin"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Ses kısıldığında rahatsız etmeyin moduna geç"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Ses açıldığında rahatsız etmeyin modundan çık"</string>
<string name="battery" msgid="7498329822413202973">"Pil"</string>
<string name="clock" msgid="7416090374234785905">"Saat"</string>
<string name="headset" msgid="4534219457597457353">"Mikrofonlu kulaklık"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Mikrofonlu kulaklık bağlı"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Mikrofonlu kulaklık bağlı"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Simgelerin durum çubuğunda görüntülenmesini etkinleştir veya devre dışı bırak"</string>
<string name="data_saver" msgid="5037565123367048522">"Veri Tasarrufu"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Veri Tasarrufu açık"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Veri Tasarrufu kapalı"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Açık"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Gezinme çubuğu"</string>
<string name="start" msgid="6873794757232879664">"Başlangıç"</string>
<string name="center" msgid="4327473927066010960">"Merkez"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Önizle"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Blok eklemek için sürükleyin"</string>
<string name="qs_edit" msgid="2232596095725105230">"Düzenle"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index 0a00467..99d3feb 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -303,8 +303,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"закріпити екран"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"пошук"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Не вдалося запустити <xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"Додаток <xliff:g id="APP">%s</xliff:g> вимкнено в безпечному режимі."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Історія"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Очистити"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Розділити горизонтально"</string>
@@ -336,8 +335,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Без\nсигналів"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Лише\nприорітетні"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Лише\nсигнали"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Усі"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Усі\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Заряджання (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> до повного зарядження)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Швидке заряджання (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> до повного заряду)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Повільне заряджання (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> до повного заряду)"</string>
@@ -450,7 +447,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Показувати секунди на годиннику в рядку стану. Акумулятор може розряджатися швидше."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Упорядкувати швидкі налаштування"</string>
<string name="show_brightness" msgid="6613930842805942519">"Показувати панель яскравості у швидких налаштуваннях"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Увімкнути акселератор розділення екрана рухом пальця вгору"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Увімкнути розділення екрана рухом пальця вгору"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Увімкнути жест розділення екрана рухом пальця вгору від кнопки \"Огляд\""</string>
<string name="experimental" msgid="6198182315536726162">"Експериментальні налаштування"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Увімкнути Bluetooth?"</string>
@@ -470,19 +467,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Показувати сповіщення на екрані зі звуковим сигналом"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Більше налаштувань"</string>
<string name="notification_done" msgid="5279426047273930175">"Готово"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Стандартні кольори"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Нічні кольори"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Користувацькі кольори"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Авто"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Невідомі кольори"</string>
- <string name="color_transform" msgid="6985460408079086090">"Змінення кольорів"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Показати опцію швидких налаштувань"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Увімкнути користувацьке перетворення"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Застосувати"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Підтвердити налаштування"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Деякі налаштування кольорів можуть зробити цей пристрій непридатним для використання. Натисніть OK, щоб підтвердити налаштування, інакше їх буде скинуто через 10 секунд."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Використання заряду"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Режим економії заряду акумулятора недоступний під час заряджання"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Режим економії заряду акумулятора"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Знижується продуктивність і обмежується обмін даними у фоновому режимі"</string>
@@ -490,21 +502,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Головний екран"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Останні"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Назад"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Показувати режим \"Не турбувати\" у вікні регулятора гучності"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Дозволити керувати режимом \"Не турбувати\" у вікні регулятора гучності."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Регулятор гучності та режим \"Не турбувати\""</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Вмикати режим \"Не турбувати\" під час зменшення гучності"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Вимикати режим \"Не турбувати\" під час збільшення гучності"</string>
<string name="battery" msgid="7498329822413202973">"Акумулятор"</string>
<string name="clock" msgid="7416090374234785905">"Годинник"</string>
<string name="headset" msgid="4534219457597457353">"Гарнітура"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Навушники під’єднано"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Гарнітуру під’єднано"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Показати або сховати значки в рядку стану."</string>
<string name="data_saver" msgid="5037565123367048522">"Заощадження трафіку"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Заощадження трафіку ввімкнено"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Заощадження трафіку вимкнено"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Увімкнено"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Панель навігації"</string>
<string name="start" msgid="6873794757232879664">"На початку"</string>
<string name="center" msgid="4327473927066010960">"У центрі"</string>
@@ -527,4 +542,12 @@
<string name="preview" msgid="9077832302472282938">"Переглянути"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Перетягуйте фрагменти, щоб додавати їх"</string>
<string name="qs_edit" msgid="2232596095725105230">"Редагувати"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-ur-rPK/strings.xml b/packages/SystemUI/res/values-ur-rPK/strings.xml
index 0e1d78f..77a2bce 100644
--- a/packages/SystemUI/res/values-ur-rPK/strings.xml
+++ b/packages/SystemUI/res/values-ur-rPK/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"اسکرین کو پن کرنا"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"تلاش کریں"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> کو شروع نہیں کیا جا سکا۔"</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"محفوظ موڈ میں <xliff:g id="APP">%s</xliff:g> غیر فعال ہوتی ہے۔"</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"سرگزشت"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"صاف کریں"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"بلحاظ افقی الگ کریں"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"مکمل\nخاموشی"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"صرف\nترجیحی"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"صرف\nالارمز"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"سبھی"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"تمام\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"چارج ہو رہا ہے (مکمل ہونے تک <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> باقی ہیں)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"تیزی سے چارج ہو رہا ہے (مکمل ہونے میں <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"آہستہ چارج ہو رہا ہے (مکمل ہونے میں <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"گھڑی کے سیکنڈز اسٹیٹس بار میں دکھائیں۔ اس کا بیٹری کی زندگی پر اثر پڑ سکتا ہے۔"</string>
<string name="qs_rearrange" msgid="8060918697551068765">"فوری ترتیبات کو دوبارہ ترتیب دیں"</string>
<string name="show_brightness" msgid="6613930842805942519">"فوری ترتیبات میں چمکیلا پن دکھائیں"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"سپلٹ اسکرین کیلئے سوائپ اپ ایکسلریٹر فعال کریں"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"سپلٹ اسکرین کیلئے سوائپ اپ اشارہ فعال کریں"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"مجموعی جائزہ بٹن سے سوائپ اپ کرکے سپلٹ اسکرین میں داخل ہونے کیلئے اشارہ فعال کریں"</string>
<string name="experimental" msgid="6198182315536726162">"تجرباتی"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"بلوٹوتھ آن کریں؟"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"اسکرین پر دکھائیں اور آواز چلائیں"</string>
<string name="notification_more_settings" msgid="816306283396553571">"مزید ترتیبات"</string>
<string name="notification_done" msgid="5279426047273930175">"ہوگیا"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"عام رنگ"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"رات کے رنگ"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"حسب ضرورت رنگ"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"خودکار"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"نامعلوم رنگ"</string>
- <string name="color_transform" msgid="6985460408079086090">"رنگوں کی تبدیلی"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"فوری ترتیبات والی ٹائل دکھائیں"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"حسب ضرورت ٹرانسفارم فعال کریں"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"لاگو کریں"</string>
<string name="color_revert_title" msgid="4746666545480534663">"ترتیبات کی توثیق کریں"</string>
<string name="color_revert_message" msgid="9116001069397996691">"رنگوں کی کچھ ترتیبات اس آلے کو ناقابل استعمال بنا سکتی ہیں۔ رنگوں کی ان ترتیبات کی توثیق کرنے کیلئے ٹھیک ہے پر کلک کریں، بصورت دیگر 10 سیکنڈ بعد یہ ترتیبات ری سیٹ ہو جائیں گی۔"</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"بیٹری کا استعمال"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"چارجنگ کے دوران بیٹری سیور دستیاب نہیں ہے"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"بیٹری سیور"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"کارکردگی اور پس منظر کا ڈیٹا کم کر دیتا ہے"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"ہوم"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"حالیہ"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"پیچھے"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"والیوم میں ڈسٹرب نہ کریں دکھائیں"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"والیوم ڈائیلاگ میں ڈسٹرب نہ کریں کے مکمل کنٹرول کی اجازت دیں۔"</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"والیوم اور ڈسٹرب نہ کریں"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"کم والیوم پر \'ڈسٹرب نہ کریں\' میں داخل ہوں"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"زیادہ والیوم پر \'ڈسٹرب نہ کریں\' سے خارج ہوں"</string>
<string name="battery" msgid="7498329822413202973">"بیٹری"</string>
<string name="clock" msgid="7416090374234785905">"گھڑی"</string>
<string name="headset" msgid="4534219457597457353">"ہیڈ سیٹ"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"ہیڈ فونز منسلک ہیں"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"ہیڈ سیٹ منسلک ہے"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"اسٹیٹس بار میں دکھائے جانے کیلئے آئیکنز فعال یا غیر فعال کریں۔"</string>
<string name="data_saver" msgid="5037565123367048522">"ڈیٹا سیور"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"ڈیٹا سیور آن ہے"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"ڈیٹا سیور آف ہے"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"آن"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"نیویگیشن بار"</string>
<string name="start" msgid="6873794757232879664">"شروع کریں"</string>
<string name="center" msgid="4327473927066010960">"مرکز"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"پیش منظر"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"ٹائٹلز شامل کرنے کیلئے گھسیٹیں"</string>
<string name="qs_edit" msgid="2232596095725105230">"ترمیم کریں"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-uz-rUZ/strings.xml b/packages/SystemUI/res/values-uz-rUZ/strings.xml
index 68393ff..8616fa6 100644
--- a/packages/SystemUI/res/values-uz-rUZ/strings.xml
+++ b/packages/SystemUI/res/values-uz-rUZ/strings.xml
@@ -269,7 +269,7 @@
<string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string>
<string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"Ulanmagan"</string>
<string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Tarmoq mavjud emas"</string>
- <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi o‘chirilgan"</string>
+ <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi o‘chiq"</string>
<string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Hech qanday Wi-Fi tarmog‘i mavjud emas"</string>
<string name="quick_settings_cast_title" msgid="7709016546426454729">"Wi-Fi monitor"</string>
<string name="quick_settings_casting" msgid="6601710681033353316">"Translatsiya qilinmoqda"</string>
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"o‘zgarmas ekran"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"qidirish"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"“<xliff:g id="APP">%s</xliff:g>” ilovasini ishga tushirib bo‘lmadi."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"Xavfsiz rejimda <xliff:g id="APP">%s</xliff:g> ilovasi o‘chirib qo‘yildi."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Jurnal"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Tozalash"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Gorizontal yo‘nalishda bo‘lish"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Tinchlik\nsaqlansin"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Faqat\nmuhimlar"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Faqat\nsignallar"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Barchasi"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Barcha\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Quvvat olmoqda (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>da to‘ladi)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Tez quvvat olmoqda (to‘lishiga <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> qoldi)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Sekin quvvat olmoqda (to‘lishiga <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> qoldi)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Holat panelida soat soniyalari ko‘rsatilsin. Bu batareya resursiga ta’sir qilishi mumkin."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Tezkor sozlamalarni qayta tartiblash"</string>
<string name="show_brightness" msgid="6613930842805942519">"Tezkor sozlamalarda yorqinlikni ko‘rsatish"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Tepaga surib, ekranni bo‘lish uchun tezlatkichni yoqish"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Tepaga surib, ekranni bo‘lish ishorasini yoqish"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Umumiy ma’lumot tugmasini tepaga surish orqali ekranni bo‘lish ishorasini yoqish"</string>
<string name="experimental" msgid="6198182315536726162">"Tajribaviy"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Bluetooth yoqilsinmi?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Barcha oynalar ustida signal ovozi bilan ko‘rsatilsin"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Boshqa sozlamalar"</string>
<string name="notification_done" msgid="5279426047273930175">"Tayyor"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Odatiy ranglar"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Qoramtir ranglar"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Foydalanuvchi rangi"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Avtomatik"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Noma’lum ranglar"</string>
- <string name="color_transform" msgid="6985460408079086090">"Rang sozlamalari"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Tezkor sozlamalar panelini ko‘rsatish"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Foydalanuvchi sozlamalarini yoqish"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"Qo‘llash"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Sozlamalarni tasdiqlang"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Ba’zi rang sozlamalari qurilmadan foydalanishni qiyinlashtirish mumkin. Tanlgan parametrlarni tasdiqlash uchun “OK” tugmasini bosing. Aks holda, ular 10 soniyadan so‘ng qayta tiklanadi."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Batareya sarfi"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Quvvat tejash rejimidan quvvatlash vaqtida foydalanib bo‘lmaydi"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Quvvat tejash rejimi"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Unumdorlikni pasaytiradi va fonda internetdan foydalanishni cheklaydi"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Bosh ekran"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"So‘nggi ishlatilganlar"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Orqaga"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Ovoz boshqarish oynasida “Bezovta qilinmasin” panelini ko‘rsatish"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Ovoz balandligini boshqarish oynasida “Bezovta qilinmasin” rejimini to‘liq boshqarishga ruxsat beradi."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Ovoz balandligini boshqarish va “Bezovta qilinmasin” rejimi"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Ovozni pasaytirganda “Bezovta qilinmasin” rejimini yoqish"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"Ovozni ko‘targanda “Bezovta qilinmasin” rejimini o‘chirish"</string>
<string name="battery" msgid="7498329822413202973">"Batareya"</string>
<string name="clock" msgid="7416090374234785905">"Soat"</string>
<string name="headset" msgid="4534219457597457353">"Audio moslama"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Quloqchinlar ulandi"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Audio moslama ulandi"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Holat qatorida begilarning ko‘rsatilishini yoqish yoki o‘chirish."</string>
<string name="data_saver" msgid="5037565123367048522">"Trafik tejash"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Trafik tejash yoniq"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Trafik tejash o‘chiq"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Yoniq"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"Navigatsiya paneli"</string>
<string name="start" msgid="6873794757232879664">"Boshlash"</string>
<string name="center" msgid="4327473927066010960">"Markazda"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"Oldindan ko‘rish"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Fragmentlar qo‘shish uchun torting"</string>
<string name="qs_edit" msgid="2232596095725105230">"Tahrirlash"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index d4c7317..aca359e 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -334,8 +334,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Hoàn toàn\ntắt tiếng"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Chỉ\nưu tiên"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Chỉ\nbáo thức"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Tất cả"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Tất cả\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Đang sạc (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> cho đến khi đầy)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Sạc nhanh (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> cho tới khi đầy)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Sạc chậm (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> cho tới khi đầy)"</string>
@@ -448,7 +446,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Hiển thị giây đồng hồ trong thanh trạng thái. Có thể ảnh hưởng đến thời lượng pin."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Sắp xếp lại Cài đặt nhanh"</string>
<string name="show_brightness" msgid="6613930842805942519">"Hiển thị độ sáng trong Cài đặt nhanh"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Bật trình tăng tốc vuốt lên ở chế độ chia đôi màn hình"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Bật cử chỉ vuốt lên ở chế độ chia đôi màn hình"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Cho phép cử chỉ truy cập chế độ chia đôi màn hình bằng cách vuốt lên từ nút Tổng quan"</string>
<string name="experimental" msgid="6198182315536726162">"Thử nghiệm"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Bật Bluetooth?"</string>
@@ -468,19 +466,22 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Hiển thị trên màn hình và phát ra âm thanh"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Cài đặt khác"</string>
<string name="notification_done" msgid="5279426047273930175">"Xong"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Màu thông thường"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Màu tối"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Màu tùy chỉnh"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Tự động"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Màu không xác định"</string>
- <string name="color_transform" msgid="6985460408079086090">"Sửa đổi màu"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Hiển thị ô Cài đặt nhanh"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Bật chuyển đổi tùy chỉnh"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"Màu sắc và giao diện"</string>
+ <string name="night_mode" msgid="3540405868248625488">"Chế độ ban đêm"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"Hiệu chỉnh hiển thị"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"Bật"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"Tắt"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"Tự động bật"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"Chuyển sang Chế bộ ban đêm khi thích hợp cho vị trí và thời gian trong ngày"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"Khi Chế độ ban đêm đang bật"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Sử dụng chủ đề sẫm màu cho Android OS"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"Điều chỉnh phủ màu"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"Điều chỉnh độ sáng"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"Chủ đề sẫm màu được áp dụng cho các vùng chính của Android OS được hiển thị bình thường trong chủ đề sáng màu, chẳng hạn như Cài đặt và thông báo."</string>
<string name="color_apply" msgid="9212602012641034283">"Áp dụng"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Xác nhận cài đặt"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Một số cài đặt màu có thể khiến thiết bị này không sử dụng được. Hãy nhấp vào OK để xác nhận các cài đặt màu này, nếu không những cài đặt này sẽ được đặt lại sau 10 giây."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Mức sử dụng pin"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Trình tiết kiệm pin không khả dụng trong khi sạc"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Trình tiết kiệm pin"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Giảm hiệu suất và dữ liệu nền"</string>
@@ -488,21 +489,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Màn hình chính"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Gần đây"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Quay lại"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Hiển thị không làm phiền theo âm lượng"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Cho phép kiểm soát toàn bộ tính năng không làm phiền trong hộp thoại âm lượng."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Âm lượng và Không làm phiền"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Truy cập không làm phiền khi giảm âm lượng"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"Hiển thị với các điều khiển âm lượng"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"Không làm phiền"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"Phím tắt các nút âm lượng"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"Thoát không làm phiền khi tăng âm lượng"</string>
<string name="battery" msgid="7498329822413202973">"Pin"</string>
<string name="clock" msgid="7416090374234785905">"Đồng hồ"</string>
<string name="headset" msgid="4534219457597457353">"Tai nghe"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Đã kết nối tai nghe"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Đã kết nối tai nghe"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Bật hoặc tắt biểu tượng hiển thị trong thanh trạng thái."</string>
<string name="data_saver" msgid="5037565123367048522">"Trình tiết kiệm dữ liệu"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Trình tiết kiệm dữ liệu đang bật"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Trình tiết kiệm dữ liệu đang tắt"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Bật"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"Tắt"</string>
<string name="nav_bar" msgid="1993221402773877607">"Thanh điều hướng"</string>
<string name="start" msgid="6873794757232879664">"Đầu"</string>
<string name="center" msgid="4327473927066010960">"Căn giữa"</string>
@@ -525,4 +525,15 @@
<string name="preview" msgid="9077832302472282938">"Xem trước"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Kéo để thêm ô"</string>
<string name="qs_edit" msgid="2232596095725105230">"Chỉnh sửa"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"Thời gian"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"Hiển thị giờ, phút và giây"</item>
+ <item msgid="1427801730816895300">"Hiển thị giờ và phút (mặc định)"</item>
+ <item msgid="3830170141562534721">"Không hiển thị biểu tượng này"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"Luôn hiển thị phần trăm"</item>
+ <item msgid="2139628951880142927">"Hiển thị phần trăm khi sạc (mặc định)"</item>
+ <item msgid="3327323682209964956">"Không hiển thị biểu tượng này"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index 8a3723a..3888de5 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"固定屏幕"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"搜索"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"无法启动<xliff:g id="APP">%s</xliff:g>。"</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"<xliff:g id="APP">%s</xliff:g>已在安全模式下停用。"</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"历史记录"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"清除"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"水平分割"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"完全\n静音"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"仅限\n优先打扰"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"仅限\n闹钟"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"全部"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"全部\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"正在充电(还需<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>充满)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"正在快速充电(还需<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>充满)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"正在慢速充电(还需<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>充满)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"在状态栏中显示时钟的秒数。这可能会影响电池的续航时间。"</string>
<string name="qs_rearrange" msgid="8060918697551068765">"重新排列快捷设置"</string>
<string name="show_brightness" msgid="6613930842805942519">"在快捷设置中显示亮度栏"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"启用分屏向上滑动加速器"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"启用分屏向上滑动手势"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"启用通过从“概览”按钮向上滑动的手势进入分屏模式"</string>
<string name="experimental" msgid="6198182315536726162">"实验性"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"要开启蓝牙吗?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"在屏幕上持续显示,并发出提示音"</string>
<string name="notification_more_settings" msgid="816306283396553571">"更多设置"</string>
<string name="notification_done" msgid="5279426047273930175">"完成"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"常规颜色"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"夜间颜色"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"自定义颜色"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"自动"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"未知颜色"</string>
- <string name="color_transform" msgid="6985460408079086090">"颜色修改"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"显示“快捷设置”图块"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"启用自定义转换"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"应用"</string>
<string name="color_revert_title" msgid="4746666545480534663">"确认设置"</string>
<string name="color_revert_message" msgid="9116001069397996691">"部分颜色设置可能会导致此设备无法使用。请点击“确定”确认这些颜色设置,否则,系统将在 10 秒后重置这些设置。"</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"电池使用情况"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"充电过程中无法使用节电助手"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"节电助手"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"降低性能并限制后台流量"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"主屏幕"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"最近"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"返回"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"在音量对话框中显示“请勿打扰”模式"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"允许在音量对话框中完全控制“请勿打扰”模式。"</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"音量和“请勿打扰”设置"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"按音量调低键时进入“请勿打扰”模式"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"按音量调高键时退出“请勿打扰”模式"</string>
<string name="battery" msgid="7498329822413202973">"电池"</string>
<string name="clock" msgid="7416090374234785905">"时钟"</string>
<string name="headset" msgid="4534219457597457353">"耳机"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"已连接到耳机"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"已连接到耳机"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"指定在状态栏中显示或隐藏图标。"</string>
<string name="data_saver" msgid="5037565123367048522">"流量节省程序"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"流量节省程序已开启"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"流量节省程序已关闭"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"开启"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"导航栏"</string>
<string name="start" msgid="6873794757232879664">"顶部"</string>
<string name="center" msgid="4327473927066010960">"中心位置"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"预览"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"拖动即可添加图块"</string>
<string name="qs_edit" msgid="2232596095725105230">"修改"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml
index 675d0f3..45955bd 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"螢幕固定"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"搜尋"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"無法啟動「<xliff:g id="APP">%s</xliff:g>」。"</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"「<xliff:g id="APP">%s</xliff:g>」已在安全模式中停用。"</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"記錄"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"清除"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"水平分割"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"完全\n靜音"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"僅限\n優先"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"僅限\n鬧鐘"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"全部"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"全部\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"充電中 (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>後完成充電)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"正在快速充電 (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>後完成充電)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"正在緩慢充電 (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>後完成充電)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"在狀態列中顯示時鐘秒數,但可能會影響電池壽命。"</string>
<string name="qs_rearrange" msgid="8060918697551068765">"重新排列快速設定"</string>
<string name="show_brightness" msgid="6613930842805942519">"在快速設定顯示亮度"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"啟用分割畫面向上滑動加速工具"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"啟用分割畫面向上快速滑動手勢"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"從 [概覽] 按鈕向上快速滑動,即可使用手勢功能進入分割畫面模式"</string>
<string name="experimental" msgid="6198182315536726162">"實驗版"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"要開啟藍牙嗎?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"不時於螢幕出現並發出音效"</string>
<string name="notification_more_settings" msgid="816306283396553571">"更多設定"</string>
<string name="notification_done" msgid="5279426047273930175">"完成"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"一般色系"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"深沉色系"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"自訂顏色"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"自動"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"不明色系"</string>
- <string name="color_transform" msgid="6985460408079086090">"顏色修改"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"顯示「快速設定」圖塊"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"啟用自訂變色功能"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"套用"</string>
<string name="color_revert_title" msgid="4746666545480534663">"確認設定"</string>
<string name="color_revert_message" msgid="9116001069397996691">"部分顏色設定會令此裝置無法使用。請按一下 [確定] 加以確認,否則這些顏色設定將於 10 秒後重設。"</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"電池用量"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"充電時無法使用「省電模式」"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"省電模式"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"降低效能並限制背景數據傳輸"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"主畫面"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"最近的活動"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"返回"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"在音量對話框中顯示「請勿騷擾」設定"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"允許在音量對話框中全面控制「請勿騷擾」功能。"</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"音量和「請勿騷擾」設定"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"調低音量時啟用「請勿騷擾」模式"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"調高音量時停用「請勿騷擾」模式"</string>
<string name="battery" msgid="7498329822413202973">"電池"</string>
<string name="clock" msgid="7416090374234785905">"時鐘"</string>
<string name="headset" msgid="4534219457597457353">"耳機"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"已連接至耳機"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"已連接至耳機"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"顯示或隱藏狀態列上的圖示。"</string>
<string name="data_saver" msgid="5037565123367048522">"數據節省程式"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"數據節省程式已開啟"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"數據節省程式已關閉"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"開啟"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"導覽列"</string>
<string name="start" msgid="6873794757232879664">"畫面頂部"</string>
<string name="center" msgid="4327473927066010960">"畫面中央"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"預覽"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"拖曳即可新增圖塊"</string>
<string name="qs_edit" msgid="2232596095725105230">"編輯"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index 08cbb17..918b42d 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"螢幕固定"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"搜尋"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"無法啟動「<xliff:g id="APP">%s</xliff:g>」。"</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"「<xliff:g id="APP">%s</xliff:g>」在安全模式中處於停用狀態。"</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"紀錄"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"清除"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"水平分割"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"完全\n靜音"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"僅允許\n優先通知"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"僅允許\n鬧鐘"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"全部"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"全部\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"充電中 (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>後充飽)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"快速充電中 (充飽需要 <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"慢速充電中 (充飽需要 <xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g>)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"在狀態列中顯示時鐘秒數。這可能會影響電池續航力。"</string>
<string name="qs_rearrange" msgid="8060918697551068765">"重新排列快速設定"</string>
<string name="show_brightness" msgid="6613930842805942519">"在快速設定中顯示亮度"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"啟用分割畫面向上滑動加速工具"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"啟用分割畫面向上滑動手勢"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"啟用透過從 [總覽] 按鈕向上滑動的手勢進入分割畫面"</string>
<string name="experimental" msgid="6198182315536726162">"實驗性"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"要開啟藍牙功能嗎?"</string>
@@ -468,19 +465,34 @@
<string name="notification_importance_max" msgid="5236987171904756134">"短暫顯示在螢幕上並發出音效"</string>
<string name="notification_more_settings" msgid="816306283396553571">"更多設定"</string>
<string name="notification_done" msgid="5279426047273930175">"完成"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"一般顏色"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"夜間顏色"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"自訂顏色"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"自動"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"不明顏色"</string>
- <string name="color_transform" msgid="6985460408079086090">"顏色修改"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"顯示快速設定圖塊"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"啟用自訂顏色變換"</string>
+ <!-- no translation found for color_and_appearance (1254323855964993144) -->
+ <skip />
+ <!-- no translation found for night_mode (3540405868248625488) -->
+ <skip />
+ <!-- no translation found for calibrate_display (5974642573432039217) -->
+ <skip />
+ <!-- no translation found for night_mode_on (5597545513026541108) -->
+ <skip />
+ <!-- no translation found for night_mode_off (8035605276956057508) -->
+ <skip />
+ <!-- no translation found for turn_on_automatically (4167565356762016083) -->
+ <skip />
+ <!-- no translation found for turn_on_auto_summary (2190994512406701520) -->
+ <skip />
+ <!-- no translation found for when_night_mode_on (2969436026899172821) -->
+ <skip />
+ <!-- no translation found for use_dark_theme (2900938704964299312) -->
+ <skip />
+ <!-- no translation found for adjust_tint (3398569573231409878) -->
+ <skip />
+ <!-- no translation found for adjust_brightness (980039329808178246) -->
+ <skip />
+ <!-- no translation found for night_mode_disclaimer (3297928749219711334) -->
+ <skip />
<string name="color_apply" msgid="9212602012641034283">"套用"</string>
<string name="color_revert_title" msgid="4746666545480534663">"確認設定"</string>
<string name="color_revert_message" msgid="9116001069397996691">"部分顏色設定可能會造成這部裝置無法使用。請按一下 [確定] 來確認您要使用這類顏色設定,否則系統將在 10 秒後重設這些設定。"</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"電池用量"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"充電時無法使用節約耗電量模式"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"節約耗電量"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"降低效能並限制背景資料傳輸"</string>
@@ -488,21 +500,24 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"主畫面"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"近期活動"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"返回"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"在音量對話方塊中顯示「零打擾」設定"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"在音量對話方塊中顯示完整的「零打擾」設定。"</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"音量和「零打擾」設定"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"按下調低音量鍵時啟用「零打擾」模式"</string>
+ <!-- no translation found for tuner_full_zen_title (4540823317772234308) -->
+ <skip />
+ <!-- no translation found for volume_and_do_not_disturb (3373784330208603030) -->
+ <skip />
+ <!-- no translation found for volume_dnd_silent (4363882330723050727) -->
+ <skip />
<string name="volume_up_silent" msgid="7141255269783588286">"按下調高音量鍵時停用「零打擾」模式"</string>
<string name="battery" msgid="7498329822413202973">"電池"</string>
<string name="clock" msgid="7416090374234785905">"時鐘"</string>
<string name="headset" msgid="4534219457597457353">"耳機"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"已與耳機連線"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"已與耳機連線"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"指定在狀態列中顯示或隱藏圖示。"</string>
<string name="data_saver" msgid="5037565123367048522">"Data Saver"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Data Saver 已開啟"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Data Saver 已關閉"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"開啟"</string>
+ <!-- no translation found for switch_bar_off (8803270596930432874) -->
+ <skip />
<string name="nav_bar" msgid="1993221402773877607">"導覽列"</string>
<string name="start" msgid="6873794757232879664">"畫面頂端"</string>
<string name="center" msgid="4327473927066010960">"畫面中央"</string>
@@ -525,4 +540,12 @@
<string name="preview" msgid="9077832302472282938">"預覽"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"拖曳即可新增圖塊"</string>
<string name="qs_edit" msgid="2232596095725105230">"編輯"</string>
+ <!-- no translation found for tuner_time (6572217313285536011) -->
+ <skip />
+ <!-- no translation found for clock_options:0 (5965318737560463480) -->
+ <!-- no translation found for clock_options:1 (1427801730816895300) -->
+ <!-- no translation found for clock_options:2 (3830170141562534721) -->
+ <!-- no translation found for battery_options:0 (3160236755818672034) -->
+ <!-- no translation found for battery_options:1 (2139628951880142927) -->
+ <!-- no translation found for battery_options:2 (3327323682209964956) -->
</resources>
diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index df58a62..068587c 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -301,8 +301,7 @@
<string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"ukuphina isikrini"</string>
<string name="recents_search_bar_label" msgid="8074997400187836677">"sesha"</string>
<string name="recents_launch_error_message" msgid="2969287838120550506">"Ayikwazanga ukuqala i-<xliff:g id="APP">%s</xliff:g>."</string>
- <!-- no translation found for recents_launch_disabled_message (1624523193008871793) -->
- <skip />
+ <string name="recents_launch_disabled_message" msgid="1624523193008871793">"I-<xliff:g id="APP">%s</xliff:g> ikhutshaziwe kumodi yokuphepha."</string>
<string name="recents_history_button_label" msgid="5153358867807604821">"Umlando"</string>
<string name="recents_history_clear_all_button_label" msgid="5905258334958006953">"Sula"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Hlukanisa okuvundlile"</string>
@@ -334,8 +333,6 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Ukuthula\niokuphelele"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Okubalulekile\nkuphela"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Ama-alamu\nkuphela"</string>
- <string name="interruption_level_all" msgid="1330581184930945764">"Konke"</string>
- <string name="interruption_level_all_twoline" msgid="3719402899156124780">"Konke\n"</string>
<string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Iyashaja (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ize igcwale)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="9018981952053914986">"Iyashaja ngokushesha (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ize igcwale)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="955252797961724952">"Iyashaja kancane (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> ize igcwale)"</string>
@@ -448,7 +445,7 @@
<string name="clock_seconds_desc" msgid="6282693067130470675">"Bonisa amasekhondi wewashi kubha yesimo. Ingathinta impilo yebhethri."</string>
<string name="qs_rearrange" msgid="8060918697551068765">"Hlela kabusha izilungiselelo ezisheshayo"</string>
<string name="show_brightness" msgid="6613930842805942519">"Bonisa ukukhanya kuzilungiselelo ezisheshayo"</string>
- <string name="overview_nav_bar_gesture" msgid="1852503363271291341">"Nika amandla isisheshisi sokuhlukanisa isikrini sokuswayiphela phezulu"</string>
+ <string name="overview_nav_bar_gesture" msgid="8579814204727917764">"Nika amandla ukuthinta kokuswayiphela phezulu ukuhlukanisa isikrini"</string>
<string name="overview_nav_bar_gesture_desc" msgid="6329167382305102615">"Nika amandla ukuthinta ukuze ungene ekuhlukaniseni isikrini ngokuswayiphela phezulu kusukela kunkinobho yokubuka konke"</string>
<string name="experimental" msgid="6198182315536726162">"Okokulinga"</string>
<string name="enable_bluetooth_title" msgid="5027037706500635269">"Vula i-Bluetooth?"</string>
@@ -468,19 +465,22 @@
<string name="notification_importance_max" msgid="5236987171904756134">"Bheka kusikrini uphinde wenze umsindo"</string>
<string name="notification_more_settings" msgid="816306283396553571">"Izilungiselelo eziningi"</string>
<string name="notification_done" msgid="5279426047273930175">"Kwenziwe"</string>
- <string name="color_matrix_none" msgid="2121957926040543148">"Imibala ejwayelekile"</string>
- <string name="color_matrix_night" msgid="5943817622105307072">"Imibala yasebusuku"</string>
- <string name="color_matrix_custom" msgid="3655576492322298713">"Imibala yangokwezifiso"</string>
- <string name="color_matrix_auto" msgid="4896624757412029265">"Okuzenzakalelayo"</string>
- <string name="color_matrix_unknown" msgid="2709202104256265107">"Imibala engaziwa"</string>
- <string name="color_transform" msgid="6985460408079086090">"Ukulungiswa kombala"</string>
- <string name="color_matrix_show_qs" msgid="1763244354399276679">"Bonisa ithayili lezilungiselelo ezisheshayo"</string>
- <string name="color_enable_custom" msgid="6729001308217347501">"Nika amandla ukuguqulwa kwangokwezifiso"</string>
+ <string name="color_and_appearance" msgid="1254323855964993144">"Umbala nokubonakala"</string>
+ <string name="night_mode" msgid="3540405868248625488">"Imodi yasebusuku"</string>
+ <string name="calibrate_display" msgid="5974642573432039217">"Sika isibonisi"</string>
+ <string name="night_mode_on" msgid="5597545513026541108">"Vuliwe"</string>
+ <string name="night_mode_off" msgid="8035605276956057508">"Valiwe"</string>
+ <string name="turn_on_automatically" msgid="4167565356762016083">"Vula ngokuzenzakalela"</string>
+ <string name="turn_on_auto_summary" msgid="2190994512406701520">"Shintshela kwimodi yasebusuku njengokuqondile ngendawo nesikhathi sosuku"</string>
+ <string name="when_night_mode_on" msgid="2969436026899172821">"Uma imodi yasebusuku ivulekile"</string>
+ <string name="use_dark_theme" msgid="2900938704964299312">"Sebenzisa ingqukithi emnyama ku-Android OS"</string>
+ <string name="adjust_tint" msgid="3398569573231409878">"Lungisa i-tint"</string>
+ <string name="adjust_brightness" msgid="980039329808178246">"Lungisa ukukhanya"</string>
+ <string name="night_mode_disclaimer" msgid="3297928749219711334">"Ingqikithi emnyama isetshenziswa ezindaweni eziqinile ze-Android OS ezivame ukuboniswa ngengqikithi ekhanyayo, njengamasethingi nezaziso."</string>
<string name="color_apply" msgid="9212602012641034283">"Sebenzisa"</string>
<string name="color_revert_title" msgid="4746666545480534663">"Qinisekisa izilungiselelo"</string>
<string name="color_revert_message" msgid="9116001069397996691">"Ezinye izilungiselelo zombala zingenza le divayisi ingasebenziseki. Chofoza ku-KULUNGILE ukuze uqinisekise lezi zilungiselelo zombala, uma kungenjalo lezi zilungiselelo zizosethwa kabusha ngemuva kwamasekhondi angu-10."</string>
- <!-- no translation found for battery_panel_title (7944156115535366613) -->
- <skip />
+ <string name="battery_panel_title" msgid="7944156115535366613">"Ukusetshenziswa kwebhethri"</string>
<string name="battery_detail_charging_summary" msgid="1279095653533044008">"Isilondolozi sebhethri asitholakali ngesikhathi sokushaja"</string>
<string name="battery_detail_switch_title" msgid="6285872470260795421">"Isilondolozi sebhethri"</string>
<string name="battery_detail_switch_summary" msgid="9049111149407626804">"Sehlisa ukusebenza nedatha yasemuva"</string>
@@ -488,21 +488,20 @@
<string name="keyboard_shortcut_group_system_home" msgid="3054369431319891965">"Ekhaya"</string>
<string name="keyboard_shortcut_group_system_recents" msgid="3154851905021926744">"Okwakamuva"</string>
<string name="keyboard_shortcut_group_system_back" msgid="2207004531216446378">"Emuva"</string>
- <string name="tuner_full_zen_title" msgid="5905081395132280054">"Bonisa ukungaphazamisi kuvolumu"</string>
- <string name="tuner_full_zen_summary" msgid="6883568374520596402">"Vumela ulawulo olugcwele lokungaphazamisi kungxoxo yevolumu."</string>
- <string name="volume_and_do_not_disturb" msgid="3114580364524650941">"Ivolumu nokungaphazamisi"</string>
- <string name="volume_down_silent" msgid="66962568467719591">"Faka ukungaphazamisi ekwehliseni ivolumu"</string>
+ <string name="tuner_full_zen_title" msgid="4540823317772234308">"Bonisa ngezilawuli zevolomu"</string>
+ <string name="volume_and_do_not_disturb" msgid="3373784330208603030">"Ungaphazamisi"</string>
+ <string name="volume_dnd_silent" msgid="4363882330723050727">"Izinqamuleli zezinkinobho zevolomu"</string>
<string name="volume_up_silent" msgid="7141255269783588286">"Phuma kokuthi ungaphazamisi ekukhuphuleni ivolumu"</string>
<string name="battery" msgid="7498329822413202973">"Ibhethri"</string>
<string name="clock" msgid="7416090374234785905">"Iwashi"</string>
<string name="headset" msgid="4534219457597457353">"Ama-earphone"</string>
<string name="accessibility_status_bar_headphones" msgid="9156307120060559989">"Amahedfoni axhunyiwe"</string>
<string name="accessibility_status_bar_headset" msgid="8666419213072449202">"Ama-earphone axhunyiwe"</string>
- <string name="tuner_status_bar_explanation" msgid="9032196769944137864">"Nika amandla noma khubaza izithonjana kusukela ekubonisweni kubha yesimo."</string>
<string name="data_saver" msgid="5037565123367048522">"Iseva yedatha"</string>
<string name="accessibility_data_saver_on" msgid="8454111686783887148">"Iseva yedatha ivuliwe"</string>
<string name="accessibility_data_saver_off" msgid="8841582529453005337">"Iseva yedatha ivaliwe"</string>
<string name="switch_bar_on" msgid="1142437840752794229">"Vuliwe"</string>
+ <string name="switch_bar_off" msgid="8803270596930432874">"Valiwe"</string>
<string name="nav_bar" msgid="1993221402773877607">"Ibha yokuzula"</string>
<string name="start" msgid="6873794757232879664">"Qala"</string>
<string name="center" msgid="4327473927066010960">"Maphakathi"</string>
@@ -525,4 +524,15 @@
<string name="preview" msgid="9077832302472282938">"Hlola kuqala"</string>
<string name="drag_to_add_tiles" msgid="7058945779098711293">"Hudula ukuze ungeze amathayili"</string>
<string name="qs_edit" msgid="2232596095725105230">"Hlela"</string>
+ <string name="tuner_time" msgid="6572217313285536011">"Isikhathi"</string>
+ <string-array name="clock_options">
+ <item msgid="5965318737560463480">"Bonisa amahora, amaminithi, namasekhondi"</item>
+ <item msgid="1427801730816895300">"Bonisa amahora namaminithi (okuzenzakalelayo)"</item>
+ <item msgid="3830170141562534721">"Ungabonisi lesi sithonjana"</item>
+ </string-array>
+ <string-array name="battery_options">
+ <item msgid="3160236755818672034">"Njlalo bonisa iphesentheji"</item>
+ <item msgid="2139628951880142927">"Bonisa iphesentheji uma ishaja (okuzenzakalelayo)"</item>
+ <item msgid="3327323682209964956">"Ungabonisi lesi sithonjana"</item>
+ </string-array>
</resources>
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index 4cd920a..8f69bbb 100644
--- a/packages/SystemUI/res/values/colors.xml
+++ b/packages/SystemUI/res/values/colors.xml
@@ -102,6 +102,9 @@
<!-- The color of the circle around the primary user in the user switcher -->
<color name="current_user_border_color">@color/system_accent_color</color>
+ <!-- The color of the gear shown behind a notification -->
+ <color name="notification_gear_color">#ff757575</color>
+
<!-- The "inside" of a notification, reached via longpress -->
<color name="notification_guts_bg_color">#eeeeee</color>
<color name="notification_guts_slider_color">@*android:color/material_deep_teal_500</color>
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index b8044ba..ee61e00 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -58,7 +58,7 @@
<item name="status_bar_icon_scale_factor" format="float" type="dimen">1.0</item>
<!-- Height of a small notification in the status bar-->
- <dimen name="notification_min_height">84dp</dimen>
+ <dimen name="notification_min_height">86dp</dimen>
<!-- Height of a small notification in the status bar which was used before android N -->
<dimen name="notification_min_height_legacy">64dp</dimen>
@@ -78,6 +78,18 @@
<!-- Minimum layouted height of a notification in the statusbar-->
<dimen name="min_notification_layout_height">48dp</dimen>
+ <!-- Width of the space containing the gear icon behind a notification -->
+ <dimen name="notification_gear_width">64dp</dimen>
+
+ <!-- Height of the space containing the gear icon behind a notification -->
+ <dimen name="notification_gear_height">74dp</dimen>
+
+ <!-- The space above the gear icon displayed behind a notification -->
+ <dimen name="notification_gear_top_padding">30dp</dimen>
+
+ <!-- The space on either side and below the gear icon displayed behind a notification -->
+ <dimen name="notification_gear_padding">20dp</dimen>
+
<!-- size at which Notification icons will be drawn in the status bar -->
<dimen name="status_bar_icon_drawing_size">17dip</dimen>
@@ -166,7 +178,7 @@
<dimen name="qs_date_alarm_anim_translation">26dp</dimen>
<dimen name="qs_date_collapsed_text_size">14sp</dimen>
<dimen name="qs_date_text_size">16sp</dimen>
- <dimen name="qs_header_gear_translation">120dp</dimen>
+ <dimen name="qs_header_gear_translation">150dp</dimen>
<dimen name="qs_page_indicator_size">12dp</dimen>
<dimen name="qs_tile_icon_size">24dp</dimen>
<dimen name="qs_tile_text_size">12sp</dimen>
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index 6135dc6..0bd7c4e 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -1234,29 +1234,43 @@
<!-- Notification: Control panel: Label for button that dismisses control panel. [CHAR LIMIT=NONE] -->
<string name="notification_done">Done</string>
- <!-- Label for no color transform [CHAR LIMIT=30] -->
- <string name="color_matrix_none">Normal colors</string>
+ <!-- SysUI Tuner: Color and appearance screen title [CHAR LIMIT=50] -->
+ <string name="color_and_appearance">Color and appearance</string>
- <!-- Label for night color transform [CHAR LIMIT=30] -->
- <string name="color_matrix_night">Night colors</string>
+ <!-- SysUI Tuner: Name of the night mode feature [CHAR LIMIT=30] -->
+ <string name="night_mode">Night mode</string>
- <!-- Label for custom color transform [CHAR LIMIT=30] -->
- <string name="color_matrix_custom">Custom colors</string>
+ <!-- SysUI Tuner: Name of calibrate display dialog [CHAR LIMIT=30] -->
+ <string name="calibrate_display">Calibrate display</string>
- <!-- Label for auto color transforms [CHAR LIMIT=30] -->
- <string name="color_matrix_auto">Auto</string>
+ <!-- SysUI Tuner: Summary of night mode when its on [CHAR LIMIT=NONE] -->
+ <string name="night_mode_on">On</string>
- <!-- Label for unknown color transform [CHAR LIMIT=30] -->
- <string name="color_matrix_unknown">Unknown colors</string>
+ <!-- SysUI Tuner: Summary of night mode when its off [CHAR LIMIT=NONE] -->
+ <string name="night_mode_off">Off</string>
- <!-- Title for color transform [CHAR LIMIT=30] -->
- <string name="color_transform">Color modification</string>
+ <!-- SysUI Tuner: Label for switch to turn on night mode automatically [CHAR LIMIT=50] -->
+ <string name="turn_on_automatically">Turn on automatically</string>
- <!-- Title for setting to show Quick Settings tile [CHAR LIMIT=60] -->
- <string name="color_matrix_show_qs">Show Quick Settings tile</string>
+ <!-- SysUI Tuner: Summary for switch to turn on night mode automatically [CHAR LIMIT=NONE] -->
+ <string name="turn_on_auto_summary">Switch into Night Mode as appropriate for location and time of day</string>
- <!-- Title for switch to enable custom color transform [CHAR LIMIT=60] -->
- <string name="color_enable_custom">Enable custom transform</string>
+ <!-- SysUI Tuner: Label for section controlling what night mode does [CHAR LIMIT=60] -->
+ <string name="when_night_mode_on">When Night Mode is on</string>
+
+ <!-- SysUI Tuner: Switch controlling whether dark theme is turned on with night mode [CHAR LIMIT=45] -->
+ <string name="use_dark_theme">Use dark theme for Android OS</string>
+
+ <!-- SysUI Tuner: Switch controlling whether tint is changed with night mode [CHAR LIMIT=45] -->
+ <string name="adjust_tint">Adjust tint</string>
+
+ <!-- SysUI Tuner: Switch controlling whether brightness is changed with night mode [CHAR LIMIT=45] -->
+ <string name="adjust_brightness">Adjust brightness</string>
+
+ <!-- SysUI Tuner: Disclaimer about using dark theme with night mode [CHAR LIMIT=NONE] -->
+ <string name="night_mode_disclaimer">The dark theme is applied to
+ core areas of Android OS that are normally displayed in a light theme,
+ such as Settings and notifications.</string>
<!-- Button to apply settings [CHAR LIMIT=30] -->
<string name="color_apply">Apply</string>
@@ -1295,15 +1309,14 @@
<string name="keyboard_shortcut_group_system_back">Back</string>
<!-- SysUI Tuner: Option to show full do not disturb panel in volume [CHAR LIMIT=60] -->
- <string name="tuner_full_zen_title">Show do not disturb in volume</string>
- <!-- SysUI Tuner: Summary of option to show full do not disturb panel in volume [CHAR LIMIT=NONE] -->
- <string name="tuner_full_zen_summary">Allow full control of do not disturb in the volume dialog.</string>
+ <string name="tuner_full_zen_title">Show with volume controls</string>
- <!-- SysUI Tuner: Label for screen about volume and do not disturb settings [CHAR LIMIT=60] -->
- <string name="volume_and_do_not_disturb">Volume and Do not disturb</string>
+ <!-- SysUI Tuner: Label for screen about do not disturb settings [CHAR LIMIT=60] -->
+ <string name="volume_and_do_not_disturb">Do not disturb</string>
- <!-- SysUI Tuner: Switch to control volume down behavior [CHAR LIMIT=60] -->
- <string name="volume_down_silent">Enter do not disturb on volume down</string>
+ <!-- SysUI Tuner: Switch to control whether volume buttons enter/exit do
+ not disturb [CHAR LIMIT=60] -->
+ <string name="volume_dnd_silent">Volume buttons shortcut</string>
<!-- SysUI Tuner: Switch to control volume up behavior [CHAR LIMIT=60] -->
<string name="volume_up_silent">Exit do not disturb on volume up</string>
@@ -1323,9 +1336,6 @@
<!-- Accessibility description of headset icon [CHAR LIMIT=NONE] -->
<string name="accessibility_status_bar_headset">Headset connected</string>
- <!-- Explanation of the status bar section of the tuner [CHAR LIMIT=NONE] -->
- <string name="tuner_status_bar_explanation">Enable or disable icons from being shown in the status bar.</string>
-
<!-- Label for quick settings tile for data saver [CHAR LIMIT=30] -->
<string name="data_saver">Data Saver</string>
@@ -1338,6 +1348,9 @@
<!-- Label for feature switch [CHAR LIMIT=30] -->
<string name="switch_bar_on">On</string>
+ <!-- Label for feature switch [CHAR LIMIT=30] -->
+ <string name="switch_bar_off">Off</string>
+
<!-- SysUI Tuner: Button that leads to the navigation bar customization screen [CHAR LIMIT=60] -->
<string name="nav_bar">Navigation bar</string>
@@ -1398,4 +1411,21 @@
<!-- Button to edit the tile ordering of quick settings [CHAR LIMIT=60] -->
<string name="qs_edit">Edit</string>
+ <!-- SysUI Tuner: Options for how clock is displayed [CHAR LIMIT=NONE] -->
+ <string name="tuner_time">Time</string>
+
+ <!-- SysUI Tuner: Options for how clock is displayed [CHAR LIMIT=NONE] -->
+ <string-array name="clock_options">
+ <item>Show hours, minutes, and seconds</item>
+ <item>Show hours and minutes (default)</item>
+ <item>Don\'t show this icon</item>
+ </string-array>
+
+ <!-- SysUI Tuner: Options for how battery is displayed [CHAR LIMIT=NONE] -->
+ <string-array name="battery_options">
+ <item>Always show percentage</item>
+ <item>Show percentage when charging (default)</item>
+ <item>Don\'t show this icon</item>
+ </string-array>
+
</resources>
diff --git a/packages/SystemUI/res/xml/color_and_appearance.xml b/packages/SystemUI/res/xml/color_and_appearance.xml
new file mode 100644
index 0000000..21f890e
--- /dev/null
+++ b/packages/SystemUI/res/xml/color_and_appearance.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 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.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:sysui="http://schemas.android.com/apk/res-auto"
+ android:title="@string/color_and_appearance">
+
+ <Preference
+ android:key="night_mode"
+ android:title="@string/night_mode"
+ android:fragment="com.android.systemui.tuner.NightModeFragment" />
+
+ <com.android.systemui.tuner.CalibratePreference
+ android:key="calibrate"
+ android:title="@string/calibrate_display" />
+
+</PreferenceScreen>
diff --git a/packages/SystemUI/res/xml/night_mode.xml b/packages/SystemUI/res/xml/night_mode.xml
new file mode 100644
index 0000000..d5f5333
--- /dev/null
+++ b/packages/SystemUI/res/xml/night_mode.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 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.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:sysui="http://schemas.android.com/apk/res-auto"
+ android:title="@string/night_mode">
+
+ <SwitchPreference
+ android:key="auto"
+ android:title="@string/turn_on_automatically"
+ android:summary="@string/turn_on_auto_summary" />
+
+ <PreferenceCategory
+ android:title="@string/when_night_mode_on">
+
+ <SwitchPreference
+ android:key="dark_theme"
+ android:title="@string/use_dark_theme" />
+
+ <SwitchPreference
+ android:key="adjust_tint"
+ android:title="@string/adjust_tint" />
+
+ <SwitchPreference
+ android:key="adjust_brightness"
+ android:title="@string/adjust_brightness" />
+
+ </PreferenceCategory>
+
+ <Preference
+ android:selectable="false"
+ android:summary="@string/night_mode_disclaimer" />
+
+</PreferenceScreen>
diff --git a/packages/SystemUI/res/xml/tuner_prefs.xml b/packages/SystemUI/res/xml/tuner_prefs.xml
index 39281bc..023a3f0 100644
--- a/packages/SystemUI/res/xml/tuner_prefs.xml
+++ b/packages/SystemUI/res/xml/tuner_prefs.xml
@@ -18,19 +18,10 @@
xmlns:sysui="http://schemas.android.com/apk/res-auto"
android:title="@string/system_ui_tuner">
- <com.android.systemui.tuner.TunerSwitch
- android:key="qs_show_brightness"
- android:title="@string/show_brightness"
- sysui:defValue="true" />
-
<PreferenceScreen
android:key="status_bar"
android:title="@string/status_bar" >
- <Preference
- android:selectable="false"
- android:summary="@string/tuner_status_bar_explanation" />
-
<com.android.systemui.tuner.StatusBarSwitch
android:key="rotate"
android:title="@string/status_bar_settings_auto_rotation" />
@@ -91,9 +82,10 @@
<!-- other weird signal stuff -->
- <com.android.systemui.tuner.StatusBarSwitch
- android:key="battery"
- android:title="@string/battery" />
+ <com.android.systemui.tuner.BatteryPreference
+ android:title="@string/battery"
+ android:summary="%s"
+ android:entries="@array/battery_options" />
<com.android.systemui.tuner.StatusBarSwitch
android:key="alarm_clock"
@@ -101,12 +93,37 @@
<!-- secure -->
- <com.android.systemui.tuner.StatusBarSwitch
- android:key="clock"
- android:title="@string/clock" />
+ <com.android.systemui.tuner.ClockPreference
+ android:title="@string/tuner_time"
+ android:summary="%s"
+ android:entries="@array/clock_options" />
</PreferenceScreen>
+ <Preference
+ android:key="color_transform"
+ android:title="@string/color_and_appearance"
+ android:fragment="com.android.systemui.tuner.ColorAndAppearanceFragment" />
+
+ <PreferenceScreen
+ android:key="volume_and_do_not_disturb"
+ android:title="@string/volume_and_do_not_disturb">
+
+ <com.android.systemui.tuner.TunerSwitch
+ android:key="sysui_show_full_zen"
+ android:title="@string/tuner_full_zen_title" />
+
+ <com.android.systemui.tuner.TunerSwitch
+ android:key="sysui_volume_down_silent,sysui_volume_up_silent"
+ android:title="@string/volume_dnd_silent"
+ sysui:defValue="true" />
+
+ </PreferenceScreen>
+
+ <Preference
+ android:key="nav_bar"
+ android:title="@string/nav_bar"
+ android:fragment="com.android.systemui.tuner.NavBarTuner" />
<PreferenceScreen
android:key="overview"
@@ -124,53 +141,6 @@
</PreferenceScreen>
- <SwitchPreference
- android:key="battery_pct"
- android:title="@string/show_battery_percentage"
- android:summary="@string/show_battery_percentage_summary"
- android:persistent="false" />
-
- <com.android.systemui.tuner.TunerSwitch
- android:key="clock_seconds"
- android:title="@string/clock_seconds"
- android:summary="@string/clock_seconds_desc" />
-
- <Preference
- android:key="demo_mode"
- android:title="@string/demo_mode"
- android:fragment="com.android.systemui.tuner.DemoModeFragment" />
-
- <Preference
- android:key="color_transform"
- android:title="@string/color_transform"
- android:fragment="com.android.systemui.tuner.ColorMatrixFragment" />
-
- <PreferenceScreen
- android:key="volume_and_do_not_disturb"
- android:title="@string/volume_and_do_not_disturb">
-
- <com.android.systemui.tuner.TunerSwitch
- android:key="sysui_show_full_zen"
- android:title="@string/tuner_full_zen_title"
- android:summary="@string/tuner_full_zen_summary" />
-
- <com.android.systemui.tuner.TunerSwitch
- android:key="sysui_volume_down_silent"
- android:title="@string/volume_down_silent"
- sysui:defValue="true" />
-
- <com.android.systemui.tuner.TunerSwitch
- android:key="sysui_volume_up_silent"
- android:title="@string/volume_up_silent"
- sysui:defValue="true" />
-
- </PreferenceScreen>
-
- <Preference
- android:key="nav_bar"
- android:title="@string/nav_bar"
- android:fragment="com.android.systemui.tuner.NavBarTuner" />
-
<!-- Warning, this goes last. -->
<Preference
android:summary="@string/tuner_persistent_warning"
diff --git a/packages/SystemUI/src/com/android/systemui/SwipeHelper.java b/packages/SystemUI/src/com/android/systemui/SwipeHelper.java
index 33b43fe..33f3c30 100644
--- a/packages/SystemUI/src/com/android/systemui/SwipeHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/SwipeHelper.java
@@ -69,9 +69,9 @@
private float mPerpendicularInitialTouchPos;
private boolean mDragging;
private View mCurrView;
- private View mCurrAnimView;
private boolean mCanCurrViewBeDimissed;
private float mDensityScale;
+ private float mTranslation = 0;
private boolean mLongPressSent;
private LongPressListener mLongPressListener;
@@ -121,7 +121,7 @@
return mSwipeDirection == X ? ev.getY() : ev.getX();
}
- private float getTranslation(View v) {
+ protected float getTranslation(View v) {
return mSwipeDirection == X ? v.getTranslationX() : v.getTranslationY();
}
@@ -130,7 +130,7 @@
vt.getYVelocity();
}
- private ObjectAnimator createTranslationAnimation(View v, float newPos) {
+ protected ObjectAnimator createTranslationAnimation(View v, float newPos) {
ObjectAnimator anim = ObjectAnimator.ofFloat(v,
mSwipeDirection == X ? View.TRANSLATION_X : View.TRANSLATION_Y, newPos);
return anim;
@@ -141,7 +141,17 @@
vt.getXVelocity();
}
- private void setTranslation(View v, float translate) {
+ protected Animator getViewTranslationAnimator(View v, float target,
+ AnimatorUpdateListener listener) {
+ ObjectAnimator anim = createTranslationAnimation(v, target);
+ anim.addUpdateListener(listener);
+ return anim;
+ }
+
+ protected void setTranslation(View v, float translate) {
+ if (v == null) {
+ return;
+ }
if (mSwipeDirection == X) {
v.setTranslationX(translate);
} else {
@@ -237,15 +247,16 @@
mTouchAboveFalsingThreshold = false;
mDragging = false;
mLongPressSent = false;
- mCurrView = mCallback.getChildAtPosition(ev);
mVelocityTracker.clear();
+ mCurrView = mCallback.getChildAtPosition(ev);
+
if (mCurrView != null) {
- mCurrAnimView = mCallback.getChildContentView(mCurrView);
+ onDownUpdate(mCurrView);
mCanCurrViewBeDimissed = mCallback.canChildBeDismissed(mCurrView);
mVelocityTracker.addMovement(ev);
mInitialTouchPos = getPos(ev);
mPerpendicularInitialTouchPos = getPerpendicularPos(ev);
-
+ mTranslation = getTranslation(mCurrView);
if (mLongPressListener != null) {
if (mWatchLongPress == null) {
mWatchLongPress = new Runnable() {
@@ -268,7 +279,6 @@
}
mHandler.postDelayed(mWatchLongPress, mLongPressTimeout);
}
-
}
break;
@@ -283,8 +293,8 @@
&& Math.abs(delta) > Math.abs(deltaPerpendicular)) {
mCallback.onBeginDrag(mCurrView);
mDragging = true;
- mInitialTouchPos = getPos(ev) - getTranslation(mCurrAnimView);
-
+ mInitialTouchPos = getPos(ev);
+ mTranslation = getTranslation(mCurrView);
removeLongPressCallback();
}
}
@@ -295,7 +305,6 @@
final boolean captured = (mDragging || mLongPressSent);
mDragging = false;
mCurrView = null;
- mCurrAnimView = null;
mLongPressSent = false;
removeLongPressCallback();
if (captured) return true;
@@ -320,12 +329,11 @@
* @param useAccelerateInterpolator Should an accelerating Interpolator be used
* @param fixedDuration If not 0, this exact duration will be taken
*/
- public void dismissChild(final View view, float velocity, final Runnable endAction,
+ public void dismissChild(final View animView, float velocity, final Runnable endAction,
long delay, boolean useAccelerateInterpolator, long fixedDuration) {
- final View animView = mCallback.getChildContentView(view);
- final boolean canAnimViewBeDismissed = mCallback.canChildBeDismissed(view);
+ final boolean canBeDismissed = mCallback.canChildBeDismissed(animView);
float newPos;
- boolean isLayoutRtl = view.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL;
+ boolean isLayoutRtl = animView.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL;
if (velocity < 0
|| (velocity == 0 && getTranslation(animView) < 0)
@@ -355,7 +363,13 @@
if (!mDisableHwLayers) {
animView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
}
- ObjectAnimator anim = createTranslationAnimation(animView, newPos);
+ AnimatorUpdateListener updateListener = new AnimatorUpdateListener() {
+ public void onAnimationUpdate(ValueAnimator animation) {
+ onTranslationUpdate(animView, (float) animation.getAnimatedValue(), canBeDismissed);
+ }
+ };
+
+ Animator anim = getViewTranslationAnimator(animView, newPos, updateListener);
if (useAccelerateInterpolator) {
anim.setInterpolator(Interpolators.FAST_OUT_LINEAR_IN);
} else {
@@ -367,8 +381,8 @@
}
anim.addListener(new AnimatorListenerAdapter() {
public void onAnimationEnd(Animator animation) {
- updateSwipeProgressFromOffset(animView, canAnimViewBeDismissed);
- mCallback.onChildDismissed(view);
+ updateSwipeProgressFromOffset(animView, canBeDismissed);
+ mCallback.onChildDismissed(animView);
if (endAction != null) {
endAction.run();
}
@@ -377,11 +391,6 @@
}
}
});
- anim.addUpdateListener(new AnimatorUpdateListener() {
- public void onAnimationUpdate(ValueAnimator animation) {
- updateSwipeProgressFromOffset(animView, canAnimViewBeDismissed);
- }
- });
prepareDismissAnimation(animView, anim);
anim.start();
}
@@ -393,21 +402,21 @@
// Do nothing
}
- public void snapChild(final View view, float velocity) {
- final View animView = mCallback.getChildContentView(view);
- final boolean canAnimViewBeDismissed = mCallback.canChildBeDismissed(animView);
- ObjectAnimator anim = createTranslationAnimation(animView, 0);
+ public void snapChild(final View animView, final float targetLeft, float velocity) {
+ final boolean canBeDismissed = mCallback.canChildBeDismissed(animView);
+ AnimatorUpdateListener updateListener = new AnimatorUpdateListener() {
+ public void onAnimationUpdate(ValueAnimator animation) {
+ onTranslationUpdate(animView, (float) animation.getAnimatedValue(), canBeDismissed);
+ }
+ };
+
+ Animator anim = getViewTranslationAnimator(animView, targetLeft, updateListener);
int duration = SNAP_ANIM_LEN;
anim.setDuration(duration);
- anim.addUpdateListener(new AnimatorUpdateListener() {
- public void onAnimationUpdate(ValueAnimator animation) {
- updateSwipeProgressFromOffset(animView, canAnimViewBeDismissed);
- }
- });
anim.addListener(new AnimatorListenerAdapter() {
public void onAnimationEnd(Animator animator) {
- updateSwipeProgressFromOffset(animView, canAnimViewBeDismissed);
- mCallback.onChildSnappedBack(animView);
+ updateSwipeProgressFromOffset(animView, canBeDismissed);
+ mCallback.onChildSnappedBack(animView, targetLeft);
}
});
prepareSnapBackAnimation(animView, anim);
@@ -421,6 +430,28 @@
// Do nothing
}
+ /**
+ * Called when there's a down event.
+ */
+ public void onDownUpdate(View currView) {
+ // Do nothing
+ }
+
+ /**
+ * Called on a move event.
+ */
+ protected void onMoveUpdate(View view, float totalTranslation, float delta) {
+ // Do nothing
+ }
+
+ /**
+ * Called in {@link AnimatorUpdateListener#onAnimationUpdate(ValueAnimator)} when the current
+ * view is being animated to dismiss or snap.
+ */
+ public void onTranslationUpdate(View animView, float value, boolean canBeDismissed) {
+ updateSwipeProgressFromOffset(animView, canBeDismissed);
+ }
+
public boolean onTouchEvent(MotionEvent ev) {
if (mLongPressSent) {
return true;
@@ -456,17 +487,18 @@
// don't let items that can't be dismissed be dragged more than
// maxScrollDistance
if (CONSTRAIN_SWIPE && !mCallback.canChildBeDismissed(mCurrView)) {
- float size = getSize(mCurrAnimView);
- float maxScrollDistance = 0.15f * size;
+ float size = getSize(mCurrView);
+ float maxScrollDistance = 0.25f * size;
if (absDelta >= size) {
delta = delta > 0 ? maxScrollDistance : -maxScrollDistance;
} else {
delta = maxScrollDistance * (float) Math.sin((delta/size)*(Math.PI/2));
}
}
- setTranslation(mCurrAnimView, delta);
- updateSwipeProgressFromOffset(mCurrAnimView, mCanCurrViewBeDimissed);
+ setTranslation(mCurrView, mTranslation + delta);
+ updateSwipeProgressFromOffset(mCurrView, mCanCurrViewBeDimissed);
+ onMoveUpdate(mCurrView, mTranslation + delta, delta);
}
break;
case MotionEvent.ACTION_UP:
@@ -478,12 +510,13 @@
float velocity = getVelocity(mVelocityTracker);
float perpendicularVelocity = getPerpendicularVelocity(mVelocityTracker);
+ float translation = getTranslation(mCurrView);
// Decide whether to dismiss the current view
boolean childSwipedFarEnough = DISMISS_IF_SWIPED_FAR_ENOUGH &&
- Math.abs(getTranslation(mCurrAnimView)) > 0.4 * getSize(mCurrAnimView);
+ Math.abs(translation) > 0.4 * getSize(mCurrView);
boolean childSwipedFastEnough = (Math.abs(velocity) > escapeVelocity) &&
(Math.abs(velocity) > Math.abs(perpendicularVelocity)) &&
- (velocity > 0) == (getTranslation(mCurrAnimView) > 0);
+ (velocity > 0) == (translation > 0);
boolean falsingDetected = mCallback.isAntiFalsingNeeded();
if (mFalsingManager.isClassiferEnabled()) {
@@ -502,7 +535,7 @@
} else {
// snappity
mCallback.onDragCancelled(mCurrView);
- snapChild(mCurrView, velocity);
+ snapChild(mCurrView, 0 /* leftTarget */, velocity);
}
}
break;
@@ -518,8 +551,6 @@
public interface Callback {
View getChildAtPosition(MotionEvent ev);
- View getChildContentView(View v);
-
boolean canChildBeDismissed(View v);
boolean isAntiFalsingNeeded();
@@ -530,7 +561,13 @@
void onDragCancelled(View v);
- void onChildSnappedBack(View animView);
+ /**
+ * Called when the child is snapped to a position.
+ *
+ * @param animView the view that was snapped.
+ * @param targetLeft the left position the view was snapped to.
+ */
+ void onChildSnappedBack(View animView, float targetLeft);
/**
* Updates the swipe progress on a child.
diff --git a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
index 8e9857d..0915ee1 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
@@ -27,6 +27,7 @@
private int mNumPages;
private View mDecorGroup;
+ private PageListener mPageListener;
public PagedTileLayout(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -36,10 +37,14 @@
public void onPageSelected(int position) {
if (mPageIndicator == null) return;
mPageIndicator.setLocation(position);
+ if (mPageListener != null) {
+ mPageListener.onPageChanged(position);
+ }
}
@Override
- public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+ public void onPageScrolled(int position, float positionOffset,
+ int positionOffsetPixels) {
if (mPageIndicator == null) return;
mPageIndicator.setLocation(position + positionOffset);
}
@@ -80,6 +85,10 @@
}
}
+ public void setPageListener(PageListener listener) {
+ mPageListener = listener;
+ }
+
private void postDistributeTiles() {
removeCallbacks(mDistribute);
post(mDistribute);
@@ -198,4 +207,8 @@
return view == object;
}
};
+
+ public interface PageListener {
+ void onPageChanged(int page);
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java b/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java
new file mode 100644
index 0000000..6479b0c
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java
@@ -0,0 +1,208 @@
+/*
+ * Copyright (C) 2016 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.qs;
+
+import android.util.Log;
+import android.view.View;
+import android.view.View.OnLayoutChangeListener;
+import android.view.ViewGroup;
+import android.view.animation.DecelerateInterpolator;
+import android.view.animation.PathInterpolator;
+import android.widget.TextView;
+import com.android.systemui.Interpolators;
+import com.android.systemui.qs.PagedTileLayout.PageListener;
+import com.android.systemui.qs.QSPanel.QSTileLayout;
+import com.android.systemui.qs.QSTile.Host.Callback;
+import com.android.systemui.qs.TouchAnimator.Builder;
+import com.android.systemui.qs.TouchAnimator.Listener;
+import com.android.systemui.statusbar.phone.QSTileHost;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+public class QSAnimator implements Callback, PageListener, Listener, OnLayoutChangeListener {
+
+ private static final String TAG = "QSAnimator";
+
+ public static final PathInterpolator TRANSLATION_Y_INTERPOLATOR =
+ new PathInterpolator(.1f, .3f, 1, 1);
+
+ public static final float EXPANDED_TILE_DELAY = .7f;
+
+ private final ArrayList<View> mAllViews = new ArrayList<>();
+ private final QuickQSPanel mQuickQsPanel;
+ private final QSPanel mQsPanel;
+ private final QSContainer mQsContainer;
+
+ private boolean mOnFirstPage = true;
+ private TouchAnimator mFirstPageAnimator;
+ private TouchAnimator mFirstPageDelayedAnimator;
+ private TouchAnimator mTranslationYAnimator;
+ private TouchAnimator mNonfirstPageAnimator;
+
+ public QSAnimator(QSContainer container, QuickQSPanel quickPanel, QSPanel panel) {
+ mQsContainer = container;
+ mQuickQsPanel = quickPanel;
+ mQsPanel = panel;
+ mQuickQsPanel.addOnLayoutChangeListener(this);
+ mQsPanel.addOnLayoutChangeListener(this);
+ QSTileLayout tileLayout = mQsPanel.getTileLayout();
+ if (tileLayout instanceof PagedTileLayout) {
+ ((PagedTileLayout) tileLayout).setPageListener(this);
+ } else {
+ Log.w(TAG, "QS Not using page layout");
+ }
+ }
+
+ public void setHost(QSTileHost qsh) {
+ qsh.addCallback(this);
+ }
+
+ @Override
+ public void onPageChanged(int page) {
+ mOnFirstPage = page == 0;
+ if (!mOnFirstPage) {
+ clearAnimationState();
+ }
+ }
+
+ private void updateAnimators() {
+ TouchAnimator.Builder firstPageBuilder = new Builder();
+ TouchAnimator.Builder translationYBuilder = new Builder();
+ TouchAnimator.Builder firstPageDelayedBuilder = new Builder();
+ Collection<QSTile<?>> tiles = mQsPanel.getHost().getTiles();
+ int count = 0;
+ int[] loc1 = new int[2];
+ int[] loc2 = new int[2];
+ firstPageDelayedBuilder.setStartDelay(EXPANDED_TILE_DELAY);
+ firstPageBuilder.setListener(this);
+ translationYBuilder.setInterpolator(TRANSLATION_Y_INTERPOLATOR);
+ mAllViews.clear();
+ for (QSTile<?> tile : tiles) {
+ QSTileBaseView tileView = mQsPanel.getTileView(tile);
+ final TextView label = ((QSTileView) tileView).getLabel();
+ if (count++ < 5) {
+ // Quick tiles.
+ QSTileBaseView quickTileView = mQuickQsPanel.getTileView(tile);
+ final View tileIcon = tileView.getIcon();
+
+ getRelativePosition(loc1, quickTileView.getIcon(), mQsContainer);
+ getRelativePosition(loc2, tileIcon, mQsContainer);
+ final int xDiff = loc2[0] - loc1[0];
+ final int yDiff = loc2[1] - loc1[1];
+ // Move the quick tile right from its location to the new one.
+ firstPageBuilder.addFloat(quickTileView, "translationX", 0, xDiff);
+ translationYBuilder.addFloat(quickTileView, "translationY", 0, yDiff);
+
+ // Counteract the parent translation on the tile. So we have a static base to
+ // animate off from.
+ firstPageBuilder.addFloat(tileView, "translationY", mQsPanel.getHeight(), 0);
+
+ // Move the real tile's icon and label from the quick tile position to its final
+ // location.
+ firstPageBuilder.addFloat(tileIcon, "translationX", -xDiff, 0);
+ translationYBuilder.addFloat(tileIcon, "translationY", -yDiff, 0);
+ firstPageBuilder.addFloat(label, "translationX", -xDiff, 0);
+ translationYBuilder.addFloat(label, "translationY", -yDiff, 0);
+
+ // Fade in the label as we reach the final position.
+ firstPageDelayedBuilder.addFloat(label, "alpha", 0, 1);
+ mAllViews.add(quickTileView);
+ } else {
+ firstPageDelayedBuilder.addFloat(tileView, "alpha", 0, 1);
+ }
+ mAllViews.add(tileView);
+ mAllViews.add(label);
+ }
+ mFirstPageAnimator = firstPageBuilder.build();
+ mFirstPageDelayedAnimator = firstPageDelayedBuilder.build();
+ mTranslationYAnimator = translationYBuilder.build();
+ mNonfirstPageAnimator = new TouchAnimator.Builder()
+ .addFloat(mQuickQsPanel, "alpha", 1, 0)
+ .setEndDelay(.5f)
+ .build();
+ }
+
+ private void getRelativePosition(int[] loc1, View view, View parent) {
+ loc1[0] = 0 + view.getWidth() / 2;
+ loc1[1] = 0;
+ getRelativePositionInt(loc1, view, parent);
+ }
+
+ private void getRelativePositionInt(int[] loc1, View view, View parent) {
+ if(view == parent || view == null) return;
+ loc1[0] += view.getLeft();
+ loc1[1] += view.getTop();
+ getRelativePositionInt(loc1, (View) view.getParent(), parent);
+ }
+
+ public void setPosition(float position) {
+ if (mFirstPageAnimator == null) return;
+ if (mOnFirstPage) {
+ mQuickQsPanel.setAlpha(1);
+ mFirstPageAnimator.setPosition(position);
+ mFirstPageDelayedAnimator.setPosition(position);
+ mTranslationYAnimator.setPosition(position);
+ } else {
+ mNonfirstPageAnimator.setPosition(position);
+ }
+ }
+
+ @Override
+ public void onAnimationAtStart() {
+
+ }
+
+ @Override
+ public void onAnimationAtEnd() {
+ mQuickQsPanel.setVisibility(View.INVISIBLE);
+ }
+
+ @Override
+ public void onAnimationStarted() {
+ mQuickQsPanel.setVisibility(View.VISIBLE);
+ }
+
+ private void clearAnimationState() {
+ final int N = mAllViews.size();
+ mQuickQsPanel.setAlpha(0);
+ for (int i = 0; i < N; i++) {
+ View v = mAllViews.get(i);
+ v.setAlpha(1);
+ v.setTranslationX(1);
+ v.setTranslationY(1);
+ }
+ }
+
+ @Override
+ public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft,
+ int oldTop, int oldRight, int oldBottom) {
+ updateAnimators();
+ }
+
+ @Override
+ public void onTilesChanged() {
+ // Give the QS panels a moment to generate their new tiles, then create all new animators
+ // hooked up to the new views.
+ mQsPanel.post(mUpdateAnimators);
+ }
+
+ private Runnable mUpdateAnimators = new Runnable() {
+ @Override
+ public void run() {
+ updateAnimators();
+ }
+ };
+}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSContainer.java b/packages/SystemUI/src/com/android/systemui/qs/QSContainer.java
index 34dfd6c..c59da8d 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSContainer.java
@@ -27,6 +27,7 @@
import com.android.systemui.Interpolators;
import com.android.systemui.R;
import com.android.systemui.statusbar.phone.BaseStatusBarHeader;
+import com.android.systemui.statusbar.phone.QSTileHost;
import com.android.systemui.statusbar.stack.StackStateAnimator;
/**
@@ -49,6 +50,7 @@
private boolean mStackScrollerOverscrolling;
private long mDelay;
+ private QSAnimator mQSAnimator;
public QSContainer(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -61,6 +63,23 @@
mQSDetail = (QSDetail) findViewById(R.id.qs_detail);
mQSDetail.setQsPanel(mQSPanel);
mHeader = (BaseStatusBarHeader) findViewById(R.id.header);
+ mQSAnimator = new QSAnimator(this, (QuickQSPanel) mHeader.findViewById(R.id.quick_qs_panel),
+ mQSPanel);
+ }
+
+ public void setHost(QSTileHost qsh) {
+ mQSPanel.setHost(qsh);
+ mHeader.setQSPanel(mQSPanel);
+ mQSDetail.setHost(qsh);
+ mQSAnimator.setHost(qsh);
+ }
+
+ @Override
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ // Since we control our own bottom, be whatever size we want.
+ // Otherwise the QSPanel ends up with 0 height when the window is only the
+ // size of the status bar.
+ super.onMeasure(widthMeasureSpec, MeasureSpec.UNSPECIFIED);
}
@Override
@@ -163,6 +182,7 @@
mHeader.setExpansion(mKeyguardShowing ? 1 : expansion);
mQSPanel.setTranslationY(translationScaleY * mQSPanel.getHeight());
mQSDetail.setFullyExpanded(expansion == 1);
+ mQSAnimator.setPosition(expansion);
updateBottom();
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
index 53abe37..30a9850 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
@@ -25,7 +25,6 @@
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
-import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.android.internal.logging.MetricsLogger;
@@ -45,7 +44,7 @@
import java.util.Collection;
/** View that represents the quick settings tile panel. **/
-public class QSPanel extends FrameLayout implements Tunable {
+public class QSPanel extends LinearLayout implements Tunable {
public static final String QS_SHOW_BRIGHTNESS = "qs_show_brightness";
@@ -66,7 +65,6 @@
protected QSFooter mFooter;
private boolean mGridContentVisible = true;
- protected LinearLayout mQsContainer;
protected QSTileLayout mTileLayout;
private QSCustomizer mCustomizePanel;
@@ -80,20 +78,15 @@
super(context, attrs);
mContext = context;
-
- mQsContainer = new LinearLayout(mContext);
- mQsContainer.setOrientation(LinearLayout.VERTICAL);
- mQsContainer.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
- LayoutParams.WRAP_CONTENT));
- addView(mQsContainer);
+ setOrientation(VERTICAL);
mBrightnessView = LayoutInflater.from(context).inflate(
R.layout.quick_settings_brightness_dialog, this, false);
- mQsContainer.addView(mBrightnessView);
+ addView(mBrightnessView);
mTileLayout = (QSTileLayout) LayoutInflater.from(mContext).inflate(
- R.layout.qs_paged_tile_layout, mQsContainer, false);
- mQsContainer.addView((View) mTileLayout);
+ R.layout.qs_paged_tile_layout, this, false);
+ addView((View) mTileLayout);
findViewById(android.R.id.edit).setOnClickListener(new OnClickListener() {
@Override
public void onClick(final View v) {
@@ -107,7 +100,7 @@
});
mFooter = new QSFooter(this, context);
- mQsContainer.addView(mFooter.getView());
+ addView(mFooter.getView());
updateResources();
@@ -187,7 +180,7 @@
final Resources res = mContext.getResources();
mPanelPaddingBottom = res.getDimensionPixelSize(R.dimen.qs_panel_padding_bottom);
mBrightnessPaddingTop = res.getDimensionPixelSize(R.dimen.qs_brightness_padding_top);
- mQsContainer.setPadding(0, mBrightnessPaddingTop, 0, mPanelPaddingBottom);
+ setPadding(0, mBrightnessPaddingTop, 0, mPanelPaddingBottom);
for (TileRecord r : mRecords) {
r.tile.clearState();
}
@@ -214,6 +207,9 @@
public void setExpanded(boolean expanded) {
if (mExpanded == expanded) return;
mExpanded = expanded;
+ if (!mExpanded && mTileLayout instanceof PagedTileLayout) {
+ ((PagedTileLayout) mTileLayout).setCurrentItem(0, false);
+ }
MetricsLogger.visibility(mContext, MetricsEvent.QS_PANEL, mExpanded);
if (!mExpanded) {
closeDetail();
@@ -329,7 +325,8 @@
final View.OnLongClickListener longClick = new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
- return false;
+ r.tile.longClick();
+ return true;
}
};
r.tileView.init(click, longClick);
@@ -376,7 +373,7 @@
}
public int getGridHeight() {
- return mQsContainer.getMeasuredHeight();
+ return getMeasuredHeight();
}
protected void handleShowDetail(Record r, boolean show) {
@@ -425,7 +422,7 @@
void setGridContentVisibility(boolean visible) {
int newVis = visible ? VISIBLE : INVISIBLE;
- mQsContainer.setVisibility(newVis);
+ setVisibility(newVis);
if (mGridContentVisible != visible) {
MetricsLogger.visibility(mContext, MetricsEvent.QS_PANEL, newVis);
}
@@ -468,6 +465,19 @@
}
}
+ QSTileLayout getTileLayout() {
+ return mTileLayout;
+ }
+
+ QSTileBaseView getTileView(QSTile<?> tile) {
+ for (TileRecord r : mRecords) {
+ if (r.tile == tile) {
+ return r.tileView;
+ }
+ }
+ return null;
+ }
+
private class H extends Handler {
private static final int SHOW_DETAIL = 1;
private static final int SET_TILE_VISIBILITY = 2;
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java
index e363b76..f02424b 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java
@@ -36,7 +36,7 @@
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.statusbar.policy.BluetoothController;
import com.android.systemui.statusbar.policy.CastController;
-import com.android.systemui.statusbar.policy.DisplayController;
+import com.android.systemui.statusbar.policy.NightModeController;
import com.android.systemui.statusbar.policy.FlashlightController;
import com.android.systemui.statusbar.policy.HotspotController;
import com.android.systemui.statusbar.policy.KeyguardMonitor;
@@ -212,9 +212,11 @@
}
protected void handleLongClick() {
- // optional
+ mHost.startActivityDismissingKeyguard(getLongClickIntent());
}
+ public abstract Intent getLongClickIntent();
+
protected void handleClearState() {
mTmpState = newTileState();
mState = newTileState();
@@ -279,10 +281,11 @@
mCallbacks.clear();
}
- protected void checkIfRestrictionEnforced(State state, String userRestriction) {
+ protected void checkIfRestrictionEnforcedByAdminOnly(State state, String userRestriction) {
EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(mContext,
userRestriction, ActivityManager.getCurrentUser());
- if (admin != null) {
+ if (admin != null && !RestrictedLockUtils.hasBaseUserRestriction(mContext,
+ userRestriction, ActivityManager.getCurrentUser())) {
state.disabledByPolicy = true;
state.enforcedAdmin = admin;
} else {
@@ -400,7 +403,7 @@
UserInfoController getUserInfoController();
BatteryController getBatteryController();
TileServices getTileServices();
- DisplayController getDisplayController();
+ NightModeController getNightModeController();
void removeTile(String tileSpec);
ManagedProfileController getManagedProfileController();
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTileBaseView.java b/packages/SystemUI/src/com/android/systemui/qs/QSTileBaseView.java
index 1a854c2..f35aacf 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSTileBaseView.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSTileBaseView.java
@@ -49,6 +49,8 @@
// Default to Quick Tile padding, and QSTileView will specify its own padding.
int padding = context.getResources().getDimensionPixelSize(R.dimen.qs_quick_tile_padding);
setPadding(padding, padding, padding, padding);
+ setClipChildren(false);
+ setClipToPadding(false);
}
private Drawable newTileBackground() {
@@ -77,6 +79,7 @@
public void init(OnClickListener click, OnLongClickListener longClick) {
setClickable(true);
setOnClickListener(click);
+ setOnLongClickListener(longClick);
}
@Override
@@ -110,6 +113,10 @@
setContentDescription(state.contentDescription);
}
+ View getIcon() {
+ return mIcon;
+ }
+
private class H extends Handler {
private static final int STATE_CHANGED = 1;
public H() {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTileView.java b/packages/SystemUI/src/com/android/systemui/qs/QSTileView.java
index 0d5d115..98a1c23 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSTileView.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSTileView.java
@@ -28,6 +28,7 @@
import com.android.systemui.FontSizeUtils;
import com.android.systemui.R;
+import libcore.util.Objects;
/** View that represents a standard quick settings tile. **/
public class QSTileView extends QSTileBaseView {
@@ -57,6 +58,10 @@
setGravity(Gravity.CENTER);
}
+ TextView getLabel() {
+ return mLabel;
+ }
+
private void updateTopPadding() {
Resources res = getResources();
int padding = res.getDimensionPixelSize(R.dimen.qs_tile_padding_top);
@@ -84,14 +89,11 @@
addView(view);
}
- public void init(OnClickListener clickPrimary, OnLongClickListener longClick) {
- setOnClickListener(clickPrimary);
- setOnLongClickListener(longClick);
- }
-
protected void handleStateChanged(QSTile.State state) {
super.handleStateChanged(state);
- mLabel.setText(state.label);
+ if (!Objects.equal(mLabel.getText(), state.label)) {
+ mLabel.setText(state.label);
+ }
mLabel.setEnabled(!state.disabledByPolicy);
mPadLock.setVisibility(state.disabledByPolicy ? View.VISIBLE : View.GONE);
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java
index d0f7e6e..abe4c77 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java
@@ -43,10 +43,10 @@
for (int i = 0; i < mRecords.size(); i++) {
mTileLayout.removeTile(mRecords.get(i));
}
- mQsContainer.removeView((View) mTileLayout);
+ removeView((View) mTileLayout);
}
mTileLayout = new HeaderTileLayout(context);
- mQsContainer.addView((View) mTileLayout, 1 /* Between brightness and footer */);
+ addView((View) mTileLayout, 1 /* Between brightness and footer */);
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java
index f7e2338..55eda98 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java
@@ -81,7 +81,7 @@
record.tileView.measure(exactly(mCellWidth), exactly(mCellHeight));
previousView = record.tileView.updateAccessibilityOrder(previousView);
}
- setMeasuredDimension(width, (mCellHeight + mCellMargin) * rows + mCellMargin);
+ setMeasuredDimension(width, (mCellHeight + mCellMargin) * rows);
}
private static int exactly(int size) {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/TouchAnimator.java b/packages/SystemUI/src/com/android/systemui/qs/TouchAnimator.java
index 5e6b52b..b33d31d 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/TouchAnimator.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/TouchAnimator.java
@@ -15,8 +15,10 @@
package com.android.systemui.qs;
import android.animation.Keyframe;
+import android.util.Log;
import android.util.MathUtils;
import android.util.Property;
+import android.view.View;
import android.view.animation.Interpolator;
import java.util.ArrayList;
@@ -129,11 +131,36 @@
private void add(Object target, String property, KeyframeSet keyframeSet) {
mTargets.add(target);
- // TODO: Optimize the properties here, to use those in View when possible.
- mProperties.add(Property.of(target.getClass(), float.class, property));
+ mProperties.add(getProperty(target, property));
mValues.add(keyframeSet);
}
+ private static Property getProperty(Object target, String property) {
+ if (target instanceof View) {
+ switch (property) {
+ case "translationX":
+ return View.TRANSLATION_X;
+ case "translationY":
+ return View.TRANSLATION_Y;
+ case "translationZ":
+ return View.TRANSLATION_Z;
+ case "alpha":
+ return View.ALPHA;
+ case "rotation":
+ return View.ROTATION;
+ case "x":
+ return View.X;
+ case "y":
+ return View.Y;
+ case "scaleX":
+ return View.SCALE_X;
+ case "scaleY":
+ return View.SCALE_Y;
+ }
+ }
+ return Property.of(target.getClass(), float.class, property);
+ }
+
public Builder setStartDelay(float startDelay) {
mStartDelay = startDelay;
return this;
@@ -164,77 +191,61 @@
private static abstract class KeyframeSet {
- private final Keyframe[] mKeyframes;
+ private final float mFrameWidth;
+ private final int mSize;
- public KeyframeSet(Keyframe[] keyframes) {
- mKeyframes = keyframes;
+ public KeyframeSet(int size) {
+ mSize = size;
+ mFrameWidth = 1 / (float) (size - 1);
}
Object getValue(float fraction) {
int i;
- for (i = 1; i < mKeyframes.length && fraction > mKeyframes[i].getFraction(); i++) ;
- Keyframe first = mKeyframes[i - 1];
- Keyframe second = mKeyframes[i];
- float amount = (fraction - first.getFraction())
- / (second.getFraction() - first.getFraction());
- return interpolate(first, second, amount);
+ for (i = 1; i < mSize - 1 && fraction > mFrameWidth; i++);
+ float amount = fraction / mFrameWidth;
+ return interpolate(i, amount);
}
- protected abstract Object interpolate(Keyframe first, Keyframe second, float amount);
+ protected abstract Object interpolate(int index, float amount);
public static KeyframeSet ofInt(int... values) {
- int numKeyframes = values.length;
- Keyframe keyframes[] = new Keyframe[Math.max(numKeyframes, 2)];
- if (numKeyframes == 1) {
- keyframes[0] = Keyframe.ofInt(0f);
- keyframes[1] = Keyframe.ofInt(1f, values[0]);
- } else {
- keyframes[0] = Keyframe.ofInt(0f, values[0]);
- for (int i = 1; i < numKeyframes; ++i) {
- keyframes[i] = Keyframe.ofInt((float) i / (numKeyframes - 1), values[i]);
- }
- }
- return new IntKeyframeSet(keyframes);
+ return new IntKeyframeSet(values);
}
public static KeyframeSet ofFloat(float... values) {
- int numKeyframes = values.length;
- Keyframe keyframes[] = new Keyframe[Math.max(numKeyframes, 2)];
- if (numKeyframes == 1) {
- keyframes[0] = Keyframe.ofFloat(0f);
- keyframes[1] = Keyframe.ofFloat(1f, values[0]);
- } else {
- keyframes[0] = Keyframe.ofFloat(0f, values[0]);
- for (int i = 1; i < numKeyframes; ++i) {
- keyframes[i] = Keyframe.ofFloat((float) i / (numKeyframes - 1), values[i]);
- }
- }
- return new FloatKeyframeSet(keyframes);
+ return new FloatKeyframeSet(values);
}
}
- public static class FloatKeyframeSet extends KeyframeSet {
- public FloatKeyframeSet(Keyframe[] keyframes) {
- super(keyframes);
+ private static class FloatKeyframeSet extends KeyframeSet {
+ private final float[] mValues;
+
+ public FloatKeyframeSet(float[] values) {
+ super(values.length);
+ mValues = values;
}
@Override
- protected Object interpolate(Keyframe first, Keyframe second, float amount) {
- float firstFloat = (float) first.getValue();
- float secondFloat = (float) second.getValue();
+ protected Object interpolate(int index, float amount) {
+ float firstFloat = mValues[index - 1];
+ float secondFloat = mValues[index];
return firstFloat + (secondFloat - firstFloat) * amount;
}
}
- public static class IntKeyframeSet extends KeyframeSet {
- public IntKeyframeSet(Keyframe[] keyframes) {
- super(keyframes);
+ private static class IntKeyframeSet extends KeyframeSet {
+
+ private final int[] mValues;
+
+ public IntKeyframeSet(int[] values) {
+ super(values.length);
+ mValues = values;
}
@Override
- protected Object interpolate(Keyframe first, Keyframe second, float amount) {
- int firstFloat = (int) first.getValue();
- int secondFloat = (int) second.getValue();
+ protected Object interpolate(int index, float amount) {
+ int firstFloat = mValues[index - 1];
+ int secondFloat = mValues[index];
return (int) (firstFloat + (secondFloat - firstFloat) * amount);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
index 5c34ceb..45f2d75 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
@@ -53,9 +53,9 @@
}
private void addSystemTiles(QSTileHost host) {
- boolean hasColorMod = host.getDisplayController().isEnabled();
+ boolean hasColorMod = host.getNightModeController().isEnabled();
String possible = mContext.getString(R.string.quick_settings_tiles_default)
- + ",hotspot,inversion,saver,work,cast" + (hasColorMod ? ",colors" : "");
+ + ",hotspot,inversion,saver,work,cast" + (hasColorMod ? ",night" : "");
String[] possibleTiles = possible.split(",");
final Handler qsHandler = new Handler(host.getLooper());
final Handler mainHandler = new Handler(Looper.getMainLooper());
diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java b/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
index 3cd9e67..0709992 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
@@ -15,13 +15,18 @@
*/
package com.android.systemui.qs.external;
+import android.app.ActivityManager;
import android.content.ComponentName;
+import android.content.Intent;
import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
import android.graphics.drawable.Drawable;
+import android.net.Uri;
import android.os.Binder;
import android.os.IBinder;
import android.os.RemoteException;
+import android.provider.Settings;
import android.service.quicksettings.IQSTileService;
import android.service.quicksettings.Tile;
import android.service.quicksettings.TileService;
@@ -156,8 +161,22 @@
}
@Override
- protected void handleUserSwitch(int newUserId) {
- super.handleUserSwitch(newUserId);
+ public Intent getLongClickIntent() {
+ Intent i = new Intent(TileService.ACTION_QS_TILE_PREFERENCES);
+ i.setPackage(mComponent.getPackageName());
+ i = resolveIntent(i);
+ if (i != null) {
+ return i;
+ }
+ return new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS).setData(
+ Uri.fromParts("package", mComponent.getPackageName(), null));
+ }
+
+ private Intent resolveIntent(Intent i) {
+ ResolveInfo result = mContext.getPackageManager().resolveActivityAsUser(i, 0,
+ ActivityManager.getCurrentUser());
+ return result != null ? new Intent(TileService.ACTION_QS_TILE_PREFERENCES)
+ .setClassName(result.activityInfo.packageName, result.activityInfo.name) : null;
}
@Override
@@ -184,10 +203,6 @@
}
@Override
- protected void handleLongClick() {
- }
-
- @Override
protected void handleUpdateState(State state, Object arg) {
Drawable drawable = mTile.getIcon().loadDrawable(mContext);
int color = mContext.getColor(getColor(mTile.getState()));
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java
index 5222e61..f0860fe 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java
@@ -21,6 +21,7 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
+import android.provider.Settings;
import android.provider.Settings.Global;
import com.android.internal.logging.MetricsLogger;
@@ -68,6 +69,11 @@
}
@Override
+ public Intent getLongClickIntent() {
+ return new Intent(Settings.ACTION_AIRPLANE_MODE_SETTINGS);
+ }
+
+ @Override
protected void handleUpdateState(BooleanState state, Object arg) {
final int value = arg instanceof Integer ? (Integer)arg : mSetting.getValue();
final boolean airplaneMode = value != 0;
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/BatteryTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/BatteryTile.java
index 6a9d826..93e075d 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/BatteryTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/BatteryTile.java
@@ -19,6 +19,7 @@
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Handler;
+import android.provider.Settings;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.style.RelativeSizeSpan;
@@ -91,6 +92,11 @@
}
@Override
+ public Intent getLongClickIntent() {
+ return new Intent(Intent.ACTION_POWER_USAGE_SUMMARY);
+ }
+
+ @Override
protected void handleClick() {
showDetail(true);
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
index c4b7944..80f667c 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
@@ -78,6 +78,11 @@
}
@Override
+ public Intent getLongClickIntent() {
+ return new Intent(Settings.ACTION_BLUETOOTH_SETTINGS);
+ }
+
+ @Override
protected void handleClick() {
if (!mController.canConfigBluetooth()) {
mHost.startActivityDismissingKeyguard(new Intent(Settings.ACTION_BLUETOOTH_SETTINGS));
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
index 15e082a..e0ad002 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
@@ -86,6 +86,11 @@
}
@Override
+ public Intent getLongClickIntent() {
+ return new Intent(Settings.ACTION_CAST_SETTINGS);
+ }
+
+ @Override
protected void handleClick() {
if (mKeyguard.isSecure() && !mKeyguard.canSkipBouncer()) {
mHost.startRunnableDismissingKeyguard(new Runnable() {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
index 15617c7f..5f87741 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
@@ -37,7 +37,7 @@
/** Quick settings tile: Cellular **/
public class CellularTile extends QSTile<QSTile.SignalState> {
- private static final Intent CELLULAR_SETTINGS = new Intent().setComponent(new ComponentName(
+ static final Intent CELLULAR_SETTINGS = new Intent().setComponent(new ComponentName(
"com.android.settings", "com.android.settings.Settings$DataUsageSummaryActivity"));
private final NetworkController mController;
@@ -78,6 +78,11 @@
}
@Override
+ public Intent getLongClickIntent() {
+ return CELLULAR_SETTINGS;
+ }
+
+ @Override
protected void handleClick() {
MetricsLogger.action(mContext, getMetricsCategory());
if (mDataController.isMobileDataSupported()) {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/ColorInversionTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/ColorInversionTile.java
index e98734c..42ce69c 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/ColorInversionTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/ColorInversionTile.java
@@ -16,6 +16,8 @@
package com.android.systemui.qs.tiles;
+import android.content.Intent;
+import android.provider.Settings;
import android.provider.Settings.Secure;
import com.android.internal.logging.MetricsLogger;
@@ -70,6 +72,11 @@
}
@Override
+ public Intent getLongClickIntent() {
+ return new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
+ }
+
+ @Override
protected void handleClick() {
MetricsLogger.action(mContext, getMetricsCategory(), !mState.value);
mSetting.setValue(mState.value ? 0 : 1);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java
index c6a98b4..fa235d3 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java
@@ -14,6 +14,7 @@
package com.android.systemui.qs.tiles;
+import android.content.Intent;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.systemui.R;
import com.android.systemui.qs.QSTile;
@@ -44,6 +45,11 @@
}
@Override
+ public Intent getLongClickIntent() {
+ return CellularTile.CELLULAR_SETTINGS;
+ }
+
+ @Override
protected void handleClick() {
mState.value = !mDataSaverController.isDataSaverEnabled();
mDataSaverController.setDataSaverEnabled(mState.value);
@@ -55,8 +61,8 @@
state.value = arg instanceof Boolean ? (Boolean) arg
: mDataSaverController.isDataSaverEnabled();
state.label = mContext.getString(R.string.data_saver);
- state.contentDescription = mContext.getString(state.value ?
- R.string.accessibility_data_saver_on : R.string.accessibility_data_saver_off);
+ state.contentDescription = mContext.getString(state.value
+ ? R.string.accessibility_data_saver_on : R.string.accessibility_data_saver_off);
state.icon = ResourceIcon.get(state.value ? R.drawable.ic_data_saver
: R.drawable.ic_data_saver_off);
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java
index 29ca06b..8982b3e 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java
@@ -29,11 +29,13 @@
import android.view.View;
import android.view.View.OnAttachStateChangeListener;
import android.view.ViewGroup;
+import android.widget.Toast;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.systemui.Prefs;
import com.android.systemui.R;
+import com.android.systemui.SysUIToast;
import com.android.systemui.qs.QSTile;
import com.android.systemui.statusbar.policy.ZenModeController;
import com.android.systemui.volume.ZenModePanel;
@@ -99,7 +101,20 @@
}
@Override
+ public Intent getLongClickIntent() {
+ return ZEN_SETTINGS;
+ }
+
+ @Override
public void handleClick() {
+ if (mController.isVolumeRestricted()) {
+ // Collapse the panels, so the user can see the toast.
+ mHost.collapsePanels();
+ SysUIToast.makeText(mContext, mContext.getString(
+ com.android.internal.R.string.error_message_change_not_allowed),
+ Toast.LENGTH_LONG).show();
+ return;
+ }
MetricsLogger.action(mContext, getMetricsCategory(), !mState.value);
if (mState.value) {
mController.setZen(Global.ZEN_MODE_OFF, null, TAG);
@@ -116,8 +131,7 @@
final boolean newValue = zen != Global.ZEN_MODE_OFF;
final boolean valueChanged = state.value != newValue;
state.value = newValue;
- state.disabledByPolicy = mController.isVolumeRestricted();
- checkIfRestrictionEnforced(state, UserManager.DISALLOW_ADJUST_VOLUME);
+ checkIfRestrictionEnforcedByAdminOnly(state, UserManager.DISALLOW_ADJUST_VOLUME);
switch (zen) {
case Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS:
state.icon = ResourceIcon.get(R.drawable.ic_qs_dnd_on);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/FlashlightTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/FlashlightTile.java
index f06634e..c10843a 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/FlashlightTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/FlashlightTile.java
@@ -18,6 +18,8 @@
import android.app.ActivityManager;
+import android.content.Intent;
+import android.provider.MediaStore;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.systemui.R;
@@ -60,6 +62,11 @@
}
@Override
+ public Intent getLongClickIntent() {
+ return new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
+ }
+
+ @Override
protected void handleClick() {
if (ActivityManager.isUserAMonkey()) {
return;
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
index 943b502..ad1c7a0 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
@@ -16,8 +16,10 @@
package com.android.systemui.qs.tiles;
+import android.content.Intent;
import android.os.UserManager;
+import android.provider.Settings;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.systemui.R;
@@ -58,6 +60,11 @@
}
@Override
+ public Intent getLongClickIntent() {
+ return new Intent(Settings.ACTION_WIRELESS_SETTINGS);
+ }
+
+ @Override
protected void handleClick() {
final boolean isEnabled = (Boolean) mState.value;
MetricsLogger.action(mContext, getMetricsCategory(), !isEnabled);
@@ -68,8 +75,7 @@
protected void handleUpdateState(BooleanState state, Object arg) {
state.label = mContext.getString(R.string.quick_settings_hotspot_label);
- state.disabledByPolicy = mController.isTetheringAllowed();
- checkIfRestrictionEnforced(state, UserManager.DISALLOW_CONFIG_TETHERING);
+ checkIfRestrictionEnforcedByAdminOnly(state, UserManager.DISALLOW_CONFIG_TETHERING);
if (arg instanceof Boolean) {
state.value = (boolean) arg;
} else {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/IntentTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/IntentTile.java
index bdf95d8..bb5ff8e 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/IntentTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/IntentTile.java
@@ -92,6 +92,11 @@
}
@Override
+ public Intent getLongClickIntent() {
+ return null;
+ }
+
+ @Override
protected void handleLongClick() {
sendIntent("long-click", mOnLongClick, mOnLongClickUri);
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/LocationTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/LocationTile.java
index 9f41f9a..6533252 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/LocationTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/LocationTile.java
@@ -16,8 +16,10 @@
package com.android.systemui.qs.tiles;
+import android.content.Intent;
import android.os.UserManager;
+import android.provider.Settings;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.systemui.R;
@@ -61,6 +63,11 @@
}
@Override
+ public Intent getLongClickIntent() {
+ return new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
+ }
+
+ @Override
protected void handleClick() {
if (mKeyguard.isSecure() && mKeyguard.isShowing()) {
mHost.startRunnableDismissingKeyguard(new Runnable() {
@@ -87,8 +94,7 @@
// bug is fixed, this should be reverted to only hiding it on secure lock screens:
// state.visible = !(mKeyguard.isSecure() && mKeyguard.isShowing());
state.value = locationEnabled;
- state.disabledByPolicy = mController.isUserLocationRestricted();
- checkIfRestrictionEnforced(state, UserManager.DISALLOW_SHARE_LOCATION);
+ checkIfRestrictionEnforcedByAdminOnly(state, UserManager.DISALLOW_SHARE_LOCATION);
if (locationEnabled) {
state.icon = mEnable;
state.label = mContext.getString(R.string.quick_settings_location_label);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/RotationLockTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/RotationLockTile.java
index c94cf5a..b267ccd 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/RotationLockTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/RotationLockTile.java
@@ -17,8 +17,10 @@
package com.android.systemui.qs.tiles;
import android.content.Context;
+import android.content.Intent;
import android.content.res.Configuration;
+import android.provider.Settings;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.systemui.R;
@@ -60,6 +62,11 @@
}
@Override
+ public Intent getLongClickIntent() {
+ return new Intent(Settings.ACTION_DISPLAY_SETTINGS);
+ }
+
+ @Override
protected void handleClick() {
if (mController == null) return;
MetricsLogger.action(mContext, getMetricsCategory(), !mState.value);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/UserTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/UserTile.java
index ba7ea4d..f1066c1 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/UserTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/UserTile.java
@@ -16,7 +16,9 @@
package com.android.systemui.qs.tiles;
import android.content.Context;
+import android.content.Intent;
import android.graphics.drawable.Drawable;
+import android.provider.Settings;
import android.util.Pair;
import com.android.internal.logging.MetricsProto.MetricsEvent;
@@ -42,6 +44,11 @@
}
@Override
+ public Intent getLongClickIntent() {
+ return new Intent(Settings.ACTION_USER_SETTINGS);
+ }
+
+ @Override
protected void handleClick() {
showDetail(true);
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java
index 7a58f15..7ee795f 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java
@@ -93,6 +93,11 @@
}
@Override
+ public Intent getLongClickIntent() {
+ return WIFI_SETTINGS;
+ }
+
+ @Override
protected void handleSecondaryClick() {
// Secondary clicks are header clicks, just toggle.
mState.copyTo(mStateBeforeClick);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/WorkModeTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/WorkModeTile.java
index 053a98a..003e9c1 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/WorkModeTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/WorkModeTile.java
@@ -16,6 +16,8 @@
package com.android.systemui.qs.tiles;
+import android.content.Intent;
+import android.provider.Settings;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.systemui.R;
@@ -52,6 +54,11 @@
}
@Override
+ public Intent getLongClickIntent() {
+ return new Intent(Settings.ACTION_SYNC_SETTINGS);
+ }
+
+ @Override
public void handleClick() {
MetricsLogger.action(mContext, getMetricsCategory(), !mState.value);
mProfileController.setWorkModeEnabled(!mState.value);
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java
index fe504fe..3f0630d 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java
@@ -494,7 +494,7 @@
* onChildDismissed() calls.
*/
@Override
- public void onChildSnappedBack(View v) {
+ public void onChildSnappedBack(View v, float targetLeft) {
TaskView tv = (TaskView) v;
// Re-enable clipping with the stack
@@ -517,11 +517,6 @@
}
@Override
- public View getChildContentView(View v) {
- return v;
- }
-
- @Override
public boolean isAntiFalsingNeeded() {
return false;
}
diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java b/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java
index 189e651..dd59fac 100644
--- a/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java
+++ b/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java
@@ -40,6 +40,7 @@
private DividerView mView;
private DockDividerVisibilityListener mDockDividerVisibilityListener;
private boolean mVisible = false;
+ private boolean mMinimized = false;
@Override
public void start() {
@@ -81,6 +82,10 @@
private void update(Configuration configuration) {
removeDivider();
addDivider(configuration);
+ if (mMinimized) {
+ mView.setMinimizedDockStack(true);
+ mWindowManager.setTouchable(false);
+ }
}
private void updateVisibility(final boolean visible) {
@@ -95,6 +100,23 @@
});
}
+ private void updateMinimizedDockedStack(final boolean minimized, final long animDuration) {
+ mView.post(new Runnable() {
+ @Override
+ public void run() {
+ if (mMinimized != minimized) {
+ mMinimized = minimized;
+ mWindowManager.setTouchable(!minimized);
+ if (animDuration > 0) {
+ mView.setMinimizedDockStack(minimized, animDuration);
+ } else {
+ mView.setMinimizedDockStack(minimized);
+ }
+ }
+ }
+ });
+ }
+
class DockDividerVisibilityListener extends IDockedStackListener.Stub {
@Override
@@ -105,5 +127,11 @@
@Override
public void onDockedStackExistsChanged(boolean exists) throws RemoteException {
}
+
+ @Override
+ public void onDockedStackMinimizedChanged(boolean minimized, long animDuration)
+ throws RemoteException {
+ updateMinimizedDockedStack(minimized, animDuration);
+ }
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerHandleView.java b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerHandleView.java
index 36cfac8..9118e9c 100644
--- a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerHandleView.java
+++ b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerHandleView.java
@@ -140,4 +140,9 @@
canvas.drawRoundRect(left, top, left + mCurrentWidth, top + mCurrentHeight,
radius, radius, mPaint);
}
+
+ @Override
+ public boolean hasOverlappingRendering() {
+ return false;
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java
index 1bdf5a1..65a2f8f 100644
--- a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java
+++ b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java
@@ -40,7 +40,6 @@
import android.view.ViewTreeObserver.OnComputeInternalInsetsListener;
import android.view.WindowInsets;
import android.view.WindowManager;
-import android.view.animation.AnimationUtils;
import android.view.animation.Interpolator;
import android.view.animation.PathInterpolator;
import android.widget.FrameLayout;
@@ -86,6 +85,11 @@
*/
private static final float BOTTOM_RIGHT_SWITCH_BIGGER_FRACTION = 0.2f;
+ /**
+ * How much the background gets scaled when we are in the minimized dock state.
+ */
+ private static final float MINIMIZE_DOCK_SCALE = 0.375f;
+
private static final PathInterpolator SLOWDOWN_INTERPOLATOR =
new PathInterpolator(0.5f, 1f, 0.5f, 1f);
private static final PathInterpolator DIM_INTERPOLATOR =
@@ -126,6 +130,7 @@
private boolean mAnimateAfterRecentsDrawn;
private boolean mGrowAfterRecentsDrawn;
private boolean mGrowRecents;
+ private Animator mCurrentAnimator;
public DividerView(Context context) {
super(context);
@@ -205,6 +210,7 @@
}
public boolean startDragging(boolean animate, boolean touching) {
+ cancelFlingAnimation();
if (touching) {
mHandle.setTouching(true, animate);
}
@@ -364,11 +370,19 @@
commitSnapFlags(snapTarget);
mWindowManagerProxy.setResizing(false);
mDockSide = WindowManager.DOCKED_INVALID;
+ mCurrentAnimator = null;
}
});
+ mCurrentAnimator = anim;
return anim;
}
+ private void cancelFlingAnimation() {
+ if (mCurrentAnimator != null) {
+ mCurrentAnimator.cancel();
+ }
+ }
+
private void commitSnapFlags(SnapTarget target) {
if (target.flag == SnapTarget.FLAG_NONE) {
return;
@@ -433,6 +447,47 @@
mBackgroundLifted = false;
}
+
+ public void setMinimizedDockStack(boolean minimized) {
+ updateDockSide();
+ mHandle.setAlpha(minimized ? 0f : 1f);
+ if (mDockSide == WindowManager.DOCKED_TOP) {
+ mBackground.setPivotY(0);
+ mBackground.setScaleY(minimized ? MINIMIZE_DOCK_SCALE : 1f);
+ } else if (mDockSide == WindowManager.DOCKED_LEFT
+ || mDockSide == WindowManager.DOCKED_RIGHT) {
+ mBackground.setPivotX(mDockSide == WindowManager.DOCKED_LEFT
+ ? 0
+ : mBackground.getWidth());
+ mBackground.setScaleX(minimized ? MINIMIZE_DOCK_SCALE : 1f);
+ }
+ }
+
+ public void setMinimizedDockStack(boolean minimized, long animDuration) {
+ updateDockSide();
+ mHandle.animate()
+ .setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
+ .setDuration(animDuration)
+ .alpha(minimized ? 0f : 1f)
+ .start();
+ if (mDockSide == WindowManager.DOCKED_TOP) {
+ mBackground.setPivotY(0);
+ mBackground.animate()
+ .scaleY(minimized ? MINIMIZE_DOCK_SCALE : 1f);
+ } else if (mDockSide == WindowManager.DOCKED_LEFT
+ || mDockSide == WindowManager.DOCKED_RIGHT) {
+ mBackground.setPivotX(mDockSide == WindowManager.DOCKED_LEFT
+ ? 0
+ : mBackground.getWidth());
+ mBackground.animate()
+ .scaleX(minimized ? MINIMIZE_DOCK_SCALE : 1f);
+ }
+ mBackground.animate()
+ .setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
+ .setDuration(animDuration)
+ .start();
+ }
+
@Override
protected void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerWindowManager.java b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerWindowManager.java
index 2294d40..3db03d0 100644
--- a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerWindowManager.java
+++ b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerWindowManager.java
@@ -22,6 +22,7 @@
import android.view.WindowManager;
import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
+import static android.view.WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
import static android.view.WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
import static android.view.WindowManager.LayoutParams.FLAG_SLIPPERY;
import static android.view.WindowManager.LayoutParams.FLAG_SPLIT_TOUCH;
@@ -79,4 +80,18 @@
mWindowManager.updateViewLayout(mView, mLp);
}
}
+
+ public void setTouchable(boolean touchable) {
+ boolean changed = false;
+ if (!touchable && (mLp.flags & FLAG_NOT_TOUCHABLE) == 0) {
+ mLp.flags |= FLAG_NOT_TOUCHABLE;
+ changed = true;
+ } else if (touchable && (mLp.flags & FLAG_NOT_TOUCHABLE) != 0) {
+ mLp.flags &= ~FLAG_NOT_TOUCHABLE;
+ changed = true;
+ }
+ if (changed) {
+ mWindowManager.updateViewLayout(mView, mLp);
+ }
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java
index 874defa..315c509 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java
@@ -208,6 +208,10 @@
return false;
}
+ protected boolean handleSlideBack() {
+ return false;
+ }
+
@Override
public boolean onTouchEvent(MotionEvent event) {
boolean result;
@@ -260,6 +264,9 @@
break;
case MotionEvent.ACTION_UP:
if (isWithinTouchSlop(event)) {
+ if (handleSlideBack()) {
+ return true;
+ }
if (!mActivated) {
makeActive();
postDelayed(mTapTimeoutRunnable, DOUBLETAP_TIMEOUT_MS);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
index 2bebac2..ea8b75e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
@@ -103,6 +103,7 @@
import com.android.systemui.statusbar.policy.PreviewInflater;
import com.android.systemui.statusbar.policy.RemoteInputView;
import com.android.systemui.statusbar.stack.NotificationStackScrollLayout;
+import com.android.systemui.statusbar.stack.NotificationStackScrollLayout.GearDisplayedListener;
import com.android.systemui.statusbar.stack.StackStateAnimator;
import java.util.ArrayList;
@@ -115,7 +116,7 @@
public abstract class BaseStatusBar extends SystemUI implements
CommandQueue.Callbacks, ActivatableNotificationView.OnActivatedListener,
ExpandableNotificationRow.ExpansionLogger, NotificationData.Environment,
- ExpandableNotificationRow.OnExpandClickListener {
+ ExpandableNotificationRow.OnExpandClickListener, GearDisplayedListener {
public static final String TAG = "StatusBar";
public static final boolean DEBUG = false;
public static final boolean MULTIUSER_DEBUG = false;
@@ -220,6 +221,7 @@
// which notification is currently being longpress-examined by the user
private NotificationGuts mNotificationGutsExposed;
+ private ExpandableNotificationRow mNotificationGearDisplayed;
private KeyboardShortcuts mKeyboardShortcuts;
@@ -1008,6 +1010,10 @@
guts.bindImportance(sbn, row, mNotificationData.getImportance(sbn.getKey()));
}
+ protected GearDisplayedListener getGearDisplayedListener() {
+ return this;
+ }
+
protected SwipeHelper.LongPressListener getNotificationLongClicker() {
return new SwipeHelper.LongPressListener() {
@Override
@@ -1020,7 +1026,7 @@
return false;
}
- ExpandableNotificationRow row = (ExpandableNotificationRow) v;
+ final ExpandableNotificationRow row = (ExpandableNotificationRow) v;
bindGuts(row);
// Assume we are a status_bar_notification_row
@@ -1052,6 +1058,14 @@
= ViewAnimationUtils.createCircularReveal(guts, x, y, 0, r);
a.setDuration(StackStateAnimator.ANIMATION_DURATION_STANDARD);
a.setInterpolator(Interpolators.LINEAR_OUT_SLOW_IN);
+ a.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ super.onAnimationEnd(animation);
+ // Move the notification view back over the gear
+ row.resetTranslation();
+ }
+ });
a.start();
guts.setExposed(true);
mStackScroller.onHeightChanged(null, true /* needsAnimation */);
@@ -1063,6 +1077,11 @@
};
}
+ @Override
+ public void onGearDisplayed(ExpandableNotificationRow row) {
+ mNotificationGearDisplayed = row;
+ }
+
public void dismissPopups() {
dismissPopups(-1, -1);
}
@@ -1095,6 +1114,11 @@
v.setExposed(false);
mStackScroller.onHeightChanged(null, true /* needsAnimation */);
}
+
+ if (mNotificationGearDisplayed != null) {
+ mNotificationGearDisplayed.resetTranslation();
+ mNotificationGearDisplayed = null;
+ }
}
@Override
@@ -1633,6 +1657,12 @@
return;
}
+ // Check if the notification is displaying the gear, if so slide notification back
+ if (row.getSettingsRow() != null && row.getSettingsRow().isVisible()) {
+ row.animateTranslateNotification(0);
+ return;
+ }
+
Notification notification = sbn.getNotification();
final PendingIntent intent = notification.contentIntent != null
? notification.contentIntent
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
index 7422902..c73e115 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
@@ -16,6 +16,12 @@
package com.android.systemui.statusbar;
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.AnimatorSet;
+import android.animation.ObjectAnimator;
+import android.animation.ValueAnimator;
+import android.animation.ValueAnimator.AnimatorUpdateListener;
import android.app.Notification;
import android.content.Context;
import android.graphics.drawable.AnimatedVectorDrawable;
@@ -45,6 +51,7 @@
import com.android.systemui.statusbar.stack.StackStateAnimator;
import com.android.systemui.statusbar.stack.StackViewState;
+import java.util.ArrayList;
import java.util.List;
public class ExpandableNotificationRow extends ActivatableNotificationView {
@@ -87,6 +94,8 @@
*/
private boolean mOnKeyguard;
+ private AnimatorSet mTranslateAnim;
+ private ArrayList<View> mTranslateableViews;
private NotificationContentView mPublicLayout;
private NotificationContentView mPrivateLayout;
private int mMaxExpandHeight;
@@ -96,6 +105,7 @@
private ExpansionLogger mLogger;
private String mLoggingKey;
private boolean mWasReset;
+ private NotificationSettingsIconRow mSettingsIconRow;
private NotificationGuts mGuts;
private NotificationData.Entry mEntry;
private StatusBarNotification mStatusBarNotification;
@@ -108,6 +118,7 @@
private boolean mChildrenExpanded;
private boolean mIsSummaryWithChildren;
private NotificationChildrenContainer mChildrenContainer;
+ private ViewStub mSettingsIconRowStub;
private ViewStub mGutsStub;
private boolean mIsSystemChildExpanded;
private boolean mIsPinned;
@@ -240,7 +251,6 @@
!= com.android.internal.R.id.status_bar_latest_event_content;
int headsUpheight = headsUpCustom && beforeN ? mMaxHeadsUpHeightLegacy
: mMaxHeadsUpHeight;
- mMaxViewHeight = mNotificationMaxHeight;
mPrivateLayout.setHeights(minHeight, headsUpheight, mNotificationMaxHeight);
mPublicLayout.setHeights(minHeight, headsUpheight, mNotificationMaxHeight);
}
@@ -329,6 +339,15 @@
}
@Override
+ protected boolean handleSlideBack() {
+ if (mSettingsIconRow != null && mSettingsIconRow.isVisible()) {
+ animateTranslateNotification(0 /* targetLeft */);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
protected boolean shouldHideBackground() {
return super.shouldHideBackground() || mShowNoBackground;
}
@@ -500,6 +519,13 @@
return mPrivateLayout.getNotificationHeader();
}
+ private NotificationHeaderView getVisibleNotificationHeader() {
+ if (mNotificationHeader != null) {
+ return mNotificationHeader;
+ }
+ return getShowingLayout().getVisibleNotificationHeader();
+ }
+
public void setOnExpandClickListener(OnExpandClickListener onExpandClickListener) {
mOnExpandClickListener = onExpandClickListener;
}
@@ -527,6 +553,17 @@
mGuts.setVisibility(oldGuts.getVisibility());
addView(mGuts, index);
}
+ if (mSettingsIconRow != null) {
+ View oldSettings = mSettingsIconRow;
+ int settingsIndex = indexOfChild(oldSettings);
+ removeView(oldSettings);
+ mSettingsIconRow = (NotificationSettingsIconRow) LayoutInflater.from(mContext).inflate(
+ R.layout.notification_settings_icon_row, this, false);
+ mSettingsIconRow.setNotificationRowParent(ExpandableNotificationRow.this);
+ mSettingsIconRow.setVisibility(oldSettings.getVisibility());
+ addView(mSettingsIconRow, settingsIndex);
+
+ }
mPrivateLayout.reInflateViews();
mPublicLayout.reInflateViews();
}
@@ -542,16 +579,23 @@
}
private void initDimens() {
- mNotificationMinHeightLegacy = getResources().getDimensionPixelSize(
- R.dimen.notification_min_height_legacy);
- mNotificationMinHeight = getResources().getDimensionPixelSize(
- R.dimen.notification_min_height);
- mNotificationMaxHeight = getResources().getDimensionPixelSize(
- R.dimen.notification_max_height);
- mMaxHeadsUpHeightLegacy = getResources().getDimensionPixelSize(
+ mNotificationMinHeightLegacy = getFontScaledHeight(R.dimen.notification_min_height_legacy);
+ mNotificationMinHeight = getFontScaledHeight(R.dimen.notification_min_height);
+ mNotificationMaxHeight = getFontScaledHeight(R.dimen.notification_max_height);
+ mMaxHeadsUpHeightLegacy = getFontScaledHeight(
R.dimen.notification_max_heads_up_height_legacy);
- mMaxHeadsUpHeight = getResources().getDimensionPixelSize(
- R.dimen.notification_max_heads_up_height);
+ mMaxHeadsUpHeight = getFontScaledHeight(R.dimen.notification_max_heads_up_height);
+ }
+
+ /**
+ * @param dimenId the dimen to look up
+ * @return the font scaled dimen as if it were in sp but doesn't shrink sizes below dp
+ */
+ private int getFontScaledHeight(int dimenId) {
+ int dimensionPixelSize = getResources().getDimensionPixelSize(dimenId);
+ float factor = Math.max(1.0f, getResources().getDisplayMetrics().scaledDensity /
+ getResources().getDisplayMetrics().density);
+ return (int) (dimensionPixelSize * factor);
}
/**
@@ -561,7 +605,6 @@
public void reset() {
super.reset();
final boolean wasExpanded = isExpanded();
- mMaxViewHeight = 0;
mExpandable = false;
mHasUserChangedExpansion = false;
mUserLocked = false;
@@ -573,6 +616,7 @@
mPublicLayout.reset(mIsHeadsUp);
mPrivateLayout.reset(mIsHeadsUp);
resetHeight();
+ resetTranslation();
logExpansionEvent(false, wasExpanded);
}
@@ -596,6 +640,14 @@
mPrivateLayout.setExpandClickListener(mExpandClickListener);
mPrivateLayout.setContainingNotification(this);
mPublicLayout.setExpandClickListener(mExpandClickListener);
+ mSettingsIconRowStub = (ViewStub) findViewById(R.id.settings_icon_row_stub);
+ mSettingsIconRowStub.setOnInflateListener(new ViewStub.OnInflateListener() {
+ @Override
+ public void onInflate(ViewStub stub, View inflated) {
+ mSettingsIconRow = (NotificationSettingsIconRow) inflated;
+ mSettingsIconRow.setNotificationRowParent(ExpandableNotificationRow.this);
+ }
+ });
mGutsStub = (ViewStub) findViewById(R.id.notification_guts_stub);
mGutsStub.setOnInflateListener(new ViewStub.OnInflateListener() {
@Override
@@ -603,6 +655,7 @@
mGuts = (NotificationGuts) inflated;
mGuts.setClipTopAmount(getClipTopAmount());
mGuts.setActualHeight(getActualHeight());
+ mTranslateableViews.add(mGuts);
mGutsStub = null;
}
});
@@ -613,9 +666,89 @@
public void onInflate(ViewStub stub, View inflated) {
mChildrenContainer = (NotificationChildrenContainer) inflated;
mChildrenContainer.setNotificationParent(ExpandableNotificationRow.this);
+ mTranslateableViews.add(mChildrenContainer);
}
});
mVetoButton = findViewById(R.id.veto);
+
+ // Add the views that we translate to reveal the gear
+ mTranslateableViews = new ArrayList<View>();
+ for (int i = 0; i < getChildCount(); i++) {
+ mTranslateableViews.add(getChildAt(i));
+ }
+ // Remove views that don't translate
+ mTranslateableViews.remove(mVetoButton);
+ mTranslateableViews.remove(mSettingsIconRowStub);
+ mTranslateableViews.remove(mChildrenContainerStub);
+ mTranslateableViews.remove(mGutsStub);
+ }
+
+ public void setTranslationForOutline(float translationX) {
+ setOutlineRect(false, translationX, getTop(), getRight() + translationX, getBottom());
+ }
+
+ public void resetTranslation() {
+ if (mTranslateableViews != null) {
+ for (int i = 0; i < mTranslateableViews.size(); i++) {
+ mTranslateableViews.get(i).setTranslationX(0);
+ }
+ setTranslationForOutline(0);
+ }
+ if (mSettingsIconRow != null) {
+ mSettingsIconRow.resetState();
+ }
+ }
+
+ public void animateTranslateNotification(final float leftTarget) {
+ if (mTranslateAnim != null) {
+ mTranslateAnim.cancel();
+ }
+ AnimatorSet set = new AnimatorSet();
+ if (mTranslateableViews != null) {
+ for (int i = 0; i < mTranslateableViews.size(); i++) {
+ final View animView = mTranslateableViews.get(i);
+ final ObjectAnimator translateAnim = ObjectAnimator.ofFloat(
+ animView, "translationX", leftTarget);
+ if (i == 0) {
+ translateAnim.addUpdateListener(new AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator animation) {
+ setTranslationForOutline((float) animation.getAnimatedValue());
+ }
+ });
+ }
+ translateAnim.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator anim) {
+ if (mSettingsIconRow != null && leftTarget == 0) {
+ mSettingsIconRow.resetState();
+ }
+ mTranslateAnim = null;
+ }
+ });
+ set.play(translateAnim);
+ }
+ }
+ mTranslateAnim = set;
+ set.start();
+ }
+
+ public float getSpaceForGear() {
+ if (mSettingsIconRow != null) {
+ return mSettingsIconRow.getSpaceForGear();
+ }
+ return 0;
+ }
+
+ public NotificationSettingsIconRow getSettingsRow() {
+ if (mSettingsIconRow == null) {
+ mSettingsIconRowStub.inflate();
+ }
+ return mSettingsIconRow;
+ }
+
+ public ArrayList<View> getContentViews() {
+ return mTranslateableViews;
}
public void inflateGuts() {
@@ -772,7 +905,7 @@
if (mIsSummaryWithChildren) {
mChildrenContainer.updateGroupOverflow();
}
- notifyHeightChanged(false /* needsAnimation */);
+ notifyHeightChanged(false /* needsAnimation */);
}
}
}
@@ -1097,6 +1230,7 @@
mNotificationHeaderWrapper = NotificationViewWrapper.wrap(getContext(),
mNotificationHeader);
addView(mNotificationHeader, indexOfChild(mChildrenContainer) + 1);
+ mTranslateableViews.add(mNotificationHeader);
} else {
header.reapply(getContext(), mNotificationHeader);
mNotificationHeaderWrapper.notifyContentUpdated(mEntry.notification);
@@ -1166,7 +1300,7 @@
protected boolean disallowSingleClick(MotionEvent event) {
float x = event.getX();
float y = event.getY();
- NotificationHeaderView header = getNotificationHeader();
+ NotificationHeaderView header = getVisibleNotificationHeader();
if (header != null) {
return header.isInTouchRect(x, y);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java
index 44c6a5d..782a38c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableOutlineView.java
@@ -81,8 +81,13 @@
}
protected void setOutlineRect(float left, float top, float right, float bottom) {
+ setOutlineRect(true, left, top, right, bottom);
+ }
+
+ protected void setOutlineRect(boolean clipToOutline, float left, float top, float right,
+ float bottom) {
mCustomOutline = true;
- setClipToOutline(true);
+ setClipToOutline(clipToOutline);
mOutlineRect.set((int) left, (int) top, (int) right, (int) bottom);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java
index 8042b60..3176e2e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java
@@ -24,7 +24,6 @@
import android.view.ViewGroup;
import android.widget.FrameLayout;
-import com.android.systemui.R;
import com.android.systemui.statusbar.stack.NotificationStackScrollLayout;
import java.util.ArrayList;
@@ -35,7 +34,6 @@
public abstract class ExpandableView extends FrameLayout {
protected OnHeightChangedListener mOnHeightChangedListener;
- protected int mMaxViewHeight;
private int mActualHeight;
protected int mClipTopAmount;
private boolean mActualHeightInitialized;
@@ -49,8 +47,6 @@
public ExpandableView(Context context, AttributeSet attrs) {
super(context, attrs);
- mMaxViewHeight = getResources().getDimensionPixelSize(
- R.dimen.notification_max_height);
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
index d5361dd..647f0bf 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
@@ -144,11 +144,11 @@
}
if (mContractedChild != null) {
int heightSpec;
+ int size = Math.min(maxSize, mSmallHeight);
if (shouldContractedBeFixedSize()) {
- int size = Math.min(maxSize, mSmallHeight);
heightSpec = MeasureSpec.makeMeasureSpec(size, MeasureSpec.EXACTLY);
} else {
- heightSpec = MeasureSpec.makeMeasureSpec(maxSize, MeasureSpec.AT_MOST);
+ heightSpec = MeasureSpec.makeMeasureSpec(size, MeasureSpec.AT_MOST);
}
mContractedChild.measure(widthMeasureSpec, heightSpec);
int measuredHeight = mContractedChild.getMeasuredHeight();
@@ -475,6 +475,19 @@
}
}
+ private NotificationViewWrapper getCurrentVisibleWrapper() {
+ switch (mVisibleType) {
+ case VISIBLE_TYPE_EXPANDED:
+ return mExpandedWrapper;
+ case VISIBLE_TYPE_HEADSUP:
+ return mHeadsUpWrapper;
+ case VISIBLE_TYPE_CONTRACTED:
+ return mContractedWrapper;
+ default:
+ return null;
+ }
+ }
+
/**
* @return one of the static enum types in this view, calculated form the current state
*/
@@ -684,6 +697,11 @@
return header;
}
+ public NotificationHeaderView getVisibleNotificationHeader() {
+ NotificationViewWrapper wrapper = getCurrentVisibleWrapper();
+ return wrapper == null ? null : wrapper.getNotificationHeader();
+ }
+
public void setContainingNotification(ExpandableNotificationRow containingNotification) {
mContainingNotification = containingNotification;
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java
index 2cacb8a..ccd0ad8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java
@@ -34,6 +34,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
+import java.util.Objects;
/**
* The list of currently displaying notifications.
@@ -118,10 +119,16 @@
final RemoteViews newPublicNotification
= updatedNotificationBuilder.makePublicContentView();
+ boolean sameCustomView = Objects.equals(
+ notification.getNotification().extras.getBoolean(
+ Notification.EXTRA_CONTAINS_CUSTOM_VIEW),
+ updatedNotification.extras.getBoolean(
+ Notification.EXTRA_CONTAINS_CUSTOM_VIEW));
applyInPlace = compareRemoteViews(cachedContentView, newContentView)
&& compareRemoteViews(cachedBigContentView, newBigContentView)
&& compareRemoteViews(cachedHeadsUpContentView, newHeadsUpContentView)
- && compareRemoteViews(cachedPublicContentView, newPublicNotification);
+ && compareRemoteViews(cachedPublicContentView, newPublicNotification)
+ && sameCustomView;
cachedPublicContentView = newPublicNotification;
cachedHeadsUpContentView = newHeadsUpContentView;
cachedBigContentView = newBigContentView;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java
index 7346bec..fe84d813 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java
@@ -49,9 +49,7 @@
private int mClipTopAmount;
private int mActualHeight;
private boolean mExposed;
- private RadioButton mApplyToTopic;
private SeekBar mSeekBar;
- private Notification.Topic mTopic;
private INotificationManager mINotificationManager;
private int mStartingImportance;
@@ -109,24 +107,9 @@
mStartingImportance = importance;
mINotificationManager = INotificationManager.Stub.asInterface(
ServiceManager.getService(Context.NOTIFICATION_SERVICE));
- mTopic = sbn.getNotification().getTopic() == null
- ? new Notification.Topic(Notification.TOPIC_DEFAULT, mContext.getString(
- com.android.internal.R.string.default_notification_topic_label))
- : sbn.getNotification().getTopic();
- boolean doesUserUseTopics = false;
- try {
- doesUserUseTopics =
- mINotificationManager.doesUserUseTopics(sbn.getPackageName(), sbn.getUid());
- } catch (RemoteException e) {}
- final boolean userUsesTopics = doesUserUseTopics;
- mApplyToTopic = (RadioButton) row.findViewById(R.id.apply_to_topic);
- if (userUsesTopics) {
- mApplyToTopic.setChecked(true);
- }
- final View applyToApp = row.findViewById(R.id.apply_to_app);
- final TextView topicSummary = ((TextView) row.findViewById(R.id.summary));
- final TextView topicTitle = ((TextView) row.findViewById(R.id.title));
+ final TextView importanceSummary = ((TextView) row.findViewById(R.id.summary));
+ final TextView importanceTitle = ((TextView) row.findViewById(R.id.title));
mSeekBar = (SeekBar) row.findViewById(R.id.seekbar);
boolean systemApp = false;
try {
@@ -156,12 +139,6 @@
updateTitleAndSummary(progress);
if (fromUser) {
MetricsLogger.action(mContext, MetricsEvent.ACTION_MODIFY_IMPORTANCE_SLIDER);
- if (userUsesTopics) {
- mApplyToTopic.setVisibility(View.VISIBLE);
- mApplyToTopic.setText(
- mContext.getString(R.string.apply_to_topic, mTopic.getLabel()));
- applyToApp.setVisibility(View.VISIBLE);
- }
}
}
@@ -178,29 +155,29 @@
private void updateTitleAndSummary(int progress) {
switch (progress) {
case NotificationListenerService.Ranking.IMPORTANCE_NONE:
- topicSummary.setText(mContext.getString(
+ importanceSummary.setText(mContext.getString(
R.string.notification_importance_blocked));
- topicTitle.setText(mContext.getString(R.string.blocked_importance));
+ importanceTitle.setText(mContext.getString(R.string.blocked_importance));
break;
case NotificationListenerService.Ranking.IMPORTANCE_LOW:
- topicSummary.setText(mContext.getString(
+ importanceSummary.setText(mContext.getString(
R.string.notification_importance_low));
- topicTitle.setText(mContext.getString(R.string.low_importance));
+ importanceTitle.setText(mContext.getString(R.string.low_importance));
break;
case NotificationListenerService.Ranking.IMPORTANCE_DEFAULT:
- topicSummary.setText(mContext.getString(
+ importanceSummary.setText(mContext.getString(
R.string.notification_importance_default));
- topicTitle.setText(mContext.getString(R.string.default_importance));
+ importanceTitle.setText(mContext.getString(R.string.default_importance));
break;
case NotificationListenerService.Ranking.IMPORTANCE_HIGH:
- topicSummary.setText(mContext.getString(
+ importanceSummary.setText(mContext.getString(
R.string.notification_importance_high));
- topicTitle.setText(mContext.getString(R.string.high_importance));
+ importanceTitle.setText(mContext.getString(R.string.high_importance));
break;
case NotificationListenerService.Ranking.IMPORTANCE_MAX:
- topicSummary.setText(mContext.getString(
+ importanceSummary.setText(mContext.getString(
R.string.notification_importance_max));
- topicTitle.setText(mContext.getString(R.string.max_importance));
+ importanceTitle.setText(mContext.getString(R.string.max_importance));
break;
}
}
@@ -213,8 +190,7 @@
MetricsLogger.action(mContext, MetricsEvent.ACTION_SAVE_IMPORTANCE,
progress - mStartingImportance);
try {
- mINotificationManager.setImportance(sbn.getPackageName(), sbn.getUid(),
- mApplyToTopic.isChecked() ? mTopic : null, progress);
+ mINotificationManager.setImportance(sbn.getPackageName(), sbn.getUid(), progress);
} catch (RemoteException e) {
// :(
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationSettingsIconRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationSettingsIconRow.java
new file mode 100644
index 0000000..4491ebd
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationSettingsIconRow.java
@@ -0,0 +1,209 @@
+/*
+ * Copyright (C) 2016 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;
+
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.ValueAnimator;
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.FrameLayout;
+
+import com.android.systemui.Interpolators;
+import com.android.systemui.R;
+
+public class NotificationSettingsIconRow extends FrameLayout implements View.OnClickListener {
+
+ public interface SettingsIconRowListener {
+ /**
+ * Called when the gear behind a notification is touched.
+ */
+ public void onGearTouched(ExpandableNotificationRow row);
+ }
+
+ private ExpandableNotificationRow mParent;
+ private AlphaOptimizedImageView mGearIcon;
+ private float mHorizSpaceForGear;
+ private SettingsIconRowListener mListener;
+
+ private ValueAnimator mFadeAnimator;
+ private boolean mSettingsFadedIn = false;
+ private boolean mAnimating = false;
+ private boolean mOnLeft = true;
+
+ public NotificationSettingsIconRow(Context context) {
+ this(context, null);
+ }
+
+ public NotificationSettingsIconRow(Context context, AttributeSet attrs) {
+ this(context, attrs, 0);
+ }
+
+ public NotificationSettingsIconRow(Context context, AttributeSet attrs, int defStyleAttr) {
+ this(context, attrs, defStyleAttr, 0);
+ }
+
+ public NotificationSettingsIconRow(Context context, AttributeSet attrs, int defStyleAttr,
+ int defStyleRes) {
+ super(context, attrs);
+ }
+
+ @Override
+ protected void onFinishInflate() {
+ super.onFinishInflate();
+ mGearIcon = (AlphaOptimizedImageView) findViewById(R.id.gear_icon);
+ mGearIcon.setOnClickListener(this);
+ setOnClickListener(this);
+ mHorizSpaceForGear =
+ getResources().getDimensionPixelOffset(R.dimen.notification_gear_width);
+ resetState();
+ }
+
+ public void setGearListener(SettingsIconRowListener listener) {
+ mListener = listener;
+ }
+
+ public void setNotificationRowParent(ExpandableNotificationRow parent) {
+ mParent = parent;
+ }
+
+ public ExpandableNotificationRow getNotificationParent() {
+ return mParent;
+ }
+
+ public void resetState() {
+ setGearAlpha(0f);
+ mAnimating = false;
+ setIconLocation(true /* on left */);
+ }
+
+ private void setGearAlpha(float alpha) {
+ if (alpha == 0) {
+ mSettingsFadedIn = false; // Can fade in again once it's gone.
+ mGearIcon.setVisibility(View.INVISIBLE);
+ } else {
+ if (alpha == 1) {
+ mSettingsFadedIn = true;
+ }
+ mGearIcon.setVisibility(View.VISIBLE);
+ }
+ mGearIcon.setAlpha(alpha);
+ }
+
+ /**
+ * Returns the horizontal space in pixels required to display the gear behind a notification.
+ */
+ public float getSpaceForGear() {
+ return mHorizSpaceForGear;
+ }
+
+ /**
+ * Indicates whether the gear is visible at 1 alpha. Does not indicate
+ * if entire view is visible.
+ */
+ public boolean isVisible() {
+ return mSettingsFadedIn;
+ }
+
+ public void cancelFadeAnimator() {
+ if (mFadeAnimator != null) {
+ mFadeAnimator.cancel();
+ }
+ }
+
+ public void updateSettingsIcons(final float transX, final float size) {
+ if (mAnimating || (mGearIcon.getAlpha() == 0)) {
+ // Don't adjust when animating or settings aren't visible
+ return;
+ }
+ setIconLocation(transX > 0 /* fromLeft */);
+ final float fadeThreshold = size * 0.3f;
+ final float absTrans = Math.abs(transX);
+ float desiredAlpha = 0;
+
+ if (absTrans <= fadeThreshold) {
+ desiredAlpha = 1;
+ } else {
+ desiredAlpha = 1 - ((absTrans - fadeThreshold) / (size - fadeThreshold));
+ }
+ setGearAlpha(desiredAlpha);
+ }
+
+ public void fadeInSettings(final boolean fromLeft, final float transX,
+ final float notiThreshold) {
+ setIconLocation(transX > 0 /* fromLeft */);
+ mFadeAnimator = ValueAnimator.ofFloat(mGearIcon.getAlpha(), 1);
+ mFadeAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator animation) {
+ final float absTrans = Math.abs(transX);
+
+ boolean pastGear = (fromLeft && transX <= notiThreshold)
+ || (!fromLeft && absTrans <= notiThreshold);
+ if (pastGear && !mSettingsFadedIn) {
+ setGearAlpha((float) animation.getAnimatedValue());
+ }
+ }
+ });
+ mFadeAnimator.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationCancel(Animator animation) {
+ super.onAnimationCancel(animation);
+ mAnimating = false;
+ mSettingsFadedIn = false;
+ }
+
+ @Override
+ public void onAnimationStart(Animator animation) {
+ super.onAnimationStart(animation);
+ mAnimating = true;
+ }
+
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ super.onAnimationEnd(animation);
+ mAnimating = false;
+ mSettingsFadedIn = true;
+ }
+ });
+ mFadeAnimator.setInterpolator(Interpolators.ALPHA_IN);
+ mFadeAnimator.setDuration(200);
+ mFadeAnimator.start();
+ }
+
+ private void setIconLocation(boolean onLeft) {
+ if (onLeft == mOnLeft) {
+ // Same side? Do nothing.
+ return;
+ }
+
+ setTranslationX(onLeft ? 0 : (mParent.getWidth() - mHorizSpaceForGear));
+ mOnLeft = onLeft;
+ }
+
+ @Override
+ public void onClick(View v) {
+ if (v.getId() == R.id.gear_icon) {
+ if (mListener != null) {
+ mListener.onGearTouched(mParent);
+ }
+ } else {
+ // Do nothing when the background is touched.
+ }
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockscreenWallpaper.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockscreenWallpaper.java
new file mode 100644
index 0000000..4f3c61e
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockscreenWallpaper.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright (C) 2016 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.app.ActivityManager;
+import android.app.IWallpaperManager;
+import android.app.IWallpaperManagerCallback;
+import android.app.WallpaperManager;
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.ParcelFileDescriptor;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.util.Log;
+
+import libcore.io.IoUtils;
+
+/**
+ * Manages the lockscreen wallpaper.
+ */
+public class LockscreenWallpaper extends IWallpaperManagerCallback.Stub implements Runnable {
+
+ private static final String TAG = "LockscreenWallpaper";
+
+ private final Context mContext;
+ private final PhoneStatusBar mBar;
+ private final IWallpaperManager mService;
+ private final Handler mH;
+
+ private boolean mCached;
+ private Bitmap mCache;
+ private int mUserId;
+
+ public LockscreenWallpaper(Context ctx, PhoneStatusBar bar, Handler h) {
+ mContext = ctx;
+ mBar = bar;
+ mH = h;
+ mService = IWallpaperManager.Stub.asInterface(
+ ServiceManager.getService(Context.WALLPAPER_SERVICE));
+ mUserId = ActivityManager.getCurrentUser();
+
+ try {
+ mService.setLockWallpaperCallback(this);
+ } catch (RemoteException e) {
+ Log.e(TAG, "System dead?" + e);
+ }
+ }
+
+ public Bitmap getBitmap() {
+ try {
+ if (mCached) {
+ return mCache;
+ }
+ if (!mService.isWallpaperSupported(mContext.getOpPackageName())) {
+ mCached = true;
+ mCache = null;
+ return null;
+ }
+ ParcelFileDescriptor fd = mService.getWallpaper(null, WallpaperManager.FLAG_SET_LOCK,
+ new Bundle(), mUserId);
+ if (fd != null) {
+ try {
+ BitmapFactory.Options options = new BitmapFactory.Options();
+ mCache = BitmapFactory.decodeFileDescriptor(
+ fd.getFileDescriptor(), null, options);
+ mCached = true;
+ return mCache;
+ } catch (OutOfMemoryError e) {
+ Log.w(TAG, "Can't decode file", e);
+ return null;
+ } finally {
+ IoUtils.closeQuietly(fd);
+ }
+ } else {
+ mCached = true;
+ mCache = null;
+ return null;
+ }
+ } catch (RemoteException e) {
+ Log.e(TAG, "System dead?" + e);
+ return null;
+ }
+ }
+
+ public void setUser(int user) {
+ if (user != mUserId) {
+ mCached = false;
+ mUserId = user;
+ }
+ }
+
+ @Override
+ public void onWallpaperChanged() {
+ // Called on Binder thread.
+ mH.removeCallbacks(this);
+ mH.post(this);
+ }
+
+ @Override
+ public void run() {
+ // Called in response to onWallpaperChanged on the main thread.
+ mCached = false;
+ mCache = null;
+ getBitmap();
+ mBar.updateMediaMetaData(true /* metaDataChanged */, true /* allowEnterAnimation */);
+ }
+}
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 6698076..e53f044 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
@@ -512,6 +512,11 @@
}
});
}
+
+ @Override
+ public void onDockedStackMinimizedChanged(boolean minimized, long animDuration)
+ throws RemoteException {
+ }
});
} catch (RemoteException e) {
Log.e(TAG, "Failed registering docked stack exists listener", e);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index 401d405..d60ea20 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -23,6 +23,7 @@
import android.app.ActivityManager;
import android.app.ActivityManagerNative;
import android.app.IActivityManager;
+import android.app.IWallpaperManagerCallback;
import android.app.Notification;
import android.app.PendingIntent;
import android.app.StatusBarManager;
@@ -115,7 +116,7 @@
import com.android.systemui.doze.DozeHost;
import com.android.systemui.doze.DozeLog;
import com.android.systemui.keyguard.KeyguardViewMediator;
-import com.android.systemui.qs.QSDetail;
+import com.android.systemui.qs.QSContainer;
import com.android.systemui.qs.QSPanel;
import com.android.systemui.recents.ScreenPinningRequest;
import com.android.systemui.recents.events.EventBus;
@@ -248,9 +249,7 @@
private static final boolean ONLY_CORE_APPS;
/** If true, the lockscreen will show a distinct wallpaper */
- private static final boolean ENABLE_LOCKSCREEN_WALLPAPER =
- !ActivityManager.isLowRamDeviceStatic()
- && SystemProperties.getBoolean("debug.lockscreen_wallpaper", false);
+ private static final boolean ENABLE_LOCKSCREEN_WALLPAPER = true;
/* If true, the device supports freeform window management.
* This affects the status bar UI. */
@@ -296,6 +295,7 @@
AccessibilityController mAccessibilityController;
FingerprintUnlockController mFingerprintUnlockController;
LightStatusBarController mLightStatusBarController;
+ private LockscreenWallpaper mLockscreenWallpaper;
int mNaturalBarHeight = -1;
@@ -646,7 +646,7 @@
// Lastly, call to the icon policy to install/update all the icons.
mIconPolicy = new PhoneStatusBarPolicy(mContext, mIconController, mCastController,
mHotspotController, mUserInfoController, mBluetoothController,
- mRotationLockController);
+ mRotationLockController, mNetworkController.getDataSaverController());
mIconPolicy.setCurrentUserSetup(mUserSetup);
mSettingsObserver.onChange(false); // set up
@@ -746,6 +746,7 @@
mStackScroller = (NotificationStackScrollLayout) mStatusBarWindow.findViewById(
R.id.notification_stack_scroller);
mStackScroller.setLongPressListener(getNotificationLongClicker());
+ mStackScroller.setGearDisplayedListener(getGearDisplayedListener());
mStackScroller.setPhoneStatusBar(this);
mStackScroller.setGroupManager(mGroupManager);
mStackScroller.setHeadsUpManager(mHeadsUpManager);
@@ -792,6 +793,10 @@
mKeyguardBottomArea.getLockIcon());
mKeyguardBottomArea.setKeyguardIndicationController(mKeyguardIndicationController);
+ if (ENABLE_LOCKSCREEN_WALLPAPER) {
+ mLockscreenWallpaper = new LockscreenWallpaper(mContext, this, mHandler);
+ }
+
// set the initial view visibility
setAreThereNotifications();
@@ -867,13 +872,12 @@
mCastController, mFlashlightController,
mUserSwitcherController, mUserInfoController, mKeyguardMonitor,
mSecurityController, mBatteryController, mIconController);
- mQSPanel.setHost(qsh);
mQSPanel.setTiles(qsh.getTiles());
mBrightnessMirrorController = new BrightnessMirrorController(mStatusBarWindow);
mQSPanel.setBrightnessMirror(mBrightnessMirrorController);
- mHeader.setQSPanel(mQSPanel);
- QSDetail qsDetail = (QSDetail) mStatusBarWindow.findViewById(R.id.qs_detail);
- qsDetail.setHost(qsh);
+ QSContainer qsContainer = (QSContainer) mStatusBarWindow.findViewById(
+ R.id.quick_settings_container);
+ qsContainer.setHost(qsh);
qsh.addCallback(new QSTileHost.Callback() {
@Override
public void onTilesChanged() {
@@ -1819,7 +1823,7 @@
};
/**
- * Refresh or remove lockscreen artwork from media metadata.
+ * Refresh or remove lockscreen artwork from media metadata or the lockscreen wallpaper.
*/
public void updateMediaMetaData(boolean metaDataChanged, boolean allowEnterAnimation) {
if (!SHOW_LOCKSCREEN_MEDIA_ARTWORK) return;
@@ -1847,10 +1851,7 @@
}
}
if (ENABLE_LOCKSCREEN_WALLPAPER && artworkBitmap == null) {
- // TODO: use real lockscreen wallpaper.
- WallpaperManager wallpaperManager = mContext
- .getSystemService(WallpaperManager.class);
- artworkBitmap = wallpaperManager.getBitmap();
+ artworkBitmap = mLockscreenWallpaper.getBitmap();
}
final boolean hasArtwork = artworkBitmap != null;
@@ -3084,10 +3085,6 @@
else if (Intent.ACTION_SCREEN_ON.equals(action)) {
notifyNavigationBarScreenOn(true);
}
- else if (ENABLE_LOCKSCREEN_WALLPAPER
- && Intent.ACTION_WALLPAPER_CHANGED.equals(action)) {
- updateMediaMetaData(true, true);
- }
}
};
@@ -3173,6 +3170,7 @@
resetUserSetupObserver();
setControllerUsers();
clearCurrentMediaNotification();
+ mLockscreenWallpaper.setUser(newUserId);
updateMediaMetaData(true, false);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
index df5a622..c883cc9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
@@ -44,6 +44,7 @@
import com.android.systemui.statusbar.policy.BluetoothController.Callback;
import com.android.systemui.statusbar.policy.CastController;
import com.android.systemui.statusbar.policy.CastController.CastDevice;
+import com.android.systemui.statusbar.policy.DataSaverController;
import com.android.systemui.statusbar.policy.HotspotController;
import com.android.systemui.statusbar.policy.RotationLockController;
import com.android.systemui.statusbar.policy.UserInfoController;
@@ -53,7 +54,7 @@
* bar at boot time. It goes through the normal API for icons, even though it probably
* strictly doesn't need to.
*/
-public class PhoneStatusBarPolicy implements Callback, RotationLockController.RotationLockControllerCallback {
+public class PhoneStatusBarPolicy implements Callback, RotationLockController.RotationLockControllerCallback, DataSaverController.Listener {
private static final String TAG = "PhoneStatusBarPolicy";
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
@@ -67,6 +68,7 @@
private final String mSlotManagedProfile;
private final String mSlotRotate;
private final String mSlotHeadset;
+ private final String mSlotDataSaver;
private final Context mContext;
private final Handler mHandler = new Handler();
@@ -77,6 +79,7 @@
private final UserManager mUserManager;
private final StatusBarIconController mIconController;
private final RotationLockController mRotationLockController;
+ private final DataSaverController mDataSaver;
// Assume it's all good unless we hear otherwise. We don't always seem
// to get broadcasts that it *is* there.
@@ -97,7 +100,8 @@
public PhoneStatusBarPolicy(Context context, StatusBarIconController iconController,
CastController cast, HotspotController hotspot, UserInfoController userInfoController,
- BluetoothController bluetooth, RotationLockController rotationLockController) {
+ BluetoothController bluetooth, RotationLockController rotationLockController,
+ DataSaverController dataSaver) {
mContext = context;
mIconController = iconController;
mCast = cast;
@@ -108,6 +112,7 @@
mUserInfoController = userInfoController;
mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
mRotationLockController = rotationLockController;
+ mDataSaver = dataSaver;
mSlotCast = context.getString(com.android.internal.R.string.status_bar_cast);
mSlotHotspot = context.getString(com.android.internal.R.string.status_bar_hotspot);
@@ -120,6 +125,7 @@
com.android.internal.R.string.status_bar_managed_profile);
mSlotRotate = context.getString(com.android.internal.R.string.status_bar_rotate);
mSlotHeadset = context.getString(com.android.internal.R.string.status_bar_headset);
+ mSlotDataSaver = context.getString(com.android.internal.R.string.status_bar_data_saver);
mRotationLockController.addRotationLockControllerCallback(this);
@@ -176,6 +182,12 @@
mIconController.setIcon(mSlotManagedProfile, R.drawable.stat_sys_managed_profile_status,
mContext.getString(R.string.accessibility_managed_profile));
mIconController.setIconVisibility(mSlotManagedProfile, mManagedProfileIconVisible);
+
+ // data saver
+ mIconController.setIcon(mSlotDataSaver, R.drawable.stat_sys_data_saver,
+ context.getString(R.string.accessibility_data_saver_on));
+ mIconController.setIconVisibility(mSlotDataSaver, false);
+ mDataSaver.addListener(this);
}
public void setZenMode(int zen) {
@@ -456,11 +468,9 @@
mIconController.setIcon(mSlotRotate, R.drawable.stat_sys_rotate_landscape,
mContext.getString(R.string.accessibility_rotation_lock_on_landscape));
}
+ mIconController.setIconVisibility(mSlotRotate, true);
} else {
- mIconController.setIcon(mSlotRotate, portrait
- ? R.drawable.stat_sys_auto_rotate_portrait
- : R.drawable.stat_sys_auto_rotate_landscape,
- mContext.getString(R.string.accessibility_rotation_lock_off));
+ mIconController.setIconVisibility(mSlotRotate, false);
}
}
@@ -479,6 +489,11 @@
}
}
+ @Override
+ public void onDataSaverChanged(boolean isDataSaving) {
+ mIconController.setIconVisibility(mSlotDataSaver, isDataSaving);
+ }
+
private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java
index 2af2009..80afb9a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java
@@ -57,7 +57,7 @@
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.statusbar.policy.BluetoothController;
import com.android.systemui.statusbar.policy.CastController;
-import com.android.systemui.statusbar.policy.DisplayController;
+import com.android.systemui.statusbar.policy.NightModeController;
import com.android.systemui.statusbar.policy.FlashlightController;
import com.android.systemui.statusbar.policy.HotspotController;
import com.android.systemui.statusbar.policy.KeyguardMonitor;
@@ -68,7 +68,7 @@
import com.android.systemui.statusbar.policy.UserInfoController;
import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.statusbar.policy.ZenModeController;
-import com.android.systemui.tuner.ColorMatrixTile;
+import com.android.systemui.tuner.NightModeTile;
import com.android.systemui.tuner.TunerService;
import com.android.systemui.tuner.TunerService.Tunable;
@@ -108,7 +108,7 @@
private final TileServices mServices;
private final List<Callback> mCallbacks = new ArrayList<>();
- private final DisplayController mDisplayController;
+ private final NightModeController mNightModeController;
private final AutoTileManager mAutoTiles;
private final ManagedProfileController mProfileController;
private View mHeader;
@@ -137,7 +137,7 @@
mSecurity = security;
mBattery = battery;
mIconController = iconController;
- mDisplayController = new DisplayController(mContext);
+ mNightModeController = new NightModeController(mContext, true);
mProfileController = new ManagedProfileController(this);
final HandlerThread ht = new HandlerThread(QSTileHost.class.getSimpleName(),
@@ -292,8 +292,8 @@
return mIconController;
}
- public DisplayController getDisplayController() {
- return mDisplayController;
+ public NightModeController getNightModeController() {
+ return mNightModeController;
}
public ManagedProfileController getManagedProfileController() {
@@ -422,8 +422,8 @@
else if (tileSpec.equals("user")) return new UserTile(this);
else if (tileSpec.equals("battery")) return new BatteryTile(this);
else if (tileSpec.equals("saver")) return new DataSaverTile(this);
- else if (tileSpec.equals(ColorMatrixTile.COLOR_MATRIX_SPEC))
- return new ColorMatrixTile(this);
+ else if (tileSpec.equals(NightModeTile.NIGHT_MODE_SPEC))
+ return new NightModeTile(this);
// Intent tiles.
else if (tileSpec.startsWith(IntentTile.PREFIX)) return IntentTile.create(this,tileSpec);
else if (tileSpec.startsWith(CustomTile.PREFIX)) return CustomTile.create(this,tileSpec);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java
index bd5bac2..ab8067d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java
@@ -34,6 +34,7 @@
import com.android.keyguard.KeyguardStatusView;
import com.android.systemui.FontSizeUtils;
import com.android.systemui.R;
+import com.android.systemui.qs.QSAnimator;
import com.android.systemui.qs.QSPanel;
import com.android.systemui.qs.QSTile;
import com.android.systemui.qs.QuickQSPanel;
@@ -50,7 +51,7 @@
private static final String TAG = "QuickStatusBarHeader";
- private static final float EXPAND_INDICATOR_THRESHOLD = .8f;
+ private static final float EXPAND_INDICATOR_THRESHOLD = .93f;
private ActivityStarter mActivityStarter;
private NextAlarmController mNextAlarmController;
@@ -89,6 +90,7 @@
private TouchAnimator mFirstHalfAnimator;
private TouchAnimator mDateSizeAnimator;
private TouchAnimator mAlarmTranslation;
+ private TouchAnimator mSettingsAlpha;
private float mExpansionAmount;
public QuickStatusBarHeader(Context context, AttributeSet attrs) {
@@ -164,18 +166,16 @@
mAnimator = new TouchAnimator.Builder()
.addFloat(mSettingsContainer, "translationY", -mGearTranslation, 0)
.addFloat(mMultiUserSwitch, "translationY", -mGearTranslation, 0)
- .addFloat(mSettingsButton, "rotation", -90, 0)
.setListener(this)
.build();
mSecondHalfAnimator = new TouchAnimator.Builder()
- .addFloat(mSettingsButton, "rotation", -90, 0)
+ .addFloat(mSettingsButton, "rotation", -180, 0)
.addFloat(mAlarmStatus, "alpha", 0, 1)
.addFloat(mEmergencyOnly, "alpha", 0, 1)
.setStartDelay(.5f)
.build();
mFirstHalfAnimator = new TouchAnimator.Builder()
.addFloat(mAlarmStatusCollapsed, "alpha", 1, 0)
- .addFloat(mHeaderQsPanel, "alpha", 1, 0)
.setEndDelay(.5f)
.build();
mDateSizeAnimator = new TouchAnimator.Builder()
@@ -183,6 +183,11 @@
.addFloat(mDateTimeGroup, "scaleY", 1, mDateScaleFactor)
.setStartDelay(.36f)
.build();
+ mSettingsAlpha = new TouchAnimator.Builder()
+ .addFloat(mSettingsContainer, "alpha", 0, 1)
+ .addFloat(mMultiUserSwitch, "alpha", 0, 1)
+ .setStartDelay(QSAnimator.EXPANDED_TILE_DELAY)
+ .build();
}
@Override
@@ -221,6 +226,7 @@
mFirstHalfAnimator.setPosition(headerExpansionFraction);
mDateSizeAnimator.setPosition(headerExpansionFraction);
mAlarmTranslation.setPosition(headerExpansionFraction);
+ mSettingsAlpha.setPosition(headerExpansionFraction);
updateAlarmVisibilities();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/DataSaverController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/DataSaverController.java
index 186e8b5..6dd196b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/DataSaverController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/DataSaverController.java
@@ -60,6 +60,10 @@
public void setDataSaverEnabled(boolean enabled) {
mPolicyManager.setRestrictBackground(enabled);
+ try {
+ mPolicyListener.onRestrictBackgroundChanged(enabled);
+ } catch (RemoteException e) {
+ }
}
private final INetworkPolicyListener mPolicyListener = new INetworkPolicyListener.Stub() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/DisplayController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/DisplayController.java
deleted file mode 100644
index d47050c..0000000
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/DisplayController.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (C) 2016 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.policy;
-
-import libcore.util.Objects;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.res.Configuration;
-import android.provider.Settings;
-
-import com.android.systemui.R;
-import com.android.systemui.tuner.TunerService;
-
-import java.util.ArrayList;
-
-public class DisplayController implements TunerService.Tunable {
-
- public static final String COLOR_MATRIX_CUSTOM_ENABLED = "tuner_color_custom_enabled";
- public static final String COLOR_MATRIX_CUSTOM_VALUES = "tuner_color_custom_values";
-
- public static final String COLOR_STATE = "sysui_color_matrix_state";
-
- public static final int COLOR_STATE_DISABLED = 0;
- public static final int COLOR_STATE_ENABLED = 1;
- public static final int COLOR_STATE_AUTO = 2;
-
- public static final String AUTO_STRING = "auto_mode";
- public static final String NONE_STRING = "none";
-
- public static final int AUTO_INDEX = 2;
- public static final int CUSTOM_INDEX = 3;
-
- // Night mode ~= 3400 K
- private static final float[] NIGHT_VALUES = new float[] {
- 1, 0, 0, 0,
- 0, .754f, 0, 0,
- 0, 0, .516f, 0,
- 0, 0, 0, 1,
- };
- public static final float[] IDENTITY_MATRIX = new float[] {
- 1, 0, 0, 0,
- 0, 1, 0, 0,
- 0, 0, 1, 0,
- 0, 0, 0, 1,
- };
-
- private final ArrayList<Listener> mListeners = new ArrayList<>();
-
- private final Context mContext;
-
- private String mCurrentValue;
- private boolean mListening;
-
- public DisplayController(Context context) {
- mContext = context;
- TunerService.get(mContext).addTunable(this, COLOR_STATE,
- Settings.Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX);
- }
-
- public void addListener(Listener listener) {
- mListeners.add(listener);
- listener.onCurrentMatrixChanged();
- }
-
- public void removeListener(Listener listener) {
- mListeners.remove(listener);
- }
-
- public boolean isEnabled() {
- return TunerService.get(mContext).getValue(COLOR_STATE, COLOR_STATE_DISABLED)
- != COLOR_STATE_DISABLED;
- }
-
- public boolean isAuto() {
- return mListening;
- }
-
- public void setAuto(boolean auto) {
- TunerService.get(mContext).setValue(COLOR_STATE, auto ? COLOR_STATE_AUTO
- : COLOR_STATE_DISABLED);
- }
-
- public boolean isCustomSet() {
- return isCustomEnabled() && Objects.equal(getCurrentMatrix(), getCustomValues());
- }
-
- public String getCurrentMatrix() {
- return mCurrentValue;
- }
-
- public String getCustomValues() {
- return TunerService.get(mContext).getValue(COLOR_MATRIX_CUSTOM_VALUES);
- }
-
- public boolean isCustomEnabled() {
- return TunerService.get(mContext).getValue(COLOR_MATRIX_CUSTOM_ENABLED, 0) != 0;
- }
-
- @Override
- public void onTuningChanged(String key, String newValue) {
- if (Settings.Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX.equals(key)) {
- mCurrentValue = newValue;
- for (int i = 0; i < mListeners.size(); i++) {
- mListeners.get(i).onCurrentMatrixChanged();
- }
- } else if (COLOR_STATE.equals(key)) {
- final boolean listening = newValue != null
- && Integer.parseInt(newValue) == COLOR_STATE_AUTO;
- if (listening && !mListening) {
- mListening = true;
- mContext.registerReceiver(mReceiver,
- new IntentFilter(Intent.ACTION_CONFIGURATION_CHANGED));
- updateNightMode();
- } else if (!listening && mListening) {
- mListening = false;
- mContext.unregisterReceiver(mReceiver);
- }
- for (int i = 0; i < mListeners.size(); i++) {
- mListeners.get(i).onCurrentMatrixChanged();
- }
- }
- }
-
- private void updateNightMode() {
- final int uiMode = mContext.getResources().getConfiguration().uiMode;
- final boolean isNightMode = (uiMode & Configuration.UI_MODE_NIGHT_MASK)
- == Configuration.UI_MODE_NIGHT_YES;
- String value = null;
- if (isNightMode) {
- value = toString(NIGHT_VALUES);
- }
- TunerService.get(mContext).setValue(Settings.Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX,
- value);
- }
-
- private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- if (Intent.ACTION_CONFIGURATION_CHANGED.equals(intent.getAction())) {
- updateNightMode();
- }
- }
- };
-
- public interface Listener {
- void onCurrentMatrixChanged();
- }
-
- public static String[] getColorTransforms(Context context) {
- return new String[] {
- NONE_STRING,
- toString(NIGHT_VALUES),
- AUTO_STRING, // Blank spot for auto values
- null, // Blank spot for custom values
- };
- }
-
- public static CharSequence[] getColorTitles(Context context) {
- // TODO: Move to string array resource.
- return new CharSequence[]{
- context.getString(R.string.color_matrix_none),
- context.getString(R.string.color_matrix_night),
- context.getString(R.string.color_matrix_auto),
- context.getString(R.string.color_matrix_custom),
- };
- }
-
- public static String toString(float[] values) {
- StringBuilder builder = new StringBuilder();
- for (int i = 0; i < values.length; i++) {
- if (builder.length() != 0) {
- builder.append(',');
- }
- builder.append(values[i]);
- }
- return builder.toString();
- }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotController.java
index 500d603..047f14d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotController.java
@@ -21,7 +21,6 @@
void removeCallback(Callback callback);
boolean isHotspotEnabled();
void setHotspotEnabled(boolean enabled);
- boolean isTetheringAllowed();
public interface Callback {
void onHotspotChanged(boolean enabled);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
index 07b7409..f03d9e9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
@@ -16,15 +16,12 @@
package com.android.systemui.statusbar.policy;
-import android.app.ActivityManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.net.wifi.WifiManager;
-import android.os.UserHandle;
-import android.os.UserManager;
import android.util.Log;
import java.io.FileDescriptor;
@@ -40,8 +37,6 @@
private final Receiver mReceiver = new Receiver();
private final ConnectivityManager mConnectivityManager;
private final Context mContext;
- private final UserManager mUserManager;
- private final int mCurrentUser;
private int mHotspotState;
@@ -49,8 +44,6 @@
mContext = context;
mConnectivityManager = (ConnectivityManager) context.getSystemService(
Context.CONNECTIVITY_SERVICE);
- mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
- mCurrentUser = ActivityManager.getCurrentUser();
}
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
@@ -95,12 +88,6 @@
return mHotspotState == WifiManager.WIFI_AP_STATE_ENABLED;
}
- @Override
- public boolean isTetheringAllowed() {
- return !mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_TETHERING,
- UserHandle.of(mCurrentUser));
- }
-
static final class OnStartTetheringCallback extends
ConnectivityManager.OnStartTetheringCallback {
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationController.java
index 401943e..29a8981 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationController.java
@@ -21,7 +21,6 @@
boolean setLocationEnabled(boolean enabled);
void addSettingsChangedCallback(LocationSettingsChangeCallback cb);
void removeSettingsChangedCallback(LocationSettingsChangeCallback cb);
- boolean isUserLocationRestricted();
/**
* A callback for change in location settings (the user has enabled/disabled location).
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java
index 436a40d..8d84be4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java
@@ -52,7 +52,6 @@
private AppOpsManager mAppOpsManager;
private StatusBarManager mStatusBarManager;
- private final int mCurrentUser;
private boolean mAreActiveLocationRequests;
@@ -74,7 +73,6 @@
mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
mStatusBarManager
= (StatusBarManager) context.getSystemService(Context.STATUS_BAR_SERVICE);
- mCurrentUser = ActivityManager.getCurrentUser();
// Examine the current location state and initialize the status view.
updateActiveLocationRequests();
@@ -105,6 +103,10 @@
* @return true if attempt to change setting was successful.
*/
public boolean setLocationEnabled(boolean enabled) {
+ int currentUserId = ActivityManager.getCurrentUser();
+ if (isUserLocationRestricted(currentUserId)) {
+ return false;
+ }
final ContentResolver cr = mContext.getContentResolver();
// When enabling location, a user consent dialog will pop up, and the
// setting won't be fully enabled until the user accepts the agreement.
@@ -113,7 +115,7 @@
// QuickSettings always runs as the owner, so specifically set the settings
// for the current foreground user.
return Settings.Secure
- .putIntForUser(cr, Settings.Secure.LOCATION_MODE, mode, mCurrentUser);
+ .putIntForUser(cr, Settings.Secure.LOCATION_MODE, mode, currentUserId);
}
/**
@@ -131,10 +133,10 @@
/**
* Returns true if the current user is restricted from using location.
*/
- public boolean isUserLocationRestricted() {
+ private boolean isUserLocationRestricted(int userId) {
final UserManager um = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
return um.hasUserRestriction(UserManager.DISALLOW_SHARE_LOCATION,
- UserHandle.of(mCurrentUser));
+ UserHandle.of(userId));
}
/**
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NightModeController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NightModeController.java
new file mode 100644
index 0000000..0b1911b
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NightModeController.java
@@ -0,0 +1,250 @@
+/*
+ * Copyright (C) 2016 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.policy;
+
+import libcore.util.Objects;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.opengl.Matrix;
+import android.provider.Settings;
+import android.provider.Settings.Secure;
+import android.util.MathUtils;
+
+import com.android.systemui.tuner.TunerService;
+
+import java.util.ArrayList;
+
+/**
+ * Listens for changes to twilight from the TwilightService.
+ *
+ * Also pushes the current matrix to accessibility based on the current twilight
+ * and various tuner settings.
+ */
+public class NightModeController implements TunerService.Tunable {
+
+ public static final String NIGHT_MODE_ADJUST_TINT = "tuner_night_mode_adjust_tint";
+ private static final String COLOR_MATRIX_CUSTOM_VALUES = "tuner_color_custom_values";
+
+ private static final String ACTION_TWILIGHT_CHANGED = "android.intent.action.TWILIGHT_CHANGED";
+
+ private static final String EXTRA_IS_NIGHT = "isNight";
+ private static final String EXTRA_AMOUNT = "amount";
+
+ // Night mode ~= 3400 K
+ private static final float[] NIGHT_VALUES = new float[] {
+ 1, 0, 0, 0,
+ 0, .754f, 0, 0,
+ 0, 0, .516f, 0,
+ 0, 0, 0, 1,
+ };
+ public static final float[] IDENTITY_MATRIX = new float[] {
+ 1, 0, 0, 0,
+ 0, 1, 0, 0,
+ 0, 0, 1, 0,
+ 0, 0, 0, 1,
+ };
+
+ private final ArrayList<Listener> mListeners = new ArrayList<>();
+
+ private final Context mContext;
+
+ // This is whether or not this is the main NightMode controller in SysUI that should be
+ // updating relevant color matrixes or if its in the tuner process getting current state
+ // for UI.
+ private final boolean mUpdateMatrix;
+
+ private float[] mCustomMatrix;
+ private boolean mListening;
+ private boolean mAdjustTint;
+
+ private boolean mIsNight;
+ private float mAmount;
+ private boolean mIsAuto;
+
+ public NightModeController(Context context) {
+ this(context, false);
+ }
+
+ public NightModeController(Context context, boolean updateMatrix) {
+ mContext = context;
+ mUpdateMatrix = updateMatrix;
+ TunerService.get(mContext).addTunable(this, NIGHT_MODE_ADJUST_TINT,
+ COLOR_MATRIX_CUSTOM_VALUES, Secure.TWILIGHT_MODE);
+ }
+
+ public void setNightMode(boolean isNight) {
+ if (mIsAuto) {
+ if (mIsNight != isNight) {
+ TunerService.get(mContext).setValue(Secure.TWILIGHT_MODE, isNight
+ ? Secure.TWILIGHT_MODE_AUTO_OVERRIDE_ON
+ : Secure.TWILIGHT_MODE_AUTO_OVERRIDE_OFF);
+ } else {
+ TunerService.get(mContext).setValue(Secure.TWILIGHT_MODE,
+ Secure.TWILIGHT_MODE_AUTO);
+ }
+ } else {
+ TunerService.get(mContext).setValue(Secure.TWILIGHT_MODE, isNight
+ ? Secure.TWILIGHT_MODE_LOCKED_ON : Secure.TWILIGHT_MODE_LOCKED_OFF);
+ }
+ }
+
+ public void setAuto(boolean auto) {
+ mIsAuto = auto;
+ if (auto) {
+ TunerService.get(mContext).setValue(Secure.TWILIGHT_MODE, Secure.TWILIGHT_MODE_AUTO);
+ } else {
+ // Lock into the current state
+ TunerService.get(mContext).setValue(Secure.TWILIGHT_MODE, mIsNight
+ ? Secure.TWILIGHT_MODE_LOCKED_ON : Secure.TWILIGHT_MODE_LOCKED_OFF);
+ }
+ }
+
+ public boolean isAuto() {
+ return mIsAuto;
+ }
+
+ public void setAdjustTint(Boolean newValue) {
+ TunerService.get(mContext).setValue(NIGHT_MODE_ADJUST_TINT, ((Boolean) newValue) ? 1 : 0);
+ }
+
+ public void addListener(Listener listener) {
+ mListeners.add(listener);
+ listener.onNightModeChanged();
+ updateListening();
+ }
+
+ public void removeListener(Listener listener) {
+ mListeners.remove(listener);
+ updateListening();
+ }
+
+ private void updateListening() {
+ boolean shouldListen = mListeners.size() != 0 || (mUpdateMatrix && mAdjustTint);
+ if (shouldListen == mListening) return;
+ mListening = shouldListen;
+ if (mListening) {
+ mContext.registerReceiver(mReceiver, new IntentFilter(ACTION_TWILIGHT_CHANGED));
+ } else {
+ mContext.unregisterReceiver(mReceiver);
+ }
+ }
+
+ public boolean isEnabled() {
+ if (!mListening) {
+ updateNightMode(mContext.registerReceiver(null,
+ new IntentFilter(ACTION_TWILIGHT_CHANGED)));
+ }
+ return mIsNight;
+ }
+
+ public String getCustomValues() {
+ return TunerService.get(mContext).getValue(COLOR_MATRIX_CUSTOM_VALUES);
+ }
+
+ public void setCustomValues(String values) {
+ TunerService.get(mContext).setValue(COLOR_MATRIX_CUSTOM_VALUES, values);
+ }
+
+ @Override
+ public void onTuningChanged(String key, String newValue) {
+ if (COLOR_MATRIX_CUSTOM_VALUES.equals(key)) {
+ mCustomMatrix = newValue != null ? toValues(newValue) : null;
+ updateCurrentMatrix();
+ } else if (NIGHT_MODE_ADJUST_TINT.equals(key)) {
+ mAdjustTint = newValue == null || Integer.parseInt(newValue) != 0;
+ updateListening();
+ updateCurrentMatrix();
+ } else if (Secure.TWILIGHT_MODE.equals(key)) {
+ mIsAuto = newValue != null && Integer.parseInt(newValue) >= Secure.TWILIGHT_MODE_AUTO;
+ }
+ }
+
+ private void updateCurrentMatrix() {
+ if (!mUpdateMatrix) return;
+ if ((!mAdjustTint || mAmount == 0) && mCustomMatrix == null) {
+ TunerService.get(mContext).setValue(Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX, null);
+ return;
+ }
+ float[] values = scaleValues(IDENTITY_MATRIX, NIGHT_VALUES, mAdjustTint ? mAmount : 0);
+ if (mCustomMatrix != null) {
+ values = multiply(values, mCustomMatrix);
+ }
+ TunerService.get(mContext).setValue(Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX,
+ toString(values));
+ }
+
+ private void updateNightMode(Intent intent) {
+ mIsNight = intent.getBooleanExtra(EXTRA_IS_NIGHT, false);
+ mAmount = intent.getFloatExtra(EXTRA_AMOUNT, 0);
+ }
+
+ private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ if (ACTION_TWILIGHT_CHANGED.equals(intent.getAction())) {
+ updateNightMode(intent);
+ updateCurrentMatrix();
+ for (int i = 0; i < mListeners.size(); i++) {
+ mListeners.get(i).onNightModeChanged();
+ }
+ }
+ }
+ };
+
+ public interface Listener {
+ void onNightModeChanged();
+ void onTwilightAutoChanged();
+ }
+
+ private static float[] multiply(float[] matrix, float[] other) {
+ if (matrix == null) {
+ return other;
+ }
+ float[] result = new float[16];
+ Matrix.multiplyMM(result, 0, matrix, 0, other, 0);
+ return result;
+ }
+
+ private float[] scaleValues(float[] identityMatrix, float[] nightValues, float amount) {
+ float[] values = new float[identityMatrix.length];
+ for (int i = 0; i < values.length; i++) {
+ values[i] = MathUtils.lerp(identityMatrix[i], nightValues[i], amount);
+ }
+ return values;
+ }
+
+ public static String toString(float[] values) {
+ StringBuilder builder = new StringBuilder();
+ for (int i = 0; i < values.length; i++) {
+ if (builder.length() != 0) {
+ builder.append(',');
+ }
+ builder.append(values[i]);
+ }
+ return builder.toString();
+ }
+
+ public static float[] toValues(String customValues) {
+ String[] strValues = customValues.split(",");
+ float[] values = new float[strValues.length];
+ for (int i = 0; i < values.length; i++) {
+ values[i] = Float.parseFloat(strValues[i]);
+ }
+ return values;
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java
index 6ca7dc8..13369f2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java
@@ -210,12 +210,16 @@
}
}
+ boolean systemCanCreateUsers = !mUserManager.hasBaseUserRestriction(
+ UserManager.DISALLOW_ADD_USER, UserHandle.SYSTEM);
boolean currentUserCanCreateUsers = currentUserInfo != null
&& (currentUserInfo.isAdmin()
- || currentUserInfo.id == UserHandle.USER_SYSTEM);
- boolean canCreateGuest = (currentUserCanCreateUsers || addUsersWhenLocked)
+ || currentUserInfo.id == UserHandle.USER_SYSTEM)
+ && systemCanCreateUsers;
+ boolean anyoneCanCreateUsers = systemCanCreateUsers && addUsersWhenLocked;
+ boolean canCreateGuest = (currentUserCanCreateUsers || anyoneCanCreateUsers)
&& guestRecord == null;
- boolean canCreateUser = (currentUserCanCreateUsers || addUsersWhenLocked)
+ boolean canCreateUser = (currentUserCanCreateUsers || anyoneCanCreateUsers)
&& mUserManager.canAddMoreUsers();
boolean createIsRestricted = !addUsersWhenLocked;
@@ -225,7 +229,7 @@
guestRecord = new UserRecord(null /* info */, null /* picture */,
true /* isGuest */, false /* isCurrent */,
false /* isAddUser */, createIsRestricted);
- checkIfAddUserDisallowed(guestRecord);
+ checkIfAddUserDisallowedByAdminOnly(guestRecord);
records.add(guestRecord);
}
} else {
@@ -238,7 +242,7 @@
UserRecord addUserRecord = new UserRecord(null /* info */, null /* picture */,
false /* isGuest */, false /* isCurrent */, true /* isAddUser */,
createIsRestricted);
- checkIfAddUserDisallowed(addUserRecord);
+ checkIfAddUserDisallowedByAdminOnly(addUserRecord);
records.add(addUserRecord);
}
@@ -615,10 +619,11 @@
}
}
- private void checkIfAddUserDisallowed(UserRecord record) {
+ private void checkIfAddUserDisallowedByAdminOnly(UserRecord record) {
EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(mContext,
UserManager.DISALLOW_ADD_USER, ActivityManager.getCurrentUser());
- if (admin != null) {
+ if (admin != null && !RestrictedLockUtils.hasBaseUserRestriction(mContext,
+ UserManager.DISALLOW_ADD_USER, ActivityManager.getCurrentUser())) {
record.isDisabledByAdmin = true;
record.enforcedAdmin = admin;
} else {
@@ -683,7 +688,7 @@
}
public final QSTile.DetailAdapter userDetailAdapter = new QSTile.DetailAdapter() {
- private final Intent USER_SETTINGS_INTENT = new Intent("android.settings.USER_SETTINGS");
+ private final Intent USER_SETTINGS_INTENT = new Intent(Settings.ACTION_USER_SETTINGS);
@Override
public CharSequence getTitle() {
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 bf4245b..f078b53 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
@@ -18,10 +18,12 @@
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
+import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.PropertyValuesHolder;
import android.animation.TimeAnimator;
import android.animation.ValueAnimator;
+import android.animation.ValueAnimator.AnimatorUpdateListener;
import android.annotation.Nullable;
import android.content.Context;
import android.content.res.Configuration;
@@ -32,6 +34,7 @@
import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
+import android.os.Handler;
import android.util.AttributeSet;
import android.util.Log;
import android.util.Pair;
@@ -56,6 +59,8 @@
import com.android.systemui.statusbar.ExpandableNotificationRow;
import com.android.systemui.statusbar.ExpandableView;
import com.android.systemui.statusbar.NotificationOverflowContainer;
+import com.android.systemui.statusbar.NotificationSettingsIconRow;
+import com.android.systemui.statusbar.NotificationSettingsIconRow.SettingsIconRowListener;
import com.android.systemui.statusbar.StackScrollerDecorView;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.phone.NotificationGroupManager;
@@ -72,7 +77,8 @@
*/
public class NotificationStackScrollLayout extends ViewGroup
implements SwipeHelper.Callback, ExpandHelper.Callback, ScrollAdapter,
- ExpandableView.OnHeightChangedListener, NotificationGroupManager.OnGroupChangeListener {
+ ExpandableView.OnHeightChangedListener, NotificationGroupManager.OnGroupChangeListener,
+ SettingsIconRowListener {
public static final float BACKGROUND_ALPHA_DIMMED = 0.7f;
private static final String TAG = "StackScroller";
@@ -207,6 +213,11 @@
*/
private int mMaxScrollAfterExpand;
private SwipeHelper.LongPressListener mLongPressListener;
+ private GearDisplayedListener mGearDisplayedListener;
+
+ private NotificationSettingsIconRow mCurrIconRow;
+ private View mTranslatingParentView;
+ private View mGearExposedView;
/**
* Should in this touch motion only be scrolling allowed? It's true when the scroller was
@@ -304,8 +315,7 @@
minHeight, maxHeight);
mExpandHelper.setEventSource(this);
mExpandHelper.setScrollAdapter(this);
-
- mSwipeHelper = new SwipeHelper(SwipeHelper.X, this, getContext());
+ mSwipeHelper = new NotificationSwipeHelper(SwipeHelper.X, this, getContext());
mSwipeHelper.setLongPressListener(mLongPressListener);
mStackScrollAlgorithm = new StackScrollAlgorithm(context);
initView(context);
@@ -321,6 +331,13 @@
}
@Override
+ public void onGearTouched(ExpandableNotificationRow row) {
+ if (mLongPressListener != null) {
+ mLongPressListener.onLongPress(row, 0, 0);
+ }
+ }
+
+ @Override
protected void onDraw(Canvas canvas) {
canvas.drawRect(0, mCurrentBounds.top, getWidth(), mCurrentBounds.bottom, mBackgroundPaint);
if (DEBUG) {
@@ -630,6 +647,10 @@
mLongPressListener = listener;
}
+ public void setGearDisplayedListener(GearDisplayedListener listener) {
+ mGearDisplayedListener = listener;
+ }
+
public void setQsContainer(ViewGroup qsContainer) {
mQsContainer = qsContainer;
}
@@ -666,7 +687,7 @@
}
@Override
- public void onChildSnappedBack(View animView) {
+ public void onChildSnappedBack(View animView, float targetLeft) {
mAmbientState.onDragFinished(animView);
if (!mDragAnimPendingChildren.contains(animView)) {
if (mAnimationsEnabled) {
@@ -678,6 +699,13 @@
// We start the swipe and snap back in the same frame, we don't want any animation
mDragAnimPendingChildren.remove(animView);
}
+
+ if (targetLeft == 0 && mCurrIconRow != null) {
+ mCurrIconRow.resetState();
+ if (mGearExposedView != null && mGearExposedView == mTranslatingParentView) {
+ mGearExposedView = null;
+ }
+ }
}
@Override
@@ -686,7 +714,7 @@
mScrimController.setTopHeadsUpDragAmount(animView,
Math.min(Math.abs(swipeProgress - 1.0f), 1.0f));
}
- return false;
+ return true; // Don't fade out the notification
}
public void onBeginDrag(View v) {
@@ -726,8 +754,21 @@
return mPhoneStatusBar.isWakeUpComingFromTouch() ? 1.5f : 1.0f;
}
+ @Override
public View getChildAtPosition(MotionEvent ev) {
- return getChildAtPosition(ev.getX(), ev.getY());
+ View child = getChildAtPosition(ev.getX(), ev.getY());
+ if (child instanceof ExpandableNotificationRow) {
+ ExpandableNotificationRow row = (ExpandableNotificationRow) child;
+ ExpandableNotificationRow parent = row.getNotificationParent();
+ if (mGearExposedView != null && parent != null
+ && parent.areChildrenExpanded() && mGearExposedView == parent) {
+ // In this case the group is expanded and showing the gear for the
+ // group, further interaction should apply to the group, not any
+ // child notifications so we use the parent of the child.
+ child = row.getNotificationParent();
+ }
+ }
+ return child;
}
public ExpandableView getClosestChildAtRawPosition(float touchX, float touchY) {
@@ -841,10 +882,6 @@
return mScrollingEnabled;
}
- public View getChildContentView(View v) {
- return v;
- }
-
public boolean canChildBeDismissed(View v) {
return StackScrollAlgorithm.canChildBeDismissed(v);
}
@@ -3008,6 +3045,9 @@
disableClipOptimization();
}
handleDismissAllClipping();
+ if (mCurrIconRow != null & mCurrIconRow.isVisible()) {
+ mCurrIconRow.getNotificationParent().animateTranslateNotification(0 /* left target */);
+ }
}
private void handleDismissAllClipping() {
@@ -3268,6 +3308,247 @@
public void flingTopOverscroll(float velocity, boolean open);
}
+ /**
+ * A listener that is notified when the gear is shown behind a notification.
+ */
+ public interface GearDisplayedListener {
+ void onGearDisplayed(ExpandableNotificationRow row);
+ }
+
+ private class NotificationSwipeHelper extends SwipeHelper {
+ private static final int MOVE_STATE_LEFT = -1;
+ private static final int MOVE_STATE_UNDEFINED = 0;
+ private static final int MOVE_STATE_RIGHT = 1;
+
+ private static final long GEAR_SHOW_DELAY = 60;
+
+ private ArrayList<View> mTranslatingViews = new ArrayList<>();
+ private CheckForDrag mCheckForDrag;
+ private Handler mHandler;
+ private int mMoveState = MOVE_STATE_UNDEFINED;
+
+ public NotificationSwipeHelper(int swipeDirection, Callback callback, Context context) {
+ super(swipeDirection, callback, context);
+ mHandler = new Handler();
+ }
+
+ @Override
+ public void onDownUpdate(View currView) {
+ // Set the active view
+ mTranslatingParentView = currView;
+
+ // Reset check for drag gesture
+ mCheckForDrag = null;
+
+ // Slide back any notifications that might be showing a gear
+ resetExposedGearView();
+
+ if (currView instanceof ExpandableNotificationRow) {
+ // Set the listener for the current row's gear
+ mCurrIconRow = ((ExpandableNotificationRow) currView).getSettingsRow();
+ mCurrIconRow.setGearListener(NotificationStackScrollLayout.this);
+
+ // And the translating children
+ mTranslatingViews = ((ExpandableNotificationRow) currView).getContentViews();
+ }
+ mMoveState = MOVE_STATE_UNDEFINED;
+ }
+
+ @Override
+ public void onMoveUpdate(View view, float translation, float delta) {
+ final int newMoveState = (delta < 0) ? MOVE_STATE_RIGHT : MOVE_STATE_LEFT;
+ if (mMoveState != MOVE_STATE_UNDEFINED && mMoveState != newMoveState) {
+ // Changed directions, make sure we check for drag again.
+ mCheckForDrag = null;
+ }
+ mMoveState = newMoveState;
+
+ if (view instanceof ExpandableNotificationRow) {
+ ((ExpandableNotificationRow) view).setTranslationForOutline(translation);
+ if (!isPinnedHeadsUp(view)) {
+ // Only show the gear if we're not a heads up view.
+ checkForDrag();
+ if (mCurrIconRow != null) {
+ mCurrIconRow.updateSettingsIcons(translation, getSize(view));
+ }
+ }
+ }
+ }
+
+ @Override
+ public void dismissChild(final View view, float velocity) {
+ cancelCheckForDrag();
+ super.dismissChild(view, velocity);
+ }
+
+ @Override
+ public void snapChild(final View animView, final float targetLeft, float velocity) {
+ final float snapBackThreshold = getSpaceForGear(animView);
+ final float translation = getTranslation(animView);
+ final boolean fromLeft = translation > 0;
+ final float absTrans = Math.abs(translation);
+ final float notiThreshold = getSize(mTranslatingParentView) * 0.4f;
+
+ boolean pastGear = (fromLeft && translation >= snapBackThreshold * 0.4f
+ && translation <= notiThreshold) ||
+ (!fromLeft && absTrans >= snapBackThreshold * 0.4f
+ && absTrans <= notiThreshold);
+
+ if (pastGear && !isPinnedHeadsUp(animView)) {
+ // bouncity
+ final float target = fromLeft ? snapBackThreshold : -snapBackThreshold;
+ mGearExposedView = mTranslatingParentView;
+ if (mGearDisplayedListener != null
+ && (animView instanceof ExpandableNotificationRow)) {
+ mGearDisplayedListener.onGearDisplayed((ExpandableNotificationRow) animView);
+ }
+ super.snapChild(animView, target, velocity);
+ } else {
+ super.snapChild(animView, 0, velocity);
+ }
+ }
+
+ @Override
+ public void onTranslationUpdate(View animView, float value, boolean canBeDismissed) {
+ if (mDismissAllInProgress) {
+ // When dismissing all, we translate the entire view instead.
+ super.onTranslationUpdate(animView, value, canBeDismissed);
+ return;
+ }
+ if (animView instanceof ExpandableNotificationRow) {
+ ((ExpandableNotificationRow) animView).setTranslationForOutline(value);
+ }
+ if (mCurrIconRow != null) {
+ mCurrIconRow.updateSettingsIcons(value, getSize(animView));
+ }
+ }
+
+ @Override
+ public Animator getViewTranslationAnimator(View v, float target,
+ AnimatorUpdateListener listener) {
+ if (mDismissAllInProgress) {
+ // When dismissing all, we translate the entire view instead.
+ return super.getViewTranslationAnimator(v, target, listener);
+ }
+ ArrayList<Animator> animators = new ArrayList<Animator>();
+ for (int i = 0; i < mTranslatingViews.size(); i++) {
+ ObjectAnimator anim = createTranslationAnimation(mTranslatingViews.get(i), target);
+ animators.add(anim);
+ if (i == 0 && listener != null) {
+ anim.addUpdateListener(listener);
+ }
+ }
+ AnimatorSet set = new AnimatorSet();
+ set.playTogether(animators);
+ return set;
+ }
+
+ @Override
+ public void setTranslation(View v, float translate) {
+ if (mDismissAllInProgress) {
+ // When dismissing all, we translate the entire view instead.
+ super.setTranslation(v, translate);
+ return;
+ }
+ // Translate the group of views
+ for (int i = 0; i < mTranslatingViews.size(); i++) {
+ if (mTranslatingViews.get(i) != null) {
+ super.setTranslation(mTranslatingViews.get(i), translate);
+ }
+ }
+ }
+
+ @Override
+ public float getTranslation(View v) {
+ if (mDismissAllInProgress) {
+ // When dismissing all, we translate the entire view instead.
+ return super.getTranslation(v);
+ }
+ // All of the views in the list should have same translation, just use first one.
+ if (mTranslatingViews.size() > 0) {
+ return super.getTranslation(mTranslatingViews.get(0));
+ }
+ return 0;
+ }
+
+
+ /**
+ * Returns the horizontal space in pixels required to display the gear behind a
+ * notification.
+ */
+ private float getSpaceForGear(View view) {
+ if (view instanceof ExpandableNotificationRow) {
+ return ((ExpandableNotificationRow) view).getSpaceForGear();
+ }
+ return 0;
+ }
+
+ private void checkForDrag() {
+ if (mCheckForDrag == null) {
+ mCheckForDrag = new CheckForDrag();
+ mHandler.postDelayed(mCheckForDrag, GEAR_SHOW_DELAY);
+ }
+ }
+
+ private void cancelCheckForDrag() {
+ if (mCurrIconRow != null) {
+ mCurrIconRow.cancelFadeAnimator();
+ }
+ mHandler.removeCallbacks(mCheckForDrag);
+ mCheckForDrag = null;
+ }
+
+ private final class CheckForDrag implements Runnable {
+ @Override
+ public void run() {
+ final float translation = getTranslation(mTranslatingParentView);
+ final float absTransX = Math.abs(translation);
+ final float bounceBackToGearWidth = getSpaceForGear(mTranslatingParentView);
+ final float notiThreshold = getSize(mTranslatingParentView) * 0.4f;
+ if (mCurrIconRow != null && absTransX >= bounceBackToGearWidth * 0.4
+ && absTransX < notiThreshold) {
+ // Show icon
+ mCurrIconRow.fadeInSettings(translation > 0 /* fromLeft */, translation,
+ notiThreshold);
+ } else {
+ // Allow more to be posted if this wasn't a drag.
+ mCheckForDrag = null;
+ }
+ }
+ }
+
+ private void resetExposedGearView() {
+ if (mGearExposedView == null || mGearExposedView == mTranslatingParentView) {
+ // If no gear is showing or it's showing for this view we do nothing.
+ return;
+ }
+
+ final View prevGearExposedView = mGearExposedView;
+ mGearExposedView = null;
+
+ AnimatorListenerAdapter listener = new AnimatorListenerAdapter() {
+ public void onAnimationEnd(Animator animator) {
+ if (prevGearExposedView instanceof ExpandableNotificationRow) {
+ ((ExpandableNotificationRow) prevGearExposedView).getSettingsRow()
+ .resetState();
+ }
+ }
+ };
+ AnimatorUpdateListener updateListener = new AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator animation) {
+ if (prevGearExposedView instanceof ExpandableNotificationRow) {
+ ((ExpandableNotificationRow) prevGearExposedView)
+ .setTranslationForOutline((float) animation.getAnimatedValue());
+ }
+ }
+ };
+ Animator set = getViewTranslationAnimator(prevGearExposedView, 0, updateListener);
+ set.addListener(listener);
+ set.start();
+ }
+ }
+
static class AnimationEvent {
static AnimationFilter[] FILTERS = new AnimationFilter[] {
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/BatteryPreference.java b/packages/SystemUI/src/com/android/systemui/tuner/BatteryPreference.java
new file mode 100644
index 0000000..8881c79
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/tuner/BatteryPreference.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2016 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.tuner;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.support.v7.preference.DropDownPreference;
+import android.text.TextUtils;
+import android.util.ArraySet;
+import android.util.AttributeSet;
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.systemui.statusbar.phone.StatusBarIconController;
+
+import static com.android.systemui.BatteryMeterDrawable.SHOW_PERCENT_SETTING;
+
+public class BatteryPreference extends DropDownPreference implements TunerService.Tunable {
+
+ private static final String PERCENT = "percent";
+ private static final String DEFAULT = "default";
+ private static final String DISABLED = "disabled";
+
+ private final String mBattery;
+ private boolean mBatteryEnabled;
+ private boolean mHasPercentage;
+ private ArraySet<String> mBlacklist;
+ private boolean mHasSetValue;
+
+ public BatteryPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ mBattery = context.getString(com.android.internal.R.string.status_bar_battery);
+ setEntryValues(new CharSequence[] {PERCENT, DEFAULT, DISABLED });
+ }
+
+ @Override
+ public void onAttached() {
+ super.onAttached();
+ TunerService.get(getContext()).addTunable(this, StatusBarIconController.ICON_BLACKLIST);
+ mHasPercentage = Settings.System.getInt(getContext().getContentResolver(),
+ SHOW_PERCENT_SETTING, 0) != 0;
+ }
+
+ @Override
+ public void onDetached() {
+ TunerService.get(getContext()).removeTunable(this);
+ super.onDetached();
+ }
+
+ @Override
+ public void onTuningChanged(String key, String newValue) {
+ if (StatusBarIconController.ICON_BLACKLIST.equals(key)) {
+ mBlacklist = StatusBarIconController.getIconBlacklist(newValue);
+ mBatteryEnabled = !mBlacklist.contains(mBattery);
+ }
+ if (!mHasSetValue) {
+ // Because of the complicated tri-state it can end up looping and setting state back to
+ // what the user didn't choose. To avoid this, just set the state once and rely on the
+ // preference to handle updates.
+ mHasSetValue = true;
+ if (mBatteryEnabled && mHasPercentage) {
+ setValue(PERCENT);
+ } else if (mBatteryEnabled) {
+ setValue(DEFAULT);
+ } else {
+ setValue(DISABLED);
+ }
+ }
+ }
+
+ @Override
+ protected boolean persistString(String value) {
+ final boolean v = PERCENT.equals(value);
+ MetricsLogger.action(getContext(), MetricsEvent.TUNER_BATTERY_PERCENTAGE, v);
+ Settings.System.putInt(getContext().getContentResolver(), SHOW_PERCENT_SETTING, v ? 1 : 0);
+ if (DISABLED.equals(value)) {
+ mBlacklist.add(mBattery);
+ } else {
+ mBlacklist.remove(mBattery);
+ }
+ TunerService.get(getContext()).setValue(StatusBarIconController.ICON_BLACKLIST,
+ TextUtils.join(",", mBlacklist));
+ return true;
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/CalibratePreference.java b/packages/SystemUI/src/com/android/systemui/tuner/CalibratePreference.java
new file mode 100644
index 0000000..ff7be13
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/tuner/CalibratePreference.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2016 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.tuner;
+
+import android.content.Context;
+import android.support.v7.preference.DialogPreference;
+import android.util.AttributeSet;
+
+public class CalibratePreference extends DialogPreference {
+ public CalibratePreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/ClockPreference.java b/packages/SystemUI/src/com/android/systemui/tuner/ClockPreference.java
new file mode 100644
index 0000000..ea92443
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/tuner/ClockPreference.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2016 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.tuner;
+
+import android.content.Context;
+import android.support.v7.preference.DropDownPreference;
+import android.text.TextUtils;
+import android.util.ArraySet;
+import android.util.AttributeSet;
+import com.android.systemui.statusbar.phone.StatusBarIconController;
+import com.android.systemui.statusbar.policy.Clock;
+
+public class ClockPreference extends DropDownPreference implements TunerService.Tunable {
+
+ private static final String SECONDS = "seconds";
+ private static final String DEFAULT = "default";
+ private static final String DISABLED = "disabled";
+
+ private final String mClock;
+ private boolean mClockEnabled;
+ private boolean mHasSeconds;
+ private ArraySet<String> mBlacklist;
+ private boolean mHasSetValue;
+
+ public ClockPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ mClock = context.getString(com.android.internal.R.string.status_bar_clock);
+ setEntryValues(new CharSequence[] { SECONDS, DEFAULT, DISABLED });
+ }
+
+ @Override
+ public void onAttached() {
+ super.onAttached();
+ TunerService.get(getContext()).addTunable(this, StatusBarIconController.ICON_BLACKLIST,
+ Clock.CLOCK_SECONDS);
+ }
+
+ @Override
+ public void onDetached() {
+ TunerService.get(getContext()).removeTunable(this);
+ super.onDetached();
+ }
+
+ @Override
+ public void onTuningChanged(String key, String newValue) {
+ if (StatusBarIconController.ICON_BLACKLIST.equals(key)) {
+ mBlacklist = StatusBarIconController.getIconBlacklist(newValue);
+ mClockEnabled = !mBlacklist.contains(mClock);
+ } else if (Clock.CLOCK_SECONDS.equals(key)) {
+ mHasSeconds = newValue != null && Integer.parseInt(newValue) != 0;
+ }
+ if (!mHasSetValue) {
+ // Because of the complicated tri-state it can end up looping and setting state back to
+ // what the user didn't choose. To avoid this, just set the state once and rely on the
+ // preference to handle updates.
+ mHasSetValue = true;
+ if (mClockEnabled && mHasSeconds) {
+ setValue(SECONDS);
+ } else if (mClockEnabled) {
+ setValue(DEFAULT);
+ } else {
+ setValue(DISABLED);
+ }
+ }
+ }
+
+ @Override
+ protected boolean persistString(String value) {
+ TunerService.get(getContext()).setValue(Clock.CLOCK_SECONDS, SECONDS.equals(value) ? 1 : 0);
+ if (DISABLED.equals(value)) {
+ mBlacklist.add(mClock);
+ } else {
+ mBlacklist.remove(mClock);
+ }
+ TunerService.get(getContext()).setValue(StatusBarIconController.ICON_BLACKLIST,
+ TextUtils.join(",", mBlacklist));
+ return true;
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/ColorAndAppearanceFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/ColorAndAppearanceFragment.java
new file mode 100644
index 0000000..9f11325
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/tuner/ColorAndAppearanceFragment.java
@@ -0,0 +1,202 @@
+/*
+ * Copyright (C) 2016 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.tuner;
+
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.provider.Settings.Secure;
+import android.support.v14.preference.PreferenceFragment;
+import android.support.v7.preference.Preference;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.SeekBar;
+
+import com.android.systemui.R;
+import com.android.systemui.statusbar.policy.NightModeController;
+
+public class ColorAndAppearanceFragment extends PreferenceFragment {
+
+ private static final String KEY_CALIBRATE = "calibrate";
+
+ private static final long RESET_DELAY = 10000;
+ private static final CharSequence KEY_NIGHT_MODE = "night_mode";
+
+ private NightModeController mNightModeController;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ mNightModeController = new NightModeController(getContext());
+ }
+
+ @Override
+ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
+ addPreferencesFromResource(R.xml.color_and_appearance);
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ // TODO: Figure out better title model for Tuner, to avoid any more of this.
+ getActivity().setTitle(R.string.color_and_appearance);
+
+ Preference nightMode = findPreference(KEY_NIGHT_MODE);
+ nightMode.setSummary(mNightModeController.isEnabled()
+ ? R.string.night_mode_on : R.string.night_mode_off);
+ }
+
+ @Override
+ public void onDisplayPreferenceDialog(Preference preference) {
+ if (preference instanceof CalibratePreference) {
+ CalibrateDialog.show(this);
+ } else {
+ super.onDisplayPreferenceDialog(preference);
+ }
+ }
+
+ private void startRevertTimer() {
+ getView().postDelayed(mResetColorMatrix, RESET_DELAY);
+ }
+
+ private void onApply() {
+ mNightModeController.setCustomValues(Settings.Secure.getString(
+ getContext().getContentResolver(), Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX));
+ getView().removeCallbacks(mResetColorMatrix);
+ }
+
+ private void onRevert() {
+ getView().removeCallbacks(mResetColorMatrix);
+ mResetColorMatrix.run();
+ }
+
+ private final Runnable mResetColorMatrix = new Runnable() {
+ @Override
+ public void run() {
+ ((DialogFragment) getFragmentManager().findFragmentByTag("RevertWarning")).dismiss();
+ Settings.Secure.putString(getContext().getContentResolver(),
+ Settings.Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX, null);
+ }
+ };
+
+ public static class CalibrateDialog extends DialogFragment implements
+ DialogInterface.OnClickListener {
+ private float[] mValues;
+ private NightModeController mNightModeController;
+
+ public static void show(ColorAndAppearanceFragment fragment) {
+ CalibrateDialog dialog = new CalibrateDialog();
+ dialog.setTargetFragment(fragment, 0);
+ dialog.show(fragment.getFragmentManager(), "Calibrate");
+ }
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ mNightModeController = new NightModeController(getContext());
+ String customValues = mNightModeController.getCustomValues();
+ if (customValues == null) {
+ // Generate this as a string because its the easiest way to generate a copy of the
+ // identity.
+ customValues = NightModeController.toString(NightModeController.IDENTITY_MATRIX);
+ }
+ mValues = NightModeController.toValues(customValues);
+ }
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ View v = LayoutInflater.from(getContext()).inflate(R.layout.calibrate_sliders, null);
+ bindView(v.findViewById(R.id.r_group), 0);
+ bindView(v.findViewById(R.id.g_group), 5);
+ bindView(v.findViewById(R.id.b_group), 10);
+ return new AlertDialog.Builder(getContext())
+ .setTitle(R.string.calibrate_display)
+ .setView(v)
+ .setPositiveButton(R.string.color_apply, this)
+ .setNegativeButton(android.R.string.cancel, null)
+ .create();
+ }
+
+ private void bindView(View view, final int index) {
+ SeekBar seekBar = (SeekBar) view.findViewById(com.android.internal.R.id.seekbar);
+ seekBar.setMax(1000);
+ seekBar.setProgress((int) (1000 * mValues[index]));
+ seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
+ @Override
+ public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
+ mValues[index] = progress / 1000f;
+ }
+
+ @Override
+ public void onStartTrackingTouch(SeekBar seekBar) {
+ }
+
+ @Override
+ public void onStopTrackingTouch(SeekBar seekBar) {
+ }
+ });
+ }
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ if (mValues[0] == 1 && mValues[5] == 1 && mValues[10] == 1) {
+ // Allow removal of matrix by all values set to highest.
+ mNightModeController.setCustomValues(null);
+ return;
+ }
+ ((ColorAndAppearanceFragment) getTargetFragment()).startRevertTimer();
+ Settings.Secure.putString(getContext().getContentResolver(),
+ Settings.Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX,
+ NightModeController.toString(mValues));
+ RevertWarning.show((ColorAndAppearanceFragment) getTargetFragment());
+ }
+ }
+
+ public static class RevertWarning extends DialogFragment
+ implements DialogInterface.OnClickListener {
+
+ public static void show(ColorAndAppearanceFragment fragment) {
+ RevertWarning warning = new RevertWarning();
+ warning.setTargetFragment(fragment, 0);
+ warning.show(fragment.getFragmentManager(), "RevertWarning");
+ }
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ AlertDialog alertDialog = new AlertDialog.Builder(getContext())
+ .setTitle(R.string.color_revert_title)
+ .setMessage(R.string.color_revert_message)
+ .setPositiveButton(R.string.ok, this)
+ .create();
+ alertDialog.setCanceledOnTouchOutside(true);
+ return alertDialog;
+ }
+
+ @Override
+ public void onCancel(DialogInterface dialog) {
+ super.onCancel(dialog);
+ ((ColorAndAppearanceFragment) getTargetFragment()).onRevert();
+ }
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ ((ColorAndAppearanceFragment) getTargetFragment()).onApply();
+ }
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/ColorMatrixFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/ColorMatrixFragment.java
deleted file mode 100644
index dfacd03..0000000
--- a/packages/SystemUI/src/com/android/systemui/tuner/ColorMatrixFragment.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/**
- * Copyright (c) 2015, 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.tuner;
-
-import android.annotation.Nullable;
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.app.DialogFragment;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.os.Bundle;
-import android.provider.Settings;
-import android.support.v14.preference.PreferenceFragment;
-import android.support.v14.preference.SwitchPreference;
-import android.support.v7.preference.DropDownPreference;
-import android.support.v7.preference.Preference;
-import android.support.v7.preference.PreferenceViewHolder;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.SeekBar;
-import android.widget.Switch;
-
-import com.android.systemui.R;
-import com.android.systemui.statusbar.phone.QSTileHost;
-import com.android.systemui.statusbar.policy.DisplayController;
-
-import java.util.Objects;
-
-public class ColorMatrixFragment extends PreferenceFragment implements TunerService.Tunable {
-
- private static final String TAG = "ColorMatrixFragment";
-
- private static final long RESET_DELAY = 10000;
-
- private boolean mCustomEnabled;
- private DropDownPreference mSelectPreference;
- private String mCurrentValue;
- private String mCustomValues;
- private SwitchPreference mEnableCustomPreference;
- private MatrixPreference mCustomPreference;
- private int mState;
- private Switch mSwitch;
-
- @Override
- public void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- Context context = getContext();
- TunerService.get(context).addTunable(this, DisplayController.COLOR_MATRIX_CUSTOM_ENABLED,
- DisplayController.COLOR_MATRIX_CUSTOM_VALUES, DisplayController.COLOR_STATE,
- Settings.Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX);
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- final View view = LayoutInflater.from(getContext()).inflate(
- R.layout.color_matrix_settings, container, false);
- ((ViewGroup) view).addView(super.onCreateView(inflater, container, savedInstanceState));
- return view;
- }
-
- @Override
- public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
- final Context context = getPreferenceManager().getContext();
- setPreferenceScreen(getPreferenceManager().createPreferenceScreen(context));
-
- mSelectPreference = new DropDownPreference(context);
- mSelectPreference.setTitle(R.string.color_transform);
- mSelectPreference.setSummary("%s");
- mSelectPreference.setOnPreferenceChangeListener(
- new Preference.OnPreferenceChangeListener() {
- @Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- if (Objects.equals(newValue, DisplayController.AUTO_STRING)) {
- Settings.Secure.putInt(context.getContentResolver(),
- DisplayController.COLOR_STATE,
- DisplayController.COLOR_STATE_AUTO);
- return true;
- }
- if (Objects.equals(newValue, DisplayController.NONE_STRING)) {
- Settings.Secure.putString(context.getContentResolver(),
- Settings.Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX, null);
- return true;
- }
- Settings.Secure.putInt(context.getContentResolver(),
- DisplayController.COLOR_STATE,
- DisplayController.COLOR_STATE_ENABLED);
- final String value = (String) newValue;
- Settings.Secure.putString(context.getContentResolver(),
- Settings.Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX,
- value);
- return true;
- }
- });
- getPreferenceScreen().addPreference(mSelectPreference);
-
- mEnableCustomPreference = new SwitchPreference(context);
- mEnableCustomPreference.setTitle(R.string.color_enable_custom);
- mEnableCustomPreference.setOnPreferenceChangeListener(
- new Preference.OnPreferenceChangeListener() {
- @Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- boolean enabled = (Boolean) newValue;
- if (!enabled && Objects.equals(mCurrentValue, mCustomValues)) {
- Settings.Secure.putString(context.getContentResolver(),
- Settings.Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX, null);
- }
- Settings.Secure.putInt(context.getContentResolver(),
- DisplayController.COLOR_MATRIX_CUSTOM_ENABLED, enabled ? 1 : 0);
- return true;
- }
- });
- getPreferenceScreen().addPreference(mEnableCustomPreference);
-
- mCustomPreference = new MatrixPreference(context);
- getPreferenceScreen().addPreference(mCustomPreference);
- }
-
- @Override
- public void onViewCreated(View view, Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- View switchBar = view.findViewById(R.id.switch_bar);
- mSwitch = (Switch) switchBar.findViewById(android.R.id.switch_widget);
- mSwitch.setChecked(mState != DisplayController.COLOR_STATE_DISABLED);
- switchBar.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- int newState = mState != DisplayController.COLOR_STATE_DISABLED
- ? DisplayController.COLOR_STATE_DISABLED
- : DisplayController.COLOR_STATE_ENABLED;
- ContentResolver contentResolver = getContext().getContentResolver();
- if (newState == DisplayController.COLOR_STATE_DISABLED) {
- String tiles = Settings.Secure.getString(contentResolver,
- QSTileHost.TILES_SETTING);
- if (tiles != null) {
- if (tiles.contains(",colors")) {
- tiles = tiles.replace(",colors", "");
- } else if (tiles.contains("colors,")) {
- tiles = tiles.replace("colors,", "");
- }
- Settings.Secure.putString(contentResolver, QSTileHost.TILES_SETTING,
- tiles);
- }
- }
- Settings.Secure.putInt(contentResolver,
- DisplayController.COLOR_STATE, newState);
- }
- });
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- TunerService.get(getContext()).removeTunable(this);
- }
-
- @Override
- public void onTuningChanged(String key, String newValue) {
- if (DisplayController.COLOR_MATRIX_CUSTOM_ENABLED.equals(key)) {
- mCustomEnabled = newValue != null && Integer.parseInt(newValue) != 0;
- mEnableCustomPreference.setChecked(mCustomEnabled);
- mCustomPreference.setEnabled(mCustomEnabled
- && mState != DisplayController.COLOR_STATE_DISABLED);
- updateSelectOptions();
- } else if (DisplayController.COLOR_MATRIX_CUSTOM_VALUES.equals(key)) {
- mCustomValues = newValue;
- if (mCustomValues == null) {
- mCustomValues = DisplayController.toString(DisplayController.IDENTITY_MATRIX);
- }
- mCustomPreference.setValues(mCustomValues);
- updateSelectOptions();
- } else if (DisplayController.COLOR_STATE.equals(key)) {
- mState = newValue != null ? Integer.parseInt(newValue) : 0;
- if (mSwitch != null) {
- mSwitch.setChecked(mState != DisplayController.COLOR_STATE_DISABLED);
- }
- mSelectPreference.setEnabled(mState != DisplayController.COLOR_STATE_DISABLED);
- mEnableCustomPreference.setEnabled(mState != DisplayController.COLOR_STATE_DISABLED);
- mCustomPreference.setEnabled(mCustomEnabled
- && mState != DisplayController.COLOR_STATE_DISABLED);
- } else {
- mCurrentValue = newValue;
- updateSelectOptions();
- }
- }
-
- private void updateSelectOptions() {
- final int N = DisplayController.CUSTOM_INDEX + (mCustomEnabled ? 1 : 0);
- String[] values = new String[N];
- CharSequence[] names = new CharSequence[N];
- CharSequence[] totalNames = DisplayController.getColorTitles(getContext());
- String[] entries = DisplayController.getColorTransforms(getContext());
- entries[DisplayController.CUSTOM_INDEX] = mCustomValues != null ? mCustomValues : "";
- for (int i = 0; i < N; i++) {
- values[i] = entries[i];
- names[i] = totalNames[i];
- }
- mSelectPreference.setEntries(names);
- mSelectPreference.setEntryValues(values);
- int index = 0;
- if (mState == DisplayController.COLOR_STATE_AUTO) {
- index = DisplayController.AUTO_INDEX;
- } else if (mCustomValues != null && Objects.equals(mCurrentValue, mCustomValues)) {
- index = DisplayController.CUSTOM_INDEX;
- } else if (Objects.equals(mCurrentValue, entries[1])) {
- index = 1;
- }
- mSelectPreference.setValueIndex(index);
- mSelectPreference.setSummary("%s");
- return;
- }
-
- private void startRevertTimer() {
- getView().postDelayed(mResetColorMatrix, RESET_DELAY);
- }
-
- private void onApply() {
- Settings.Secure.putString(getContext().getContentResolver(),
- DisplayController.COLOR_MATRIX_CUSTOM_VALUES, mCurrentValue);
- getView().removeCallbacks(mResetColorMatrix);
- }
-
- private void onRevert() {
- getView().removeCallbacks(mResetColorMatrix);
- mResetColorMatrix.run();
- }
-
- private final Runnable mResetColorMatrix = new Runnable() {
- @Override
- public void run() {
- ((DialogFragment) getFragmentManager().findFragmentByTag("RevertWarning")).dismiss();
- Settings.Secure.putString(getContext().getContentResolver(),
- Settings.Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX, null);
- }
- };
-
- private class MatrixPreference extends Preference implements View.OnClickListener {
- private float[] mValues;
-
- public MatrixPreference(Context context) {
- super(context);
- setLayoutResource(R.layout.preference_matrix);
- }
-
- public void setValues(String customValues) {
- String[] strValues = customValues.split(",");
- mValues = new float[strValues.length];
- for (int i = 0; i < mValues.length; i++) {
- mValues[i] = Float.parseFloat(strValues[i]);
- }
- notifyChanged();
- }
-
- @Override
- public void onBindViewHolder(PreferenceViewHolder holder) {
- super.onBindViewHolder(holder);
- bindView(holder.findViewById(R.id.r_group), 0);
- bindView(holder.findViewById(R.id.g_group), 5);
- bindView(holder.findViewById(R.id.b_group), 10);
- holder.findViewById(R.id.apply).setOnClickListener(this);
- }
-
- private void bindView(View view, final int index) {
- SeekBar seekBar = (SeekBar) view.findViewById(com.android.internal.R.id.seekbar);
- seekBar.setMax(1000);
- seekBar.setProgress((int) (1000 * mValues[index]));
- seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
- @Override
- public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
- mValues[index] = progress / 1000f;
- }
-
- @Override
- public void onStartTrackingTouch(SeekBar seekBar) {
- }
-
- @Override
- public void onStopTrackingTouch(SeekBar seekBar) {
- }
- });
- }
-
- @Override
- public void onClick(View v) {
- startRevertTimer();
- Settings.Secure.putString(getContext().getContentResolver(),
- Settings.Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX,
- DisplayController.toString(mValues));
- RevertWarning.show(ColorMatrixFragment.this);
- }
-
- }
-
- public static class RevertWarning extends DialogFragment
- implements DialogInterface.OnClickListener {
-
- public static void show(ColorMatrixFragment fragment) {
- RevertWarning warning = new RevertWarning();
- warning.setTargetFragment(fragment, 0);
- warning.show(fragment.getFragmentManager(), "RevertWarning");
- }
-
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- AlertDialog alertDialog = new AlertDialog.Builder(getContext())
- .setTitle(R.string.color_revert_title)
- .setMessage(R.string.color_revert_message)
- .setPositiveButton(R.string.ok, this)
- .create();
- alertDialog.setCanceledOnTouchOutside(true);
- return alertDialog;
- }
-
- @Override
- public void onCancel(DialogInterface dialog) {
- super.onCancel(dialog);
- ((ColorMatrixFragment) getTargetFragment()).onRevert();
- }
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- ((ColorMatrixFragment) getTargetFragment()).onApply();
- }
- }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/ColorMatrixTile.java b/packages/SystemUI/src/com/android/systemui/tuner/ColorMatrixTile.java
deleted file mode 100644
index d8cf2e2..0000000
--- a/packages/SystemUI/src/com/android/systemui/tuner/ColorMatrixTile.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- * Copyright (c) 2015, 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.tuner;
-
-import android.app.ActivityManager;
-import android.provider.Settings;
-
-import com.android.internal.logging.MetricsProto.MetricsEvent;
-import com.android.systemui.R;
-import com.android.systemui.qs.QSTile;
-import com.android.systemui.statusbar.policy.DisplayController;
-
-import java.util.Objects;
-
-
-public class ColorMatrixTile extends QSTile<QSTile.State> implements DisplayController.Listener {
-
- public static final String COLOR_MATRIX_SPEC = "colors";
-
- private final DisplayController mDisplayController;
-
- private int mIndex;
- private String mCurrentValue;
-
- private boolean mCustomEnabled;
- private String[] mValues;
- private CharSequence[] mValueTitles;
-
- public ColorMatrixTile(Host host) {
- super(host);
- mDisplayController = host.getDisplayController();
- }
-
- @Override
- public void setListening(boolean listening) {
- if (listening) {
- mValues = DisplayController.getColorTransforms(mContext);
- mValueTitles = DisplayController.getColorTitles(mContext);
- mDisplayController.addListener(this);
- } else {
- mDisplayController.removeListener(this);
- }
- }
-
- @Override
- public State newTileState() {
- return new State();
- }
-
- @Override
- protected void handleClick() {
- mIndex++;
- if (mIndex == DisplayController.AUTO_INDEX) {
- mDisplayController.setAuto(true);
- } else {
- mDisplayController.setAuto(false);
- if (!mDisplayController.isCustomEnabled()
- && (mIndex == DisplayController.CUSTOM_INDEX)) {
- mIndex++;
- }
- if (mIndex == mValues.length - 1) {
- mIndex = 0;
- }
- Settings.Secure.putStringForUser(mContext.getContentResolver(),
- Settings.Secure.ACCESSIBILITY_DISPLAY_COLOR_MATRIX, mValues[mIndex],
- ActivityManager.getCurrentUser());
- }
- refreshState();
- }
-
- @Override
- protected void handleUpdateState(State state, Object arg) {
- if (mDisplayController.isAuto()) {
- mIndex = DisplayController.AUTO_INDEX;
- } else if (mDisplayController.isCustomSet()) {
- mIndex = DisplayController.CUSTOM_INDEX;
- } else {
- mIndex = Objects.equals(mDisplayController.getCurrentMatrix(), mValues[1]) ? 1 : 0;
- }
- state.icon = ResourceIcon.get(R.drawable.ic_colorize);
- state.label = mValueTitles[mIndex];
- state.contentDescription = mValueTitles[mIndex];
- }
-
- @Override
- public void onCurrentMatrixChanged() {
- refreshState();
- }
-
- @Override
- public int getMetricsCategory() {
- return MetricsEvent.QS_COLOR_MATRIX;
- }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/NightModeFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/NightModeFragment.java
new file mode 100644
index 0000000..e9650ea
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/tuner/NightModeFragment.java
@@ -0,0 +1,195 @@
+/**
+ * Copyright (c) 2016, 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.tuner;
+
+import android.annotation.Nullable;
+import android.app.UiModeManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.provider.Settings.Secure;
+import android.support.v14.preference.PreferenceFragment;
+import android.support.v14.preference.SwitchPreference;
+import android.support.v7.preference.DropDownPreference;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.Preference.OnPreferenceChangeListener;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Switch;
+
+import com.android.systemui.R;
+import com.android.systemui.statusbar.phone.QSTileHost;
+import com.android.systemui.statusbar.policy.NightModeController;
+import com.android.systemui.statusbar.policy.NightModeController.Listener;
+import com.android.systemui.tuner.TunerService.Tunable;
+
+public class NightModeFragment extends PreferenceFragment implements Tunable,
+ Listener, OnPreferenceChangeListener {
+
+ private static final String TAG = "NightModeFragment";
+
+ public static final String EXTRA_SHOW_NIGHT_MODE = "show_night_mode";
+
+ private static final CharSequence KEY_AUTO = "auto";
+ private static final CharSequence KEY_DARK_THEME = "dark_theme";
+ private static final CharSequence KEY_ADJUST_TINT = "adjust_tint";
+ private static final CharSequence KEY_ADJUST_BRIGHTNESS = "adjust_brightness";
+
+ private Switch mSwitch;
+
+ private NightModeController mNightModeController;
+ private SwitchPreference mAutoSwitch;
+ private SwitchPreference mDarkTheme;
+ private SwitchPreference mAdjustTint;
+ private SwitchPreference mAdjustBrightness;
+ private UiModeManager mUiModeManager;
+
+ @Override
+ public void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ mNightModeController = new NightModeController(getContext());
+ mUiModeManager = getContext().getSystemService(UiModeManager.class);
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ final View view = LayoutInflater.from(getContext()).inflate(
+ R.layout.night_mode_settings, container, false);
+ ((ViewGroup) view).addView(super.onCreateView(inflater, container, savedInstanceState));
+ return view;
+ }
+
+ @Override
+ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
+ final Context context = getPreferenceManager().getContext();
+
+ addPreferencesFromResource(R.xml.night_mode);
+ mAutoSwitch = (SwitchPreference) findPreference(KEY_AUTO);
+ mAutoSwitch.setOnPreferenceChangeListener(this);
+ mDarkTheme = (SwitchPreference) findPreference(KEY_DARK_THEME);
+ mDarkTheme.setOnPreferenceChangeListener(this);
+ mAdjustTint = (SwitchPreference) findPreference(KEY_ADJUST_TINT);
+ mAdjustTint.setOnPreferenceChangeListener(this);
+ mAdjustBrightness = (SwitchPreference) findPreference(KEY_ADJUST_BRIGHTNESS);
+ mAdjustBrightness.setOnPreferenceChangeListener(this);
+ }
+
+ @Override
+ public void onViewCreated(View view, Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+ View switchBar = view.findViewById(R.id.switch_bar);
+ mSwitch = (Switch) switchBar.findViewById(android.R.id.switch_widget);
+ mSwitch.setChecked(mNightModeController.isEnabled());
+ switchBar.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ boolean newState = !mNightModeController.isEnabled();
+ mNightModeController.setNightMode(newState);
+ mSwitch.setChecked(newState);
+ }
+ });
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ mNightModeController.addListener(this);
+ TunerService.get(getContext()).addTunable(this, Secure.BRIGHTNESS_USE_TWILIGHT,
+ NightModeController.NIGHT_MODE_ADJUST_TINT);
+ mDarkTheme.setChecked(mUiModeManager.getNightMode() == UiModeManager.MODE_NIGHT_AUTO);
+ calculateDisabled();
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ mNightModeController.removeListener(this);
+ TunerService.get(getContext()).removeTunable(this);
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ if (mAutoSwitch == preference) {
+ mNightModeController.setAuto((Boolean) newValue);
+ } else if (mDarkTheme == preference) {
+ mUiModeManager.setNightMode(((Boolean) newValue) ? UiModeManager.MODE_NIGHT_AUTO
+ : UiModeManager.MODE_NIGHT_NO);
+ postCalculateDisabled();
+ } else if (mAdjustTint == preference) {
+ mNightModeController.setAdjustTint((Boolean) newValue);
+ postCalculateDisabled();
+ } else if (mAdjustBrightness == preference) {
+ TunerService.get(getContext()).setValue(Secure.BRIGHTNESS_USE_TWILIGHT,
+ ((Boolean) newValue) ? 1 : 0);
+ postCalculateDisabled();
+ } else {
+ return false;
+ }
+ return true;
+ }
+
+ private void postCalculateDisabled() {
+ // Post this because its the easiest way to wait for all state to be calculated.
+ getView().post(new Runnable() {
+ @Override
+ public void run() {
+ calculateDisabled();
+ }
+ });
+ }
+
+ private void calculateDisabled() {
+ int enabledCount = (mDarkTheme.isChecked() ? 1 : 0)
+ + (mAdjustTint.isChecked() ? 1 : 0)
+ + (mAdjustBrightness.isChecked() ? 1 : 0);
+ if (enabledCount == 1) {
+ if (mDarkTheme.isChecked()) {
+ mDarkTheme.setEnabled(false);
+ } else if (mAdjustTint.isChecked()) {
+ mAdjustTint.setEnabled(false);
+ } else {
+ mAdjustBrightness.setEnabled(false);
+ }
+ } else {
+ mDarkTheme.setEnabled(true);
+ mAdjustTint.setEnabled(true);
+ mAdjustBrightness.setEnabled(true);
+ }
+ }
+
+ @Override
+ public void onTuningChanged(String key, String newValue) {
+ if (Secure.BRIGHTNESS_USE_TWILIGHT.equals(key)) {
+ mAdjustBrightness.setChecked(newValue != null && Integer.parseInt(newValue) != 0);
+ } else if (NightModeController.NIGHT_MODE_ADJUST_TINT.equals(key)) {
+ // Default on.
+ mAdjustTint.setChecked(newValue == null || Integer.parseInt(newValue) != 0);
+ }
+ }
+
+ @Override
+ public void onNightModeChanged() {
+ mSwitch.setChecked(mNightModeController.isEnabled());
+ }
+
+ @Override
+ public void onTwilightAutoChanged() {
+ mAutoSwitch.setChecked(mNightModeController.isAuto());
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/NightModeTile.java b/packages/SystemUI/src/com/android/systemui/tuner/NightModeTile.java
new file mode 100644
index 0000000..61135bd
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/tuner/NightModeTile.java
@@ -0,0 +1,99 @@
+/**
+ * Copyright (c) 2016, 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.tuner;
+
+import android.app.ActivityManager;
+import android.content.Intent;
+import android.provider.Settings;
+
+import com.android.internal.logging.MetricsProto.MetricsEvent;
+import com.android.systemui.R;
+import com.android.systemui.qs.QSTile;
+import com.android.systemui.statusbar.policy.NightModeController;
+
+import java.util.Objects;
+
+
+public class NightModeTile extends QSTile<QSTile.State> implements NightModeController.Listener {
+
+ public static final String NIGHT_MODE_SPEC = "night";
+
+ private final NightModeController mNightModeController;
+
+ private int mIndex;
+ private String mCurrentValue;
+
+ private boolean mCustomEnabled;
+ private String[] mValues;
+ private CharSequence[] mValueTitles;
+
+ public NightModeTile(Host host) {
+ super(host);
+ mNightModeController = host.getNightModeController();
+ }
+
+ @Override
+ public void setListening(boolean listening) {
+ if (listening) {
+ mNightModeController.addListener(this);
+ refreshState();
+ } else {
+ mNightModeController.removeListener(this);
+ }
+ }
+
+ @Override
+ public State newTileState() {
+ return new State();
+ }
+
+ @Override
+ public Intent getLongClickIntent() {
+ return new Intent(mContext, TunerActivity.class)
+ .putExtra(NightModeFragment.EXTRA_SHOW_NIGHT_MODE, true);
+ }
+
+ @Override
+ protected void handleClick() {
+ mNightModeController.setNightMode(!mNightModeController.isEnabled());
+ refreshState();
+ }
+
+ @Override
+ protected void handleUpdateState(State state, Object arg) {
+ // TODO: Right now this is just a dropper, needs an actual night icon.
+ boolean enabled = mNightModeController.isEnabled();
+ state.icon = ResourceIcon.get(enabled ? R.drawable.ic_night_mode
+ : R.drawable.ic_night_mode_disabled);
+ state.label = mContext.getString(R.string.night_mode);
+ state.contentDescription = mContext.getString(R.string.night_mode);
+ }
+
+ @Override
+ public void onNightModeChanged() {
+ refreshState();
+ }
+
+ @Override
+ public void onTwilightAutoChanged() {
+ // Don't care.
+ }
+
+ @Override
+ public int getMetricsCategory() {
+ return MetricsEvent.QS_COLOR_MATRIX;
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java
index 4225b48..def597d 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java
@@ -36,7 +36,10 @@
super.onCreate(savedInstanceState);
if (getFragmentManager().findFragmentByTag(TAG_TUNER) == null) {
- getFragmentManager().beginTransaction().replace(R.id.content_frame, new TunerFragment(),
+ boolean showNightMode = getIntent().getBooleanExtra(
+ NightModeFragment.EXTRA_SHOW_NIGHT_MODE, false);
+ getFragmentManager().beginTransaction().replace(R.id.content_frame,
+ showNightMode ? new NightModeFragment() : new TunerFragment(),
TAG_TUNER).commit();
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java
index 9df5368..70f2fdc 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java
@@ -37,8 +37,6 @@
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.systemui.R;
-import static com.android.systemui.BatteryMeterDrawable.SHOW_PERCENT_SETTING;
-
public class TunerFragment extends PreferenceFragment {
private static final String TAG = "TunerFragment";
@@ -51,10 +49,6 @@
private static final int MENU_REMOVE = Menu.FIRST + 1;
- private final SettingObserver mSettingObserver = new SettingObserver();
-
- private SwitchPreference mBatteryPct;
-
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -72,7 +66,6 @@
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
addPreferencesFromResource(R.xml.tuner_prefs);
- mBatteryPct = (SwitchPreference) findPreference(KEY_BATTERY_PCT);
if (Settings.Secure.getInt(getContext().getContentResolver(), SETTING_SEEN_TUNER_WARNING,
0) == 0) {
if (getFragmentManager().findFragmentByTag(WARNING_TAG) == null) {
@@ -85,9 +78,6 @@
public void onResume() {
super.onResume();
getActivity().setTitle(R.string.system_ui_tuner);
- updateBatteryPct();
- getContext().getContentResolver().registerContentObserver(
- System.getUriFor(SHOW_PERCENT_SETTING), false, mSettingObserver);
MetricsLogger.visibility(getContext(), MetricsEvent.TUNER, true);
}
@@ -95,7 +85,6 @@
@Override
public void onPause() {
super.onPause();
- getContext().getContentResolver().unregisterContentObserver(mSettingObserver);
MetricsLogger.visibility(getContext(), MetricsEvent.TUNER, false);
}
@@ -123,35 +112,6 @@
return super.onOptionsItemSelected(item);
}
- private void updateBatteryPct() {
- mBatteryPct.setOnPreferenceChangeListener(null);
- mBatteryPct.setChecked(System.getInt(getContext().getContentResolver(),
- SHOW_PERCENT_SETTING, 0) != 0);
- mBatteryPct.setOnPreferenceChangeListener(mBatteryPctChange);
- }
-
- private final class SettingObserver extends ContentObserver {
- public SettingObserver() {
- super(new Handler());
- }
-
- @Override
- public void onChange(boolean selfChange, Uri uri, int userId) {
- super.onChange(selfChange, uri, userId);
- updateBatteryPct();
- }
- }
-
- private final OnPreferenceChangeListener mBatteryPctChange = new OnPreferenceChangeListener() {
- @Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- final boolean v = (Boolean) newValue;
- MetricsLogger.action(getContext(), MetricsEvent.TUNER_BATTERY_PERCENTAGE, v);
- System.putInt(getContext().getContentResolver(), SHOW_PERCENT_SETTING, v ? 1 : 0);
- return true;
- }
- };
-
public static class TunerWarningFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerSwitch.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerSwitch.java
index 7ad752e..b738136 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/TunerSwitch.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerSwitch.java
@@ -23,7 +23,7 @@
@Override
public void onAttached() {
super.onAttached();
- TunerService.get(getContext()).addTunable(this, getKey());
+ TunerService.get(getContext()).addTunable(this, getKey().split(","));
}
@Override
@@ -39,7 +39,9 @@
@Override
protected boolean persistBoolean(boolean value) {
- Settings.Secure.putString(getContext().getContentResolver(), getKey(), value ? "1" : "0");
+ for (String key : getKey().split(",")) {
+ Settings.Secure.putString(getContext().getContentResolver(), key, value ? "1" : "0");
+ }
return true;
}
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
index 4be6833..388c8b7 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
@@ -2162,8 +2162,13 @@
mIntent = new Intent().setComponent(mComponentName);
mIntent.putExtra(Intent.EXTRA_CLIENT_LABEL,
com.android.internal.R.string.accessibility_binding_label);
- mIntent.putExtra(Intent.EXTRA_CLIENT_INTENT, PendingIntent.getActivity(
- mContext, 0, new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS), 0));
+ final long idendtity = Binder.clearCallingIdentity();
+ try {
+ mIntent.putExtra(Intent.EXTRA_CLIENT_INTENT, PendingIntent.getActivity(
+ mContext, 0, new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS), 0));
+ } finally {
+ Binder.restoreCallingIdentity(idendtity);
+ }
}
setDynamicallyConfigurableProperties(accessibilityServiceInfo);
}
diff --git a/services/core/java/com/android/server/AppOpsService.java b/services/core/java/com/android/server/AppOpsService.java
index 91f58c56..32f2d59 100644
--- a/services/core/java/com/android/server/AppOpsService.java
+++ b/services/core/java/com/android/server/AppOpsService.java
@@ -31,6 +31,7 @@
import java.util.List;
import java.util.Map;
+import android.Manifest;
import android.app.ActivityManager;
import android.app.ActivityThread;
import android.app.AppGlobals;
@@ -67,6 +68,7 @@
import com.android.internal.os.Zygote;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.FastXmlSerializer;
+import com.android.internal.util.Preconditions;
import com.android.internal.util.XmlUtils;
import libcore.util.EmptyArray;
@@ -103,9 +105,10 @@
}
};
- final SparseArray<UidState> mUidStates = new SparseArray<>();
+ private final SparseArray<UidState> mUidStates = new SparseArray<>();
- private final SparseArray<boolean[]> mOpRestrictions = new SparseArray<boolean[]>();
+ /** These are app op restrictions imposed per user from various parties */
+ private final ArrayMap<IBinder, SparseArray<boolean[]>> mOpUserRestrictions = new ArrayMap<>();
private static final class UidState {
public final int uid;
@@ -1263,17 +1266,21 @@
private boolean isOpRestricted(int uid, int code, String packageName) {
int userHandle = UserHandle.getUserId(uid);
- boolean[] opRestrictions = mOpRestrictions.get(userHandle);
- if ((opRestrictions != null) && opRestrictions[code]) {
- if (AppOpsManager.opAllowSystemBypassRestriction(code)) {
- synchronized (this) {
- Ops ops = getOpsLocked(uid, packageName, true);
- if ((ops != null) && ops.isPrivileged) {
- return false;
+ final int restrictionSetCount = mOpUserRestrictions.size();
+ for (int i = 0; i < restrictionSetCount; i++) {
+ SparseArray<boolean[]> perUserRestrictions = mOpUserRestrictions.valueAt(i);
+ boolean[] opRestrictions = perUserRestrictions.get(userHandle);
+ if (opRestrictions != null && opRestrictions[code]) {
+ if (AppOpsManager.opAllowSystemBypassRestriction(code)) {
+ synchronized (this) {
+ Ops ops = getOpsLocked(uid, packageName, true);
+ if ((ops != null) && ops.isPrivileged) {
+ return false;
+ }
}
}
+ return true;
}
- return true;
}
return false;
}
@@ -2049,27 +2056,123 @@
}
@Override
- public void setUserRestrictions(Bundle restrictions, int userHandle) throws RemoteException {
+ public void setUserRestrictions(Bundle restrictions, IBinder token, int userHandle) {
checkSystemUid("setUserRestrictions");
- boolean[] opRestrictions = mOpRestrictions.get(userHandle);
- if (opRestrictions == null) {
- opRestrictions = new boolean[AppOpsManager._NUM_OP];
- mOpRestrictions.put(userHandle, opRestrictions);
- }
+ Preconditions.checkNotNull(token);
+ final boolean[] opRestrictions = getOrCreateUserRestrictionsForToken(token, userHandle);
for (int i = 0; i < opRestrictions.length; ++i) {
String restriction = AppOpsManager.opToRestriction(i);
- if (restriction != null) {
- opRestrictions[i] = restrictions.getBoolean(restriction, false);
- } else {
- opRestrictions[i] = false;
+ final boolean restricted = restriction != null
+ && restrictions.getBoolean(restriction, false);
+ setUserRestrictionNoCheck(i, restricted, token, userHandle);
+ }
+ }
+
+ @Override
+ public void setUserRestriction(int code, boolean restricted, IBinder token, int userHandle) {
+ if (Binder.getCallingPid() != Process.myPid()) {
+ mContext.enforcePermission(Manifest.permission.MANAGE_APP_OPS_RESTRICTIONS,
+ Binder.getCallingPid(), Binder.getCallingUid(), null);
+ }
+ if (userHandle != UserHandle.getCallingUserId()) {
+ if (mContext.checkCallingOrSelfPermission(Manifest.permission
+ .INTERACT_ACROSS_USERS_FULL) != PackageManager.PERMISSION_GRANTED
+ && mContext.checkCallingOrSelfPermission(Manifest.permission
+ .INTERACT_ACROSS_USERS) != PackageManager.PERMISSION_GRANTED) {
+ throw new SecurityException("Need INTERACT_ACROSS_USERS_FULL or"
+ + " INTERACT_ACROSS_USERS to interact cross user ");
}
}
+ verifyIncomingOp(code);
+ Preconditions.checkNotNull(token);
+ setUserRestrictionNoCheck(code, restricted, token, userHandle);
+ }
+
+ private void setUserRestrictionNoCheck(int code, boolean restricted, IBinder token,
+ int userHandle) {
+ final boolean[] opRestrictions = getOrCreateUserRestrictionsForToken(token, userHandle);
+ if (opRestrictions[code] == restricted) {
+ return;
+ }
+ opRestrictions[code] = restricted;
+ if (!restricted) {
+ pruneUserRestrictionsForToken(token, userHandle);
+ }
+
+ final ArrayList<Callback> clonedCallbacks;
+ synchronized (this) {
+ ArrayList<Callback> callbacks = mOpModeWatchers.get(code);
+ if (callbacks == null) {
+ return;
+ }
+ clonedCallbacks = new ArrayList<>(callbacks);
+ }
+
+ // There are components watching for mode changes such as window manager
+ // and location manager which are in our process. The callbacks in these
+ // components may require permissions our remote caller does not have.
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ final int callbackCount = clonedCallbacks.size();
+ for (int i = 0; i < callbackCount; i++) {
+ Callback callback = clonedCallbacks.get(i);
+ try {
+ callback.mCallback.opChanged(code, -1, null);
+ } catch (RemoteException e) {
+ Log.w(TAG, "Error dispatching op op change", e);
+ }
+ }
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
@Override
public void removeUser(int userHandle) throws RemoteException {
checkSystemUid("removeUser");
- mOpRestrictions.remove(userHandle);
+ final int tokenCount = mOpUserRestrictions.size();
+ for (int i = tokenCount - 1; i >= 0; i--) {
+ SparseArray<boolean[]> opRestrictions = mOpUserRestrictions.valueAt(i);
+ if (opRestrictions != null) {
+ opRestrictions.remove(userHandle);
+ if (opRestrictions.size() <= 0) {
+ mOpUserRestrictions.removeAt(i);
+ }
+ }
+ }
+ }
+
+
+ private void pruneUserRestrictionsForToken(IBinder token, int userHandle) {
+ SparseArray<boolean[]> perTokenRestrictions = mOpUserRestrictions.get(token);
+ if (perTokenRestrictions != null) {
+ final boolean[] opRestrictions = perTokenRestrictions.get(userHandle);
+ if (opRestrictions != null) {
+ for (boolean restriction : opRestrictions) {
+ if (restriction) {
+ return;
+ }
+ }
+ perTokenRestrictions.remove(userHandle);
+ if (perTokenRestrictions.size() <= 0) {
+ mOpUserRestrictions.remove(token);
+ }
+ }
+ }
+ }
+
+ private boolean[] getOrCreateUserRestrictionsForToken(IBinder token, int userHandle) {
+ SparseArray<boolean[]> perTokenRestrictions = mOpUserRestrictions.get(token);
+ if (perTokenRestrictions == null) {
+ perTokenRestrictions = new SparseArray<>();
+ mOpUserRestrictions.put(token, perTokenRestrictions);
+ }
+ boolean[] opRestrictions = perTokenRestrictions.get(userHandle);
+ if (opRestrictions == null) {
+ opRestrictions = new boolean[AppOpsManager._NUM_OP];
+ perTokenRestrictions.put(userHandle, opRestrictions);
+ }
+ return opRestrictions;
}
private void checkSystemUid(String function) {
diff --git a/services/core/java/com/android/server/HardwarePropertiesManagerService.java b/services/core/java/com/android/server/HardwarePropertiesManagerService.java
new file mode 100644
index 0000000..cc21e99
--- /dev/null
+++ b/services/core/java/com/android/server/HardwarePropertiesManagerService.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (C) 2016 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.server;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.os.Binder;
+import android.os.CpuUsageInfo;
+import android.os.IHardwarePropertiesManager;
+
+import java.util.Arrays;
+
+/**
+ * Service for {@link HardwarePropertiesManager}
+ */
+public class HardwarePropertiesManagerService extends IHardwarePropertiesManager.Stub {
+
+ private static native void nativeInit();
+
+ private static native float[] nativeGetFanSpeeds();
+ private static native float[] nativeGetDeviceTemperatures(int type);
+ private static native CpuUsageInfo[] nativeGetCpuUsages();
+
+ private final Context mContext;
+ private final Object mLock = new Object();
+
+ public HardwarePropertiesManagerService(Context context) {
+ mContext = context;
+ synchronized (mLock) {
+ nativeInit();
+ }
+ }
+
+ @Override
+ public float[] getDeviceTemperatures(String callingPackage, int type) throws SecurityException {
+ enforceHardwarePropertiesRetrievalAllowed(callingPackage);
+ synchronized (mLock) {
+ return nativeGetDeviceTemperatures(type);
+ }
+ }
+
+ @Override
+ public CpuUsageInfo[] getCpuUsages(String callingPackage) throws SecurityException {
+ enforceHardwarePropertiesRetrievalAllowed(callingPackage);
+ synchronized (mLock) {
+ return nativeGetCpuUsages();
+ }
+ }
+
+ @Override
+ public float[] getFanSpeeds(String callingPackage) throws SecurityException {
+ enforceHardwarePropertiesRetrievalAllowed(callingPackage);
+ synchronized (mLock) {
+ return nativeGetFanSpeeds();
+ }
+ }
+
+ /**
+ * Throws SecurityException if the calling package is not allowed to retrieve information
+ * provided by the service.
+ *
+ * @param callingPackage The calling package name.
+ *
+ * @throws SecurityException if a non profile or device owner tries to retrieve information
+ * provided by the service.
+ */
+ private void enforceHardwarePropertiesRetrievalAllowed(String callingPackage)
+ throws SecurityException {
+ final PackageManager pm = mContext.getPackageManager();
+ try {
+ final int uid = pm.getPackageUid(callingPackage, 0);
+ if (Binder.getCallingUid() != uid) {
+ throw new SecurityException("The caller has faked the package name.");
+ }
+ } catch (PackageManager.NameNotFoundException e) {
+ throw new SecurityException("The caller has faked the package name.");
+ }
+
+ final DevicePolicyManager dpm = mContext.getSystemService(DevicePolicyManager.class);
+ if (!dpm.isDeviceOwnerApp(callingPackage) && !dpm.isProfileOwnerApp(callingPackage)) {
+ throw new SecurityException("The caller is not a device or profile owner.");
+ }
+ }
+}
diff --git a/services/core/java/com/android/server/LocationManagerService.java b/services/core/java/com/android/server/LocationManagerService.java
index 14ddc36..9884a70 100644
--- a/services/core/java/com/android/server/LocationManagerService.java
+++ b/services/core/java/com/android/server/LocationManagerService.java
@@ -214,7 +214,7 @@
private int mCurrentUserId = UserHandle.USER_SYSTEM;
private int[] mCurrentUserProfiles = new int[] { UserHandle.USER_SYSTEM };
- private GnssLocationProvider.GpsSystemInfoProvider mGpsSystemInfoProvider;
+ private GnssLocationProvider.GnssSystemInfoProvider mGnssSystemInfoProvider;
public LocationManagerService(Context context) {
super();
@@ -462,7 +462,7 @@
// Create a gps location provider
GnssLocationProvider gnssProvider = new GnssLocationProvider(mContext, this,
mLocationHandler.getLooper());
- mGpsSystemInfoProvider = gnssProvider.getGpsSystemInfoProvider();
+ mGnssSystemInfoProvider = gnssProvider.getGnssSystemInfoProvider();
mGnssStatusProvider = gnssProvider.getGnssStatusProvider();
mNetInitiatedListener = gnssProvider.getNetInitiatedListener();
addProviderLocked(gnssProvider);
@@ -990,12 +990,12 @@
}
/**
- * Returns the system information of the GPS hardware.
+ * Returns the system information of the GNSS hardware.
*/
@Override
- public int getGpsYearOfHardware() {
+ public int getGnssYearOfHardware() {
if (mGnssNavigationMessageProvider != null) {
- return mGpsSystemInfoProvider.getGpsYearOfHardware();
+ return mGnssSystemInfoProvider.getGnssYearOfHardware();
} else {
return 0;
}
diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java
index 163b9be..37f2425 100644
--- a/services/core/java/com/android/server/accounts/AccountManagerService.java
+++ b/services/core/java/com/android/server/accounts/AccountManagerService.java
@@ -1734,7 +1734,7 @@
private boolean accountExistsCacheLocked(UserAccounts accounts, Account account) {
if (accounts.accountCache.containsKey(account.type)) {
- for (Account acc : getUserAccountsForCaller().accountCache.get(account.type)) {
+ for (Account acc : accounts.accountCache.get(account.type)) {
if (acc.name.equals(account.name)) {
return true;
}
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 337f749..8c04fbc 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -273,6 +273,7 @@
import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT;
import static android.provider.Settings.Global.DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES;
import static android.provider.Settings.Global.DEVELOPMENT_FORCE_RTL;
+import static android.provider.Settings.Global.LENIENT_BACKGROUND_CHECK;
import static android.provider.Settings.Global.WAIT_FOR_DEBUGGER;
import static android.provider.Settings.System.FONT_SCALE;
import static com.android.internal.util.XmlUtils.readBooleanAttribute;
@@ -1290,6 +1291,7 @@
String mOrigDebugApp = null;
boolean mOrigWaitForDebugger = false;
boolean mAlwaysFinishActivities = false;
+ boolean mLenientBackgroundCheck = false;
boolean mForceResizableActivities;
boolean mSupportsFreeformWindowManagement;
boolean mSupportsPictureInPicture;
@@ -7490,7 +7492,16 @@
int checkAllowBackgroundLocked(int uid, String packageName, int callingPid) {
UidRecord uidRec = mActiveUids.get(uid);
- if (uidRec == null || uidRec.idle) {
+ if (!mLenientBackgroundCheck) {
+ if (uidRec == null
+ || uidRec.curProcState >= ActivityManager.PROCESS_STATE_IMPORTANT_BACKGROUND) {
+ if (mAppOpsService.noteOperation(AppOpsManager.OP_RUN_IN_BACKGROUND, uid,
+ packageName) != AppOpsManager.MODE_ALLOWED) {
+ return ActivityManager.APP_START_MODE_DELAYED;
+ }
+ }
+
+ } else if (uidRec == null || uidRec.idle) {
if (callingPid >= 0) {
ProcessRecord proc;
synchronized (mPidsSelfLocked) {
@@ -11376,12 +11387,36 @@
enforceCallingPermission(android.Manifest.permission.SET_ALWAYS_FINISH,
"setAlwaysFinish()");
- Settings.Global.putInt(
- mContext.getContentResolver(),
- Settings.Global.ALWAYS_FINISH_ACTIVITIES, enabled ? 1 : 0);
+ long ident = Binder.clearCallingIdentity();
+ try {
+ Settings.Global.putInt(
+ mContext.getContentResolver(),
+ Settings.Global.ALWAYS_FINISH_ACTIVITIES, enabled ? 1 : 0);
- synchronized (this) {
- mAlwaysFinishActivities = enabled;
+ synchronized (this) {
+ mAlwaysFinishActivities = enabled;
+ }
+ } finally {
+ Binder.restoreCallingIdentity(ident);
+ }
+ }
+
+ @Override
+ public void setLenientBackgroundCheck(boolean enabled) {
+ enforceCallingPermission(android.Manifest.permission.SET_PROCESS_LIMIT,
+ "setLenientBackgroundCheck()");
+
+ long ident = Binder.clearCallingIdentity();
+ try {
+ Settings.Global.putInt(
+ mContext.getContentResolver(),
+ Settings.Global.LENIENT_BACKGROUND_CHECK, enabled ? 1 : 0);
+
+ synchronized (this) {
+ mLenientBackgroundCheck = enabled;
+ }
+ } finally {
+ Binder.restoreCallingIdentity(ident);
}
}
@@ -12278,6 +12313,8 @@
final boolean waitForDebugger = Settings.Global.getInt(resolver, WAIT_FOR_DEBUGGER, 0) != 0;
final boolean alwaysFinishActivities =
Settings.Global.getInt(resolver, ALWAYS_FINISH_ACTIVITIES, 0) != 0;
+ final boolean lenientBackgroundCheck =
+ Settings.Global.getInt(resolver, LENIENT_BACKGROUND_CHECK, 0) != 0;
final boolean forceRtl = Settings.Global.getInt(resolver, DEVELOPMENT_FORCE_RTL, 0) != 0;
final boolean forceResizable = Settings.Global.getInt(
resolver, DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES, 0) != 0;
@@ -12295,6 +12332,7 @@
mDebugApp = mOrigDebugApp = debugApp;
mWaitForDebugger = mOrigWaitForDebugger = waitForDebugger;
mAlwaysFinishActivities = alwaysFinishActivities;
+ mLenientBackgroundCheck = lenientBackgroundCheck;
mForceResizableActivities = forceResizable;
mWindowManager.setForceResizableTasks(mForceResizableActivities);
mSupportsFreeformWindowManagement = freeformWindowManagement || forceResizable;
@@ -14074,8 +14112,9 @@
}
}
if (dumpPackage == null) {
- if (mAlwaysFinishActivities || mController != null) {
+ if (mAlwaysFinishActivities || mLenientBackgroundCheck || mController != null) {
pw.println(" mAlwaysFinishActivities=" + mAlwaysFinishActivities
+ + " mLenientBackgroundCheck=" + mLenientBackgroundCheck
+ " mController=" + mController);
}
if (dumpAll) {
@@ -16960,7 +16999,6 @@
case Process.ROOT_UID:
case Process.SYSTEM_UID:
case Process.PHONE_UID:
- case Process.SHELL_UID:
case Process.BLUETOOTH_UID:
case Process.NFC_UID:
isCallerSystem = true;
diff --git a/services/core/java/com/android/server/am/ActivityManagerShellCommand.java b/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
index 8c99739..0253976 100644
--- a/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
+++ b/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
@@ -62,6 +62,8 @@
return runUntrackAssociations(pw);
case "is-user-stopped":
return runIsUserStopped(pw);
+ case "lenient-background-check":
+ return runLenientBackgroundCheck(pw);
default:
return handleDefaultCommands(cmd);
}
@@ -152,6 +154,22 @@
return 0;
}
+ int runLenientBackgroundCheck(PrintWriter pw) throws RemoteException {
+ String arg = getNextArg();
+ if (arg != null) {
+ boolean state = Boolean.valueOf(arg) || "1".equals(arg);
+ mInterface.setLenientBackgroundCheck(state);
+ }
+ synchronized (mInternal) {
+ if (mInternal.mLenientBackgroundCheck) {
+ pw.println("Lenient background check enabled");
+ } else {
+ pw.println("Lenient background check disabled");
+ }
+ }
+ return 0;
+ }
+
@Override
public void onHelp() {
PrintWriter pw = getOutPrintWriter();
@@ -203,6 +221,8 @@
pw.println(" Disable and clear association tracking.");
pw.println(" is-user-stopped <USER_ID>");
pw.println(" returns whether <USER_ID> has been stopped or not");
+ pw.println(" lenient-background-check [<true|false>]");
+ pw.println(" optionally controls lenient background check mode, returns current mode.");
}
}
}
diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java
index 509b1bb..acde10f 100644
--- a/services/core/java/com/android/server/am/ActivityStack.java
+++ b/services/core/java/com/android/server/am/ActivityStack.java
@@ -1434,10 +1434,12 @@
if (mStackId == DOCKED_STACK_ID) {
// Docked stack is always visible, except in the case where the top running activity
- // task in the focus stack doesn't support any form of resizing.
+ // task in the focus stack doesn't support any form of resizing but we show it for the
+ // home task even though it's not resizable.
final ActivityRecord r = focusedStack.topRunningActivityLocked();
final TaskRecord task = r != null ? r.task : null;
- return task == null || task.canGoInDockedStack() ? STACK_VISIBLE : STACK_INVISIBLE;
+ return task == null || task.canGoInDockedStack() || task.isHomeTask() ? STACK_VISIBLE
+ : STACK_INVISIBLE;
}
// Find the first stack below focused stack that actually got something visible.
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index c143474..9562f94 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -400,7 +400,7 @@
// The default minimal size that will be used if the activity doesn't specify its minimal size.
// It will be calculated when the default display gets added.
- private int mDefaultMinimalSizeOfResizeableTask = -1;
+ int mDefaultMinimalSizeOfResizeableTask = -1;
// Whether tasks have moved and we need to rank the tasks before next OOM scoring
private boolean mTaskLayersChanged = true;
@@ -2039,8 +2039,6 @@
return true;
}
- adjustForMinimalTaskDimensions(task, bounds);
-
// If this is a forced resize, let it go through even if the bounds is not changing,
// as we might need a relayout due to surface size change (to/from fullscreen).
final boolean forced = (resizeMode & RESIZE_MODE_FORCED) != 0;
@@ -2074,7 +2072,7 @@
// to be relaunched due to configuration change.
boolean kept = true;
if (overrideConfig != null) {
- ActivityRecord r = task.topRunningActivityLocked();
+ final ActivityRecord r = task.topRunningActivityLocked();
if (r != null) {
final ActivityStack stack = task.stack;
kept = stack.ensureActivityConfigurationLocked(r, 0, preserveWindow);
@@ -2085,44 +2083,12 @@
}
}
}
- mWindowManager.resizeTask(task.taskId, bounds, task.mOverrideConfig, kept, forced);
+ mWindowManager.resizeTask(task.taskId, task.mBounds, task.mOverrideConfig, kept, forced);
Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER);
return kept;
}
- private void adjustForMinimalTaskDimensions(TaskRecord task, Rect bounds) {
- if (bounds == null) {
- return;
- }
- int minimalSize = task.mMinimalSize == -1 ? mDefaultMinimalSizeOfResizeableTask
- : task.mMinimalSize;
- final boolean adjustWidth = minimalSize > bounds.width();
- final boolean adjustHeight = minimalSize > bounds.height();
- if (!(adjustWidth || adjustHeight)) {
- return;
- }
- Rect taskBounds = task.mBounds;
- if (adjustWidth) {
- if (taskBounds != null && bounds.right == taskBounds.right) {
- bounds.left = bounds.right - minimalSize;
- } else {
- // Either left bounds match, or neither match, or the previous bounds were
- // fullscreen and we default to keeping left.
- bounds.right = bounds.left + minimalSize;
- }
- }
- if (adjustHeight) {
- if (taskBounds != null && bounds.bottom == taskBounds.bottom) {
- bounds.top = bounds.bottom - minimalSize;
- } else {
- // Either top bounds match, or neither match, or the previous bounds were
- // fullscreen and we default to keeping top.
- bounds.bottom = bounds.top + minimalSize;
- }
- }
- }
-
ActivityStack createStackOnDisplay(int stackId, int displayId, boolean onTop) {
ActivityDisplay activityDisplay = mActivityDisplays.get(displayId);
if (activityDisplay == null) {
diff --git a/services/core/java/com/android/server/am/TaskRecord.java b/services/core/java/com/android/server/am/TaskRecord.java
index 16fd909..37a549a 100644
--- a/services/core/java/com/android/server/am/TaskRecord.java
+++ b/services/core/java/com/android/server/am/TaskRecord.java
@@ -243,6 +243,8 @@
// Bounds of the Task. null for fullscreen tasks.
Rect mBounds = null;
+ private final Rect mTmpStableBounds = new Rect();
+ private final Rect mTmpNonDecorBounds = new Rect();
private final Rect mTmpRect = new Rect();
private final Rect mTmpRect2 = new Rect();
@@ -1313,6 +1315,38 @@
return task;
}
+ private void adjustForMinimalTaskDimensions(Rect bounds) {
+ if (bounds == null) {
+ return;
+ }
+ final int minimalSize = mMinimalSize == -1
+ ? mService.mStackSupervisor.mDefaultMinimalSizeOfResizeableTask : mMinimalSize;
+ final boolean adjustWidth = minimalSize > bounds.width();
+ final boolean adjustHeight = minimalSize > bounds.height();
+ if (!(adjustWidth || adjustHeight)) {
+ return;
+ }
+
+ if (adjustWidth) {
+ if (mBounds != null && bounds.right == mBounds.right) {
+ bounds.left = bounds.right - minimalSize;
+ } else {
+ // Either left bounds match, or neither match, or the previous bounds were
+ // fullscreen and we default to keeping left.
+ bounds.right = bounds.left + minimalSize;
+ }
+ }
+ if (adjustHeight) {
+ if (mBounds != null && bounds.bottom == mBounds.bottom) {
+ bounds.top = bounds.bottom - minimalSize;
+ } else {
+ // Either top bounds match, or neither match, or the previous bounds were
+ // fullscreen and we default to keeping top.
+ bounds.bottom = bounds.top + minimalSize;
+ }
+ }
+ }
+
/**
* Update task's override configuration based on the bounds.
* @param bounds The bounds of the task.
@@ -1345,20 +1379,17 @@
mBounds = null;
mOverrideConfig = Configuration.EMPTY;
} else {
+ mTmpRect.set(bounds);
+ adjustForMinimalTaskDimensions(mTmpRect);
if (mBounds == null) {
- mBounds = new Rect(bounds);
+ mBounds = new Rect(mTmpRect);
} else {
- mBounds.set(bounds);
+ mBounds.set(mTmpRect);
}
if (stack == null || StackId.persistTaskBounds(stack.mStackId)) {
mLastNonFullscreenBounds = mBounds;
}
-
- // Stable insets need to be subtracted because we also subtract it in the fullscreen
- // configuration.
- mTmpRect.set(bounds);
- subtractStableInsets(mTmpRect, insetBounds != null ? insetBounds : mTmpRect);
- mOverrideConfig = calculateOverrideConfig(mTmpRect);
+ mOverrideConfig = calculateOverrideConfig(mTmpRect, insetBounds);
}
if (mFullscreen != oldFullscreen) {
@@ -1368,6 +1399,16 @@
return !mOverrideConfig.equals(oldConfig) ? mOverrideConfig : null;
}
+ private void subtractNonDecorInsets(Rect inOutBounds, Rect inInsetBounds) {
+ mTmpRect2.set(inInsetBounds);
+ mService.mWindowManager.subtractNonDecorInsets(mTmpRect2);
+ int leftInset = mTmpRect2.left - inInsetBounds.left;
+ int topInset = mTmpRect2.top - inInsetBounds.top;
+ int rightInset = inInsetBounds.right - mTmpRect2.right;
+ int bottomInset = inInsetBounds.bottom - mTmpRect2.bottom;
+ inOutBounds.inset(leftInset, topInset, rightInset, bottomInset);
+ }
+
private void subtractStableInsets(Rect inOutBounds, Rect inInsetBounds) {
mTmpRect2.set(inInsetBounds);
mService.mWindowManager.subtractStableInsets(mTmpRect2);
@@ -1378,23 +1419,39 @@
inOutBounds.inset(leftInset, topInset, rightInset, bottomInset);
}
- Configuration calculateOverrideConfig(Rect bounds) {
+ private Configuration calculateOverrideConfig(Rect bounds, Rect insetBounds) {
+ mTmpNonDecorBounds.set(bounds);
+ mTmpStableBounds.set(bounds);
+ subtractNonDecorInsets(
+ mTmpNonDecorBounds, insetBounds != null ? insetBounds : bounds);
+ subtractStableInsets(
+ mTmpStableBounds, insetBounds != null ? insetBounds : bounds);
+
+ // For calculating screenWidthDp, screenWidthDp, we use the stable inset screen area,
+ // i.e. the screen area without the system bars.
final Configuration serviceConfig = mService.mConfiguration;
final Configuration config = new Configuration(Configuration.EMPTY);
// TODO(multidisplay): Update Dp to that of display stack is on.
final float density = serviceConfig.densityDpi * DisplayMetrics.DENSITY_DEFAULT_SCALE;
config.screenWidthDp =
- Math.min((int)(bounds.width() / density), serviceConfig.screenWidthDp);
+ Math.min((int)(mTmpStableBounds.width() / density), serviceConfig.screenWidthDp);
config.screenHeightDp =
- Math.min((int)(bounds.height() / density), serviceConfig.screenHeightDp);
- config.smallestScreenWidthDp =
- Math.min(config.screenWidthDp, config.screenHeightDp);
+ Math.min((int)(mTmpStableBounds.height() / density), serviceConfig.screenHeightDp);
+ config.smallestScreenWidthDp = Math.min(config.screenWidthDp, config.screenHeightDp);
+
+ // TODO: Orientation?
config.orientation = (config.screenWidthDp <= config.screenHeightDp)
? Configuration.ORIENTATION_PORTRAIT
: Configuration.ORIENTATION_LANDSCAPE;
+
+ // For calculating screen layout, we need to use the non-decor inset screen area for the
+ // calculation for compatibility reasons, i.e. screen area without system bars that could
+ // never go away in Honeycomb.
+ final int compatScreenWidthDp = (int)(mTmpNonDecorBounds.width() / density);
+ final int compatScreenHeightDp = (int)(mTmpNonDecorBounds.height() / density);
final int sl = Configuration.resetScreenLayout(serviceConfig.screenLayout);
- int longSize = Math.max(config.screenWidthDp, config.screenHeightDp);
- int shortSize = Math.min(config.screenWidthDp, config.screenHeightDp);
+ final int longSize = Math.max(compatScreenHeightDp, compatScreenWidthDp);
+ final int shortSize = Math.min(compatScreenHeightDp, compatScreenWidthDp);
config.screenLayout = Configuration.reduceScreenLayout(sl, longSize, shortSize);
return config;
}
diff --git a/services/core/java/com/android/server/content/SyncManager.java b/services/core/java/com/android/server/content/SyncManager.java
index 0d97434..f7db1f7 100644
--- a/services/core/java/com/android/server/content/SyncManager.java
+++ b/services/core/java/com/android/server/content/SyncManager.java
@@ -453,48 +453,10 @@
}
}
}
- ensureDefaultPeriodicSyncsH();
}
});
}
- private void ensureDefaultPeriodicSyncsH() {
-
- long defaultPeriod = SyncStorageEngine.DEFAULT_POLL_FREQUENCY_SECONDS;
- long defaultFlex = SyncStorageEngine.calculateDefaultFlexTime(defaultPeriod);
-
- List<AuthorityInfo> authorities = mSyncStorageEngine.getAllAuthorities();
- List<SyncOperation> syncs = getAllPendingSyncsFromCache();
- for (AuthorityInfo authority: authorities) {
- boolean foundPeriodicSync = false;
- for (SyncOperation op: syncs) {
- if (op.isPeriodic && authority.target.matchesSpec(op.target)) {
- foundPeriodicSync = true;
- break;
- }
- }
- if (!foundPeriodicSync) {
- EndPoint target = authority.target;
- final RegisteredServicesCache.ServiceInfo<SyncAdapterType>
- syncAdapterInfo = mSyncAdapters.getServiceInfo(
- SyncAdapterType.newKey(
- target.provider, target.account.type),
- target.userId);
- if (syncAdapterInfo == null) {
- continue;
- }
- scheduleSyncOperationH(
- new SyncOperation(target, syncAdapterInfo.uid,
- syncAdapterInfo.componentName.getPackageName(),
- SyncOperation.REASON_PERIODIC, SyncStorageEngine.SOURCE_PERIODIC,
- new Bundle(), syncAdapterInfo.type.allowParallelSyncs(),
- true /* periodic */, SyncOperation.NO_JOB_ID, defaultPeriod * 1000L,
- defaultFlex * 1000L)
- );
- }
- }
- }
-
private synchronized void verifyJobScheduler() {
if (mJobScheduler != null) {
return;
@@ -2271,6 +2233,7 @@
void checkIfDeviceReady() {
if (mProvisioned && mBootCompleted) {
synchronized(this) {
+ mSyncStorageEngine.restoreAllPeriodicSyncs();
// Dispatch any stashed messages.
obtainMessage(MESSAGE_RELEASE_MESSAGES_FROM_QUEUE).sendToTarget();
}
@@ -2622,7 +2585,6 @@
}
if (mBootCompleted) {
doDatabaseCleanup();
- mSyncStorageEngine.restoreAllPeriodicSyncs();
}
AccountAndUser[] accounts = mRunningAccounts;
diff --git a/services/core/java/com/android/server/content/SyncStorageEngine.java b/services/core/java/com/android/server/content/SyncStorageEngine.java
index cefaa8d..bc3fc6a 100644
--- a/services/core/java/com/android/server/content/SyncStorageEngine.java
+++ b/services/core/java/com/android/server/content/SyncStorageEngine.java
@@ -80,7 +80,7 @@
private static final String XML_TAG_LISTEN_FOR_TICKLES = "listenForTickles";
/** Default time for a periodic sync. */
- static final long DEFAULT_POLL_FREQUENCY_SECONDS = 60 * 60 * 24; // One day
+ private static final long DEFAULT_POLL_FREQUENCY_SECONDS = 60 * 60 * 24; // One day
/** Percentage of period that is flex by default, if no flexMillis is set. */
private static final double DEFAULT_FLEX_PERCENT_SYNC = 0.04;
@@ -857,16 +857,6 @@
}
}
- List<AuthorityInfo> getAllAuthorities() {
- List<AuthorityInfo> authorities = new ArrayList<AuthorityInfo>();
- synchronized (mAuthorities) {
- for (int i = 0; i < mAuthorities.size(); i++) {
- authorities.add(mAuthorities.valueAt(i));
- }
- }
- return authorities;
- }
-
/**
* Returns true if there is currently a sync operation being actively processed for the given
* target.
@@ -1500,6 +1490,9 @@
if (authority.ident > highestAuthorityId) {
highestAuthorityId = authority.ident;
}
+ } else {
+ EventLog.writeEvent(0x534e4554, "26513719", -1,
+ "Malformed authority");
}
} else if (XML_TAG_LISTEN_FOR_TICKLES.equals(tagName)) {
parseListenForTickles(parser);
diff --git a/services/core/java/com/android/server/display/AutomaticBrightnessController.java b/services/core/java/com/android/server/display/AutomaticBrightnessController.java
index 1908f72..5c80d04 100644
--- a/services/core/java/com/android/server/display/AutomaticBrightnessController.java
+++ b/services/core/java/com/android/server/display/AutomaticBrightnessController.java
@@ -60,22 +60,8 @@
// non-zero, which in turn ensures that the total weight is non-zero.
private static final long AMBIENT_LIGHT_PREDICTION_TIME_MILLIS = 100;
- // If true, enables the use of the current time as an auto-brightness adjustment.
- // The basic idea here is to expand the dynamic range of auto-brightness
- // when it is especially dark outside. The light sensor tends to perform
- // poorly at low light levels so we compensate for it by making an
- // assumption about the environment.
- private static final boolean USE_TWILIGHT_ADJUSTMENT =
- PowerManager.useTwilightAdjustmentFeature();
-
// Specifies the maximum magnitude of the time of day adjustment.
- private static final float TWILIGHT_ADJUSTMENT_MAX_GAMMA = 1.5f;
-
- // The amount of time after or before sunrise over which to start adjusting
- // the gamma. We want the change to happen gradually so that it is below the
- // threshold of perceptibility and so that the adjustment has maximum effect
- // well after dusk.
- private static final long TWILIGHT_ADJUSTMENT_TIME = DateUtils.HOUR_IN_MILLIS * 2;
+ private static final float TWILIGHT_ADJUSTMENT_MAX_GAMMA = 1f;
// Debounce for sampling user-initiated changes in display brightness to ensure
// the user is satisfied with the result before storing the sample.
@@ -193,6 +179,8 @@
private int mBrightnessAdjustmentSampleOldBrightness;
private float mBrightnessAdjustmentSampleOldGamma;
+ private boolean mUseTwilight;
+
public AutomaticBrightnessController(Callbacks callbacks, Looper looper,
SensorManager sensorManager, Spline autoBrightnessSpline, int lightSensorWarmUpTime,
int brightnessMin, int brightnessMax, float dozeScaleFactor,
@@ -221,10 +209,6 @@
if (!DEBUG_PRETEND_LIGHT_SENSOR_ABSENT) {
mLightSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
}
-
- if (USE_TWILIGHT_ADJUSTMENT) {
- mTwilight.registerListener(mTwilightListener, mHandler);
- }
}
public int getAutomaticScreenBrightness() {
@@ -235,7 +219,7 @@
}
public void configure(boolean enable, float adjustment, boolean dozing,
- boolean userInitiatedChange) {
+ boolean userInitiatedChange, boolean useTwilight) {
// While dozing, the application processor may be suspended which will prevent us from
// receiving new information from the light sensor. On some devices, we may be able to
// switch to a wake-up light sensor instead but for now we will simply disable the sensor
@@ -244,6 +228,7 @@
mDozing = dozing;
boolean changed = setLightSensorEnabled(enable && !dozing);
changed |= setScreenAutoBrightnessAdjustment(adjustment);
+ changed |= setUseTwilight(useTwilight);
if (changed) {
updateAutoBrightness(false /*sendUpdate*/);
}
@@ -252,6 +237,17 @@
}
}
+ private boolean setUseTwilight(boolean useTwilight) {
+ if (mUseTwilight == useTwilight) return false;
+ if (useTwilight) {
+ mTwilight.registerListener(mTwilightListener, mHandler);
+ } else {
+ mTwilight.unregisterListener(mTwilightListener);
+ }
+ mUseTwilight = useTwilight;
+ return true;
+ }
+
public void dump(PrintWriter pw) {
pw.println();
pw.println("Automatic Brightness Controller Configuration:");
@@ -484,18 +480,13 @@
}
}
- if (USE_TWILIGHT_ADJUSTMENT) {
+ if (mUseTwilight) {
TwilightState state = mTwilight.getCurrentState();
if (state != null && state.isNight()) {
final long now = System.currentTimeMillis();
- final float earlyGamma =
- getTwilightGamma(now, state.getYesterdaySunset(), state.getTodaySunrise());
- final float lateGamma =
- getTwilightGamma(now, state.getTodaySunset(), state.getTomorrowSunrise());
- gamma *= earlyGamma * lateGamma;
+ gamma *= 1 + state.getAmount() * TWILIGHT_ADJUSTMENT_MAX_GAMMA;
if (DEBUG) {
- Slog.d(TAG, "updateAutoBrightness: earlyGamma=" + earlyGamma
- + ", lateGamma=" + lateGamma);
+ Slog.d(TAG, "updateAutoBrightness: twilight amount=" + state.getAmount());
}
}
}
@@ -579,25 +570,6 @@
}
}
- private static float getTwilightGamma(long now, long lastSunset, long nextSunrise) {
- if (lastSunset < 0 || nextSunrise < 0
- || now < lastSunset || now > nextSunrise) {
- return 1.0f;
- }
-
- if (now < lastSunset + TWILIGHT_ADJUSTMENT_TIME) {
- return MathUtils.lerp(1.0f, TWILIGHT_ADJUSTMENT_MAX_GAMMA,
- (float)(now - lastSunset) / TWILIGHT_ADJUSTMENT_TIME);
- }
-
- if (now > nextSunrise - TWILIGHT_ADJUSTMENT_TIME) {
- return MathUtils.lerp(1.0f, TWILIGHT_ADJUSTMENT_MAX_GAMMA,
- (float)(nextSunrise - now) / TWILIGHT_ADJUSTMENT_TIME);
- }
-
- return TWILIGHT_ADJUSTMENT_MAX_GAMMA;
- }
-
private final class AutomaticBrightnessHandler extends Handler {
public AutomaticBrightnessHandler(Looper looper) {
super(looper, null, true /*async*/);
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
index 1038d97..1ed7070 100644
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -615,7 +615,7 @@
&& mPowerRequest.brightnessSetByUser;
mAutomaticBrightnessController.configure(autoBrightnessEnabled,
mPowerRequest.screenAutoBrightnessAdjustment, state != Display.STATE_ON,
- userInitiatedChange);
+ userInitiatedChange, mPowerRequest.useTwilight);
}
// Apply brightness boost.
diff --git a/services/core/java/com/android/server/job/JobSchedulerService.java b/services/core/java/com/android/server/job/JobSchedulerService.java
index 57cede8..811c947 100644
--- a/services/core/java/com/android/server/job/JobSchedulerService.java
+++ b/services/core/java/com/android/server/job/JobSchedulerService.java
@@ -78,13 +78,15 @@
* Any function with the suffix 'Locked' also needs to lock on {@link #mJobs}.
* @hide
*/
-public class JobSchedulerService extends com.android.server.SystemService
+public final class JobSchedulerService extends com.android.server.SystemService
implements StateChangedListener, JobCompletedListener {
public static final boolean DEBUG = false;
/** The number of concurrent jobs we run at one time. */
private static final int MAX_JOB_CONTEXTS_COUNT
= ActivityManager.isLowRamDeviceStatic() ? 3 : 6;
static final String TAG = "JobSchedulerService";
+ /** Global local for all job scheduler state. */
+ final Object mLock = new Object();
/** Master list of jobs. */
final JobStore mJobs;
@@ -207,6 +209,10 @@
}
};
+ public Object getLock() {
+ return mLock;
+ }
+
@Override
public void onStartUser(int userHandle) {
mStartedUsers.add(userHandle);
@@ -231,7 +237,7 @@
}
public int scheduleAsPackage(JobInfo job, int uId, String packageName, int userId) {
- JobStatus jobStatus = new JobStatus(job, uId, packageName, userId);
+ JobStatus jobStatus = JobStatus.createFromJobInfo(job, uId, packageName, userId);
try {
if (ActivityManagerNative.getDefault().getAppStartMode(uId,
job.getService().getPackageName()) == ActivityManager.APP_START_MODE_DISABLED) {
@@ -243,7 +249,7 @@
}
if (DEBUG) Slog.d(TAG, "SCHEDULE: " + jobStatus.toShortString());
JobStatus toCancel;
- synchronized (mJobs) {
+ synchronized (mLock) {
toCancel = mJobs.getJobByUidAndJobId(uId, job.getId());
}
startTrackingJob(jobStatus, toCancel);
@@ -256,7 +262,7 @@
public List<JobInfo> getPendingJobs(int uid) {
ArrayList<JobInfo> outList = new ArrayList<JobInfo>();
- synchronized (mJobs) {
+ synchronized (mLock) {
ArraySet<JobStatus> jobs = mJobs.getJobs();
for (int i=0; i<jobs.size(); i++) {
JobStatus job = jobs.valueAt(i);
@@ -270,7 +276,7 @@
void cancelJobsForUser(int userHandle) {
List<JobStatus> jobsForUser;
- synchronized (mJobs) {
+ synchronized (mLock) {
jobsForUser = mJobs.getJobsByUser(userHandle);
}
for (int i=0; i<jobsForUser.size(); i++) {
@@ -289,7 +295,7 @@
*/
public void cancelJobsForUid(int uid, boolean forceAll) {
List<JobStatus> jobsForUid;
- synchronized (mJobs) {
+ synchronized (mLock) {
jobsForUid = mJobs.getJobsByUid(uid);
}
for (int i=0; i<jobsForUid.size(); i++) {
@@ -317,7 +323,7 @@
*/
public void cancelJob(int uid, int jobId) {
JobStatus toCancel;
- synchronized (mJobs) {
+ synchronized (mLock) {
toCancel = mJobs.getJobByUidAndJobId(uid, jobId);
}
if (toCancel != null) {
@@ -328,7 +334,7 @@
private void cancelJobImpl(JobStatus cancelled) {
if (DEBUG) Slog.d(TAG, "CANCEL: " + cancelled.toShortString());
stopTrackingJob(cancelled, true /* writeBack */);
- synchronized (mJobs) {
+ synchronized (mLock) {
// Remove from pending queue.
mPendingJobs.remove(cancelled);
// Cancel if running.
@@ -340,7 +346,7 @@
void updateIdleMode(boolean enabled) {
boolean changed = false;
boolean rocking;
- synchronized (mJobs) {
+ synchronized (mLock) {
if (mDeviceIdleMode != enabled) {
changed = true;
}
@@ -352,7 +358,7 @@
mControllers.get(i).deviceIdleModeChanged(enabled);
}
}
- synchronized (mJobs) {
+ synchronized (mLock) {
mDeviceIdleMode = enabled;
if (enabled) {
// When becoming idle, make sure no jobs are actively running.
@@ -451,7 +457,7 @@
// ignored; both services live in system_server
}
} else if (phase == PHASE_THIRD_PARTY_APPS_CAN_START) {
- synchronized (mJobs) {
+ synchronized (mLock) {
// Let's go!
mReadyToRock = true;
mBatteryStats = IBatteryStats.Stub.asInterface(ServiceManager.getService(
@@ -470,7 +476,7 @@
JobStatus job = jobs.valueAt(i);
for (int controller=0; controller<mControllers.size(); controller++) {
mControllers.get(controller).deviceIdleModeChanged(mDeviceIdleMode);
- mControllers.get(controller).maybeStartTrackingJob(job, null);
+ mControllers.get(controller).maybeStartTrackingJobLocked(job, null);
}
}
// GO GO GO!
@@ -485,19 +491,16 @@
* about.
*/
private void startTrackingJob(JobStatus jobStatus, JobStatus lastJob) {
- boolean update;
- boolean rocking;
- synchronized (mJobs) {
- update = mJobs.add(jobStatus);
- rocking = mReadyToRock;
- }
- if (rocking) {
- for (int i=0; i<mControllers.size(); i++) {
- StateController controller = mControllers.get(i);
- if (update) {
- controller.maybeStopTrackingJob(jobStatus, true);
+ synchronized (mLock) {
+ final boolean update = mJobs.add(jobStatus);
+ if (mReadyToRock) {
+ for (int i = 0; i < mControllers.size(); i++) {
+ StateController controller = mControllers.get(i);
+ if (update) {
+ controller.maybeStopTrackingJobLocked(jobStatus, true);
+ }
+ controller.maybeStartTrackingJobLocked(jobStatus, lastJob);
}
- controller.maybeStartTrackingJob(jobStatus, lastJob);
}
}
}
@@ -507,20 +510,17 @@
* object removed.
*/
private boolean stopTrackingJob(JobStatus jobStatus, boolean writeBack) {
- boolean removed;
- boolean rocking;
- synchronized (mJobs) {
+ synchronized (mLock) {
// Remove from store as well as controllers.
- removed = mJobs.remove(jobStatus, writeBack);
- rocking = mReadyToRock;
- }
- if (removed && rocking) {
- for (int i=0; i<mControllers.size(); i++) {
- StateController controller = mControllers.get(i);
- controller.maybeStopTrackingJob(jobStatus, false);
+ final boolean removed = mJobs.remove(jobStatus, writeBack);
+ if (removed && mReadyToRock) {
+ for (int i=0; i<mControllers.size(); i++) {
+ StateController controller = mControllers.get(i);
+ controller.maybeStopTrackingJobLocked(jobStatus, false);
+ }
}
+ return removed;
}
- return removed;
}
private boolean stopJobOnServiceContextLocked(JobStatus job, int reason) {
@@ -693,14 +693,14 @@
@Override
public void handleMessage(Message message) {
- synchronized (mJobs) {
+ synchronized (mLock) {
if (!mReadyToRock) {
return;
}
}
switch (message.what) {
case MSG_JOB_EXPIRED:
- synchronized (mJobs) {
+ synchronized (mLock) {
JobStatus runNow = (JobStatus) message.obj;
// runNow can be null, which is a controller's way of indicating that its
// state is such that all ready jobs should be run immediately.
@@ -712,7 +712,7 @@
}
break;
case MSG_CHECK_JOB:
- synchronized (mJobs) {
+ synchronized (mLock) {
if (mReportedActive) {
// if jobs are currently being run, queue all ready jobs for execution.
queueReadyJobsForExecutionLockedH();
@@ -723,7 +723,7 @@
}
break;
case MSG_CHECK_JOB_GREEDY:
- synchronized (mJobs) {
+ synchronized (mLock) {
queueReadyJobsForExecutionLockedH();
}
break;
@@ -753,7 +753,7 @@
Slog.d(TAG, " queued " + job.toShortString());
}
mPendingJobs.add(job);
- } else if (areJobConstraintsNotSatisfied(job)) {
+ } else if (areJobConstraintsNotSatisfiedLocked(job)) {
stopJobOnServiceContextLocked(job,
JobParameters.REASON_CONSTRAINTS_NOT_SATISFIED);
}
@@ -820,7 +820,7 @@
runnableJobs = new ArrayList<>();
}
runnableJobs.add(job);
- } else if (areJobConstraintsNotSatisfied(job)) {
+ } else if (areJobConstraintsNotSatisfiedLocked(job)) {
stopJobOnServiceContextLocked(job,
JobParameters.REASON_CONSTRAINTS_NOT_SATISFIED);
}
@@ -869,7 +869,7 @@
* - It's not ready
* - It's running on a JSC.
*/
- private boolean areJobConstraintsNotSatisfied(JobStatus job) {
+ private boolean areJobConstraintsNotSatisfiedLocked(JobStatus job) {
return !job.isReady() && isCurrentlyActiveLocked(job);
}
@@ -879,7 +879,7 @@
* here is where we decide whether to actually execute it.
*/
private void maybeRunPendingJobsH() {
- synchronized (mJobs) {
+ synchronized (mLock) {
if (mDeviceIdleMode) {
// If device is idle, we will not schedule jobs to run.
return;
@@ -887,7 +887,7 @@
if (DEBUG) {
Slog.d(TAG, "pending queue: " + mPendingJobs.size() + " jobs.");
}
- assignJobsToContextsH();
+ assignJobsToContextsLocked();
reportActive();
}
}
@@ -899,7 +899,7 @@
* run higher priority ones.
* Lock on mJobs before calling this function.
*/
- private void assignJobsToContextsH() {
+ private void assignJobsToContextsLocked() {
if (DEBUG) {
Slog.d(TAG, printPendingQueue());
}
@@ -984,7 +984,7 @@
}
for (int ic=0; ic<mControllers.size(); ic++) {
StateController controller = mControllers.get(ic);
- controller.prepareForExecution(contextIdToJobMap[i]);
+ controller.prepareForExecutionLocked(contextIdToJobMap[i]);
}
if (!mActiveServices.get(i).executeRunnableJob(contextIdToJobMap[i])) {
Slog.d(TAG, "Error executing " + contextIdToJobMap[i]);
@@ -1185,7 +1185,7 @@
void dumpInternal(PrintWriter pw) {
final long now = SystemClock.elapsedRealtime();
- synchronized (mJobs) {
+ synchronized (mLock) {
pw.print("Started users: ");
for (int i=0; i<mStartedUsers.size(); i++) {
pw.print("u" + mStartedUsers.get(i) + " ");
@@ -1216,7 +1216,7 @@
}
for (int i=0; i<mControllers.size(); i++) {
pw.println();
- mControllers.get(i).dumpControllerState(pw);
+ mControllers.get(i).dumpControllerStateLocked(pw);
}
pw.println();
pw.println(printPendingQueue());
diff --git a/services/core/java/com/android/server/job/JobServiceContext.java b/services/core/java/com/android/server/job/JobServiceContext.java
index b249739..48549ce 100644
--- a/services/core/java/com/android/server/job/JobServiceContext.java
+++ b/services/core/java/com/android/server/job/JobServiceContext.java
@@ -103,6 +103,7 @@
private final JobCompletedListener mCompletedListener;
/** Used for service binding, etc. */
private final Context mContext;
+ private final Object mLock;
private final IBatteryStats mBatteryStats;
private PowerManager.WakeLock mWakeLock;
@@ -124,7 +125,6 @@
private int mPreferredUid;
IJobService service;
- private final Object mLock = new Object();
/**
* Whether this context is free. This is set to false at the start of execution, and reset to
* true when execution is complete.
@@ -137,13 +137,14 @@
private long mTimeoutElapsed;
JobServiceContext(JobSchedulerService service, IBatteryStats batteryStats, Looper looper) {
- this(service.getContext(), batteryStats, service, looper);
+ this(service.getContext(), service.getLock(), batteryStats, service, looper);
}
@VisibleForTesting
- JobServiceContext(Context context, IBatteryStats batteryStats,
+ JobServiceContext(Context context, Object lock, IBatteryStats batteryStats,
JobCompletedListener completedListener, Looper looper) {
mContext = context;
+ mLock = lock;
mBatteryStats = batteryStats;
mCallbackHandler = new JobServiceHandler(looper);
mCompletedListener = completedListener;
diff --git a/services/core/java/com/android/server/job/JobStore.java b/services/core/java/com/android/server/job/JobStore.java
index 3565fc1..6020247 100644
--- a/services/core/java/com/android/server/job/JobStore.java
+++ b/services/core/java/com/android/server/job/JobStore.java
@@ -44,7 +44,6 @@
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
import java.util.Set;
@@ -70,6 +69,7 @@
/** Threshold to adjust how often we want to write to the db. */
private static final int MAX_OPS_BEFORE_WRITE = 1;
final ArraySet<JobStatus> mJobSet;
+ final Object mLock;
final Context mContext;
private int mDirtyOperations;
@@ -85,7 +85,7 @@
synchronized (sSingletonLock) {
if (sSingleton == null) {
sSingleton = new JobStore(jobManagerService.getContext(),
- Environment.getDataDirectory());
+ jobManagerService.getLock(), Environment.getDataDirectory());
}
return sSingleton;
}
@@ -96,7 +96,7 @@
*/
@VisibleForTesting
public static JobStore initAndGetForTesting(Context context, File dataDir) {
- JobStore jobStoreUnderTest = new JobStore(context, dataDir);
+ JobStore jobStoreUnderTest = new JobStore(context, new Object(), dataDir);
jobStoreUnderTest.clear();
return jobStoreUnderTest;
}
@@ -104,7 +104,8 @@
/**
* Construct the instance of the job store. This results in a blocking read from disk.
*/
- private JobStore(Context context, File dataDir) {
+ private JobStore(Context context, Object lock, File dataDir) {
+ mLock = lock;
mContext = context;
mDirtyOperations = 0;
@@ -266,14 +267,14 @@
/**
* Runnable that writes {@link #mJobSet} out to xml.
- * NOTE: This Runnable locks on JobStore.this
+ * NOTE: This Runnable locks on mLock
*/
private class WriteJobsMapToDiskRunnable implements Runnable {
@Override
public void run() {
final long startElapsed = SystemClock.elapsedRealtime();
List<JobStatus> mStoreCopy = new ArrayList<JobStatus>();
- synchronized (JobStore.this) {
+ synchronized (mLock) {
// Copy over the jobs so we can release the lock before writing.
for (int i=0; i<mJobSet.size(); i++) {
JobStatus jobStatus = mJobSet.valueAt(i);
@@ -454,7 +455,7 @@
try {
List<JobStatus> jobs;
FileInputStream fis = mJobsFile.openRead();
- synchronized (JobStore.this) {
+ synchronized (mLock) {
jobs = readJobMapImpl(fis);
if (jobs != null) {
for (int i=0; i<jobs.size(); i++) {
@@ -678,8 +679,8 @@
parser.nextTag(); // Consume </extras>
JobStatus js = new JobStatus(
- jobBuilder.build(), uid, sourcePackageName, sourceUserId, elapsedRuntimes.first,
- elapsedRuntimes.second);
+ jobBuilder.build(), uid, sourcePackageName, sourceUserId,
+ elapsedRuntimes.first, elapsedRuntimes.second);
return js;
}
diff --git a/services/core/java/com/android/server/job/controllers/AppIdleController.java b/services/core/java/com/android/server/job/controllers/AppIdleController.java
index 5f3da75..f0c579f 100644
--- a/services/core/java/com/android/server/job/controllers/AppIdleController.java
+++ b/services/core/java/com/android/server/job/controllers/AppIdleController.java
@@ -48,59 +48,56 @@
public static AppIdleController get(JobSchedulerService service) {
synchronized (sCreationLock) {
if (sController == null) {
- sController = new AppIdleController(service, service.getContext());
+ sController = new AppIdleController(service, service.getContext(),
+ service.getLock());
}
return sController;
}
}
- private AppIdleController(StateChangedListener stateChangedListener, Context context) {
- super(stateChangedListener, context);
+ private AppIdleController(StateChangedListener stateChangedListener, Context context,
+ Object lock) {
+ super(stateChangedListener, context, lock);
mUsageStatsInternal = LocalServices.getService(UsageStatsManagerInternal.class);
mAppIdleParoleOn = mUsageStatsInternal.isAppIdleParoleOn();
mUsageStatsInternal.addAppIdleStateChangeListener(new AppIdleStateChangeListener());
}
@Override
- public void maybeStartTrackingJob(JobStatus jobStatus, JobStatus lastJob) {
- synchronized (mTrackedTasks) {
- mTrackedTasks.add(jobStatus);
- String packageName = jobStatus.getSourcePackageName();
- final boolean appIdle = !mAppIdleParoleOn && mUsageStatsInternal.isAppIdle(packageName,
- jobStatus.getSourceUid(), jobStatus.getSourceUserId());
- if (DEBUG) {
- Slog.d(LOG_TAG, "Start tracking, setting idle state of "
- + packageName + " to " + appIdle);
- }
- jobStatus.appNotIdleConstraintSatisfied.set(!appIdle);
+ public void maybeStartTrackingJobLocked(JobStatus jobStatus, JobStatus lastJob) {
+ mTrackedTasks.add(jobStatus);
+ String packageName = jobStatus.getSourcePackageName();
+ final boolean appIdle = !mAppIdleParoleOn && mUsageStatsInternal.isAppIdle(packageName,
+ jobStatus.getSourceUid(), jobStatus.getSourceUserId());
+ if (DEBUG) {
+ Slog.d(LOG_TAG, "Start tracking, setting idle state of "
+ + packageName + " to " + appIdle);
}
+ jobStatus.setAppNotIdleConstraintSatisfied(!appIdle);
}
@Override
- public void maybeStopTrackingJob(JobStatus jobStatus, boolean forUpdate) {
- synchronized (mTrackedTasks) {
- mTrackedTasks.remove(jobStatus);
- }
+ public void maybeStopTrackingJobLocked(JobStatus jobStatus, boolean forUpdate) {
+ mTrackedTasks.remove(jobStatus);
}
@Override
- public void dumpControllerState(PrintWriter pw) {
+ public void dumpControllerStateLocked(PrintWriter pw) {
pw.println("AppIdle");
pw.println("Parole On: " + mAppIdleParoleOn);
- synchronized (mTrackedTasks) {
- for (JobStatus task : mTrackedTasks) {
- pw.print(task.getSourcePackageName());
- pw.print(":idle=" + !task.appNotIdleConstraintSatisfied.get());
- pw.print(", ");
- }
- pw.println();
+ for (JobStatus task : mTrackedTasks) {
+ pw.print(task.getSourcePackageName());
+ pw.print(":idle="
+ + ((task.satisfiedConstraints&JobStatus.CONSTRAINT_APP_NOT_IDLE) != 0));
+ pw.print(", ");
}
+ pw.println();
}
void setAppIdleParoleOn(boolean isAppIdleParoleOn) {
// Flag if any app's idle state has changed
boolean changed = false;
- synchronized (mTrackedTasks) {
+ synchronized (mLock) {
if (mAppIdleParoleOn == isAppIdleParoleOn) {
return;
}
@@ -112,8 +109,7 @@
if (DEBUG) {
Slog.d(LOG_TAG, "Setting idle state of " + packageName + " to " + appIdle);
}
- if (task.appNotIdleConstraintSatisfied.get() == appIdle) {
- task.appNotIdleConstraintSatisfied.set(!appIdle);
+ if (task.setAppNotIdleConstraintSatisfied(!appIdle)) {
changed = true;
}
}
@@ -128,19 +124,18 @@
@Override
public void onAppIdleStateChanged(String packageName, int userId, boolean idle) {
boolean changed = false;
- synchronized (mTrackedTasks) {
+ synchronized (mLock) {
if (mAppIdleParoleOn) {
return;
}
for (JobStatus task : mTrackedTasks) {
if (task.getSourcePackageName().equals(packageName)
&& task.getSourceUserId() == userId) {
- if (task.appNotIdleConstraintSatisfied.get() != !idle) {
+ if (task.setAppNotIdleConstraintSatisfied(!idle)) {
if (DEBUG) {
Slog.d(LOG_TAG, "App Idle state changed, setting idle state of "
+ packageName + " to " + idle);
}
- task.appNotIdleConstraintSatisfied.set(!idle);
changed = true;
}
}
diff --git a/services/core/java/com/android/server/job/controllers/BatteryController.java b/services/core/java/com/android/server/job/controllers/BatteryController.java
index b322a3e..ac9f425 100644
--- a/services/core/java/com/android/server/job/controllers/BatteryController.java
+++ b/services/core/java/com/android/server/job/controllers/BatteryController.java
@@ -53,7 +53,7 @@
synchronized (sCreationLock) {
if (sController == null) {
sController = new BatteryController(taskManagerService,
- taskManagerService.getContext());
+ taskManagerService.getContext(), taskManagerService.getLock());
}
}
return sController;
@@ -67,32 +67,29 @@
@VisibleForTesting
public static BatteryController getForTesting(StateChangedListener stateChangedListener,
Context context) {
- return new BatteryController(stateChangedListener, context);
+ return new BatteryController(stateChangedListener, context, new Object());
}
- private BatteryController(StateChangedListener stateChangedListener, Context context) {
- super(stateChangedListener, context);
+ private BatteryController(StateChangedListener stateChangedListener, Context context,
+ Object lock) {
+ super(stateChangedListener, context, lock);
mChargeTracker = new ChargingTracker();
mChargeTracker.startTracking();
}
@Override
- public void maybeStartTrackingJob(JobStatus taskStatus, JobStatus lastJob) {
+ public void maybeStartTrackingJobLocked(JobStatus taskStatus, JobStatus lastJob) {
final boolean isOnStablePower = mChargeTracker.isOnStablePower();
if (taskStatus.hasChargingConstraint()) {
- synchronized (mTrackedTasks) {
- mTrackedTasks.add(taskStatus);
- taskStatus.chargingConstraintSatisfied.set(isOnStablePower);
- }
+ mTrackedTasks.add(taskStatus);
+ taskStatus.setChargingConstraintSatisfied(isOnStablePower);
}
}
@Override
- public void maybeStopTrackingJob(JobStatus taskStatus, boolean forUpdate) {
+ public void maybeStopTrackingJobLocked(JobStatus taskStatus, boolean forUpdate) {
if (taskStatus.hasChargingConstraint()) {
- synchronized (mTrackedTasks) {
- mTrackedTasks.remove(taskStatus);
- }
+ mTrackedTasks.remove(taskStatus);
}
}
@@ -102,9 +99,9 @@
Slog.d(TAG, "maybeReportNewChargingState: " + stablePower);
}
boolean reportChange = false;
- synchronized (mTrackedTasks) {
+ synchronized (mLock) {
for (JobStatus ts : mTrackedTasks) {
- boolean previous = ts.chargingConstraintSatisfied.getAndSet(stablePower);
+ boolean previous = ts.setChargingConstraintSatisfied(stablePower);
if (previous != stablePower) {
reportChange = true;
}
@@ -197,18 +194,16 @@
}
@Override
- public void dumpControllerState(PrintWriter pw) {
+ public void dumpControllerStateLocked(PrintWriter pw) {
pw.println("Batt.");
pw.println("Stable power: " + mChargeTracker.isOnStablePower());
- synchronized (mTrackedTasks) {
- Iterator<JobStatus> it = mTrackedTasks.iterator();
- if (it.hasNext()) {
- pw.print(String.valueOf(it.next().hashCode()));
- }
- while (it.hasNext()) {
- pw.print("," + String.valueOf(it.next().hashCode()));
- }
- pw.println();
+ Iterator<JobStatus> it = mTrackedTasks.iterator();
+ if (it.hasNext()) {
+ pw.print(String.valueOf(it.next().hashCode()));
}
+ while (it.hasNext()) {
+ pw.print("," + String.valueOf(it.next().hashCode()));
+ }
+ pw.println();
}
}
diff --git a/services/core/java/com/android/server/job/controllers/ConnectivityController.java b/services/core/java/com/android/server/job/controllers/ConnectivityController.java
index b84658a..bd06645 100644
--- a/services/core/java/com/android/server/job/controllers/ConnectivityController.java
+++ b/services/core/java/com/android/server/job/controllers/ConnectivityController.java
@@ -58,14 +58,15 @@
public static ConnectivityController get(JobSchedulerService jms) {
synchronized (sCreationLock) {
if (mSingleton == null) {
- mSingleton = new ConnectivityController(jms, jms.getContext());
+ mSingleton = new ConnectivityController(jms, jms.getContext(), jms.getLock());
}
return mSingleton;
}
}
- private ConnectivityController(StateChangedListener stateChangedListener, Context context) {
- super(stateChangedListener, context);
+ private ConnectivityController(StateChangedListener stateChangedListener, Context context,
+ Object lock) {
+ super(stateChangedListener, context, lock);
// Register connectivity changed BR.
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
@@ -82,22 +83,18 @@
}
@Override
- public void maybeStartTrackingJob(JobStatus jobStatus, JobStatus lastJob) {
+ public void maybeStartTrackingJobLocked(JobStatus jobStatus, JobStatus lastJob) {
if (jobStatus.hasConnectivityConstraint() || jobStatus.hasUnmeteredConstraint()) {
- synchronized (mTrackedJobs) {
- jobStatus.connectivityConstraintSatisfied.set(mNetworkConnected);
- jobStatus.unmeteredConstraintSatisfied.set(mNetworkUnmetered);
- mTrackedJobs.add(jobStatus);
- }
+ jobStatus.setConnectivityConstraintSatisfied(mNetworkConnected);
+ jobStatus.setUnmeteredConstraintSatisfied(mNetworkUnmetered);
+ mTrackedJobs.add(jobStatus);
}
}
@Override
- public void maybeStopTrackingJob(JobStatus jobStatus, boolean forUpdate) {
+ public void maybeStopTrackingJobLocked(JobStatus jobStatus, boolean forUpdate) {
if (jobStatus.hasConnectivityConstraint() || jobStatus.hasUnmeteredConstraint()) {
- synchronized (mTrackedJobs) {
- mTrackedJobs.remove(jobStatus);
- }
+ mTrackedJobs.remove(jobStatus);
}
}
@@ -105,18 +102,14 @@
* @param userId Id of the user for whom we are updating the connectivity state.
*/
private void updateTrackedJobs(int userId) {
- synchronized (mTrackedJobs) {
+ synchronized (mLock) {
boolean changed = false;
for (JobStatus js : mTrackedJobs) {
if (js.getUserId() != userId) {
continue;
}
- boolean prevIsConnected =
- js.connectivityConstraintSatisfied.getAndSet(mNetworkConnected);
- boolean prevIsMetered = js.unmeteredConstraintSatisfied.getAndSet(mNetworkUnmetered);
- if (prevIsConnected != mNetworkConnected || prevIsMetered != mNetworkUnmetered) {
- changed = true;
- }
+ changed |= js.setConnectivityConstraintSatisfied(mNetworkConnected);
+ changed |= js.setUnmeteredConstraintSatisfied(mNetworkUnmetered);
}
if (changed) {
mStateChangedListener.onControllerStateChanged();
@@ -128,7 +121,7 @@
* We know the network has just come up. We want to run any jobs that are ready.
*/
public synchronized void onNetworkActive() {
- synchronized (mTrackedJobs) {
+ synchronized (mLock) {
for (JobStatus js : mTrackedJobs) {
if (js.isReady()) {
if (DEBUG) {
@@ -188,7 +181,7 @@
};
@Override
- public void dumpControllerState(PrintWriter pw) {
+ public void dumpControllerStateLocked(PrintWriter pw) {
pw.println("Conn.");
pw.println("connected: " + mNetworkConnected + " unmetered: " + mNetworkUnmetered);
for (JobStatus js: mTrackedJobs) {
diff --git a/services/core/java/com/android/server/job/controllers/ContentObserverController.java b/services/core/java/com/android/server/job/controllers/ContentObserverController.java
index 212cc94..c5cf30f 100644
--- a/services/core/java/com/android/server/job/controllers/ContentObserverController.java
+++ b/services/core/java/com/android/server/job/controllers/ContentObserverController.java
@@ -57,7 +57,7 @@
synchronized (sCreationLock) {
if (sController == null) {
sController = new ContentObserverController(taskManagerService,
- taskManagerService.getContext());
+ taskManagerService.getContext(), taskManagerService.getLock());
}
}
return sController;
@@ -66,95 +66,90 @@
@VisibleForTesting
public static ContentObserverController getForTesting(StateChangedListener stateChangedListener,
Context context) {
- return new ContentObserverController(stateChangedListener, context);
+ return new ContentObserverController(stateChangedListener, context, new Object());
}
- private ContentObserverController(StateChangedListener stateChangedListener, Context context) {
- super(stateChangedListener, context);
+ private ContentObserverController(StateChangedListener stateChangedListener, Context context,
+ Object lock) {
+ super(stateChangedListener, context, lock);
}
@Override
- public void maybeStartTrackingJob(JobStatus taskStatus, JobStatus lastJob) {
+ public void maybeStartTrackingJobLocked(JobStatus taskStatus, JobStatus lastJob) {
if (taskStatus.hasContentTriggerConstraint()) {
- synchronized (mTrackedTasks) {
- if (taskStatus.contentObserverJobInstance == null) {
- taskStatus.contentObserverJobInstance = new JobInstance(taskStatus);
- }
- mTrackedTasks.add(taskStatus);
- boolean havePendingUris = false;
- // If there is a previous job associated with the new job, propagate over
- // any pending content URI trigger reports.
- if (lastJob != null && lastJob.contentObserverJobInstance != null
- && lastJob.contentObserverJobInstance
- != taskStatus.contentObserverJobInstance
- && lastJob.contentObserverJobInstance.mChangedAuthorities != null) {
- havePendingUris = true;
+ if (taskStatus.contentObserverJobInstance == null) {
+ taskStatus.contentObserverJobInstance = new JobInstance(taskStatus);
+ }
+ mTrackedTasks.add(taskStatus);
+ boolean havePendingUris = false;
+ // If there is a previous job associated with the new job, propagate over
+ // any pending content URI trigger reports.
+ if (lastJob != null && lastJob.contentObserverJobInstance != null
+ && lastJob.contentObserverJobInstance
+ != taskStatus.contentObserverJobInstance
+ && lastJob.contentObserverJobInstance.mChangedAuthorities != null) {
+ havePendingUris = true;
+ taskStatus.contentObserverJobInstance.mChangedAuthorities
+ = lastJob.contentObserverJobInstance.mChangedAuthorities;
+ taskStatus.contentObserverJobInstance.mChangedUris
+ = lastJob.contentObserverJobInstance.mChangedUris;
+ lastJob.contentObserverJobInstance.mChangedAuthorities = null;
+ lastJob.contentObserverJobInstance.mChangedUris = null;
+ }
+ // If we have previously reported changed authorities/uris, then we failed
+ // to complete the job with them so will re-record them to report again.
+ if (taskStatus.changedAuthorities != null) {
+ havePendingUris = true;
+ if (taskStatus.contentObserverJobInstance.mChangedAuthorities == null) {
taskStatus.contentObserverJobInstance.mChangedAuthorities
- = lastJob.contentObserverJobInstance.mChangedAuthorities;
- taskStatus.contentObserverJobInstance.mChangedUris
- = lastJob.contentObserverJobInstance.mChangedUris;
- lastJob.contentObserverJobInstance.mChangedAuthorities = null;
- lastJob.contentObserverJobInstance.mChangedUris = null;
+ = new ArraySet<>();
}
- // If we have previously reported changed authorities/uris, then we failed
- // to complete the job with them so will re-record them to report again.
- if (taskStatus.changedAuthorities != null) {
- havePendingUris = true;
- if (taskStatus.contentObserverJobInstance.mChangedAuthorities == null) {
- taskStatus.contentObserverJobInstance.mChangedAuthorities
- = new ArraySet<>();
+ for (String auth : taskStatus.changedAuthorities) {
+ taskStatus.contentObserverJobInstance.mChangedAuthorities.add(auth);
+ }
+ if (taskStatus.changedUris != null) {
+ if (taskStatus.contentObserverJobInstance.mChangedUris == null) {
+ taskStatus.contentObserverJobInstance.mChangedUris = new ArraySet<>();
}
- for (String auth : taskStatus.changedAuthorities) {
- taskStatus.contentObserverJobInstance.mChangedAuthorities.add(auth);
+ for (Uri uri : taskStatus.changedUris) {
+ taskStatus.contentObserverJobInstance.mChangedUris.add(uri);
}
- if (taskStatus.changedUris != null) {
- if (taskStatus.contentObserverJobInstance.mChangedUris == null) {
- taskStatus.contentObserverJobInstance.mChangedUris = new ArraySet<>();
- }
- for (Uri uri : taskStatus.changedUris) {
- taskStatus.contentObserverJobInstance.mChangedUris.add(uri);
- }
- }
- taskStatus.changedAuthorities = null;
- taskStatus.changedUris = null;
}
taskStatus.changedAuthorities = null;
taskStatus.changedUris = null;
- taskStatus.contentTriggerConstraintSatisfied.set(havePendingUris);
+ }
+ taskStatus.changedAuthorities = null;
+ taskStatus.changedUris = null;
+ taskStatus.setContentTriggerConstraintSatisfied(havePendingUris);
+ }
+ }
+
+ @Override
+ public void prepareForExecutionLocked(JobStatus taskStatus) {
+ if (taskStatus.hasContentTriggerConstraint()) {
+ if (taskStatus.contentObserverJobInstance != null) {
+ taskStatus.changedUris = taskStatus.contentObserverJobInstance.mChangedUris;
+ taskStatus.changedAuthorities
+ = taskStatus.contentObserverJobInstance.mChangedAuthorities;
+ taskStatus.contentObserverJobInstance.mChangedUris = null;
+ taskStatus.contentObserverJobInstance.mChangedAuthorities = null;
}
}
}
@Override
- public void prepareForExecution(JobStatus taskStatus) {
+ public void maybeStopTrackingJobLocked(JobStatus taskStatus, boolean forUpdate) {
if (taskStatus.hasContentTriggerConstraint()) {
- synchronized (mTrackedTasks) {
+ if (!forUpdate) {
+ // We won't do this reset if being called for an update, because
+ // we know it will be immediately followed by maybeStartTrackingJobLocked...
+ // and we don't want to lose any content changes in-between.
if (taskStatus.contentObserverJobInstance != null) {
- taskStatus.changedUris = taskStatus.contentObserverJobInstance.mChangedUris;
- taskStatus.changedAuthorities
- = taskStatus.contentObserverJobInstance.mChangedAuthorities;
- taskStatus.contentObserverJobInstance.mChangedUris = null;
- taskStatus.contentObserverJobInstance.mChangedAuthorities = null;
+ taskStatus.contentObserverJobInstance.detach();
+ taskStatus.contentObserverJobInstance = null;
}
}
- }
- }
-
- @Override
- public void maybeStopTrackingJob(JobStatus taskStatus, boolean forUpdate) {
- if (taskStatus.hasContentTriggerConstraint()) {
- synchronized (mTrackedTasks) {
- if (!forUpdate) {
- // We won't do this reset if being called for an update, because
- // we know it will be immediately followed by maybeStartTrackingJob...
- // and we don't want to lose any content changes in-between.
- if (taskStatus.contentObserverJobInstance != null) {
- taskStatus.contentObserverJobInstance.detach();
- taskStatus.contentObserverJobInstance = null;
- }
- }
- mTrackedTasks.remove(taskStatus);
- }
+ mTrackedTasks.remove(taskStatus);
}
}
@@ -162,7 +157,7 @@
public void rescheduleForFailure(JobStatus newJob, JobStatus failureToReschedule) {
if (failureToReschedule.hasContentTriggerConstraint()
&& newJob.hasContentTriggerConstraint()) {
- synchronized (mTrackedTasks) {
+ synchronized (mLock) {
// Our job has failed, and we are scheduling a new job for it.
// Copy the last reported content changes in to the new job, so when
// we schedule the new one we will pick them up and report them again.
@@ -184,7 +179,7 @@
@Override
public void onChange(boolean selfChange, Uri uri) {
boolean reportChange = false;
- synchronized (mTrackedTasks) {
+ synchronized (mLock) {
final int N = mJobs.size();
for (int i=0; i<N; i++) {
JobInstance inst = mJobs.get(i);
@@ -198,9 +193,7 @@
inst.mChangedAuthorities = new ArraySet<>();
}
inst.mChangedAuthorities.add(uri.getAuthority());
- boolean previous
- = inst.mJobStatus.contentTriggerConstraintSatisfied.getAndSet(true);
- if (!previous) {
+ if (inst.mJobStatus.setContentTriggerConstraintSatisfied(true)) {
reportChange = true;
}
}
@@ -254,50 +247,48 @@
}
@Override
- public void dumpControllerState(PrintWriter pw) {
+ public void dumpControllerStateLocked(PrintWriter pw) {
pw.println("Content.");
- synchronized (mTrackedTasks) {
- Iterator<JobStatus> it = mTrackedTasks.iterator();
- if (it.hasNext()) {
- pw.print(String.valueOf(it.next().hashCode()));
- }
- while (it.hasNext()) {
- pw.print("," + String.valueOf(it.next().hashCode()));
- }
- pw.println();
- int N = mObservers.size();
- if (N > 0) {
- pw.println("URIs:");
- for (int i = 0; i < N; i++) {
- ObserverInstance obs = mObservers.valueAt(i);
- pw.print(" ");
- pw.print(mObservers.keyAt(i));
- pw.println(":");
- pw.print(" ");
- pw.println(obs);
- pw.println(" Jobs:");
- int M = obs.mJobs.size();
- for (int j=0; j<M; j++) {
- JobInstance inst = obs.mJobs.get(j);
- pw.print(" ");
- pw.print(inst.hashCode());
- if (inst.mChangedAuthorities != null) {
- pw.println(":");
- pw.println(" Changed Authorities:");
- for (int k=0; k<inst.mChangedAuthorities.size(); k++) {
- pw.print(" ");
- pw.println(inst.mChangedAuthorities.valueAt(k));
- }
- if (inst.mChangedUris != null) {
- pw.println(" Changed URIs:");
- for (int k = 0; k<inst.mChangedUris.size(); k++) {
- pw.print(" ");
- pw.println(inst.mChangedUris.valueAt(k));
- }
- }
- } else {
- pw.println();
+ Iterator<JobStatus> it = mTrackedTasks.iterator();
+ if (it.hasNext()) {
+ pw.print(String.valueOf(it.next().hashCode()));
+ }
+ while (it.hasNext()) {
+ pw.print("," + String.valueOf(it.next().hashCode()));
+ }
+ pw.println();
+ int N = mObservers.size();
+ if (N > 0) {
+ pw.println("URIs:");
+ for (int i = 0; i < N; i++) {
+ ObserverInstance obs = mObservers.valueAt(i);
+ pw.print(" ");
+ pw.print(mObservers.keyAt(i));
+ pw.println(":");
+ pw.print(" ");
+ pw.println(obs);
+ pw.println(" Jobs:");
+ int M = obs.mJobs.size();
+ for (int j=0; j<M; j++) {
+ JobInstance inst = obs.mJobs.get(j);
+ pw.print(" ");
+ pw.print(inst.hashCode());
+ if (inst.mChangedAuthorities != null) {
+ pw.println(":");
+ pw.println(" Changed Authorities:");
+ for (int k=0; k<inst.mChangedAuthorities.size(); k++) {
+ pw.print(" ");
+ pw.println(inst.mChangedAuthorities.valueAt(k));
}
+ if (inst.mChangedUris != null) {
+ pw.println(" Changed URIs:");
+ for (int k = 0; k<inst.mChangedUris.size(); k++) {
+ pw.print(" ");
+ pw.println(inst.mChangedUris.valueAt(k));
+ }
+ }
+ } else {
+ pw.println();
}
}
}
diff --git a/services/core/java/com/android/server/job/controllers/IdleController.java b/services/core/java/com/android/server/job/controllers/IdleController.java
index 9f4cdef..7638494 100644
--- a/services/core/java/com/android/server/job/controllers/IdleController.java
+++ b/services/core/java/com/android/server/job/controllers/IdleController.java
@@ -51,14 +51,15 @@
public static IdleController get(JobSchedulerService service) {
synchronized (sCreationLock) {
if (sController == null) {
- sController = new IdleController(service, service.getContext());
+ sController = new IdleController(service, service.getContext(), service.getLock());
}
return sController;
}
}
- private IdleController(StateChangedListener stateChangedListener, Context context) {
- super(stateChangedListener, context);
+ private IdleController(StateChangedListener stateChangedListener, Context context,
+ Object lock) {
+ super(stateChangedListener, context, lock);
initIdleStateTracking();
}
@@ -66,29 +67,25 @@
* StateController interface
*/
@Override
- public void maybeStartTrackingJob(JobStatus taskStatus, JobStatus lastJob) {
+ public void maybeStartTrackingJobLocked(JobStatus taskStatus, JobStatus lastJob) {
if (taskStatus.hasIdleConstraint()) {
- synchronized (mTrackedTasks) {
- mTrackedTasks.add(taskStatus);
- taskStatus.idleConstraintSatisfied.set(mIdleTracker.isIdle());
- }
+ mTrackedTasks.add(taskStatus);
+ taskStatus.setIdleConstraintSatisfied(mIdleTracker.isIdle());
}
}
@Override
- public void maybeStopTrackingJob(JobStatus taskStatus, boolean forUpdate) {
- synchronized (mTrackedTasks) {
- mTrackedTasks.remove(taskStatus);
- }
+ public void maybeStopTrackingJobLocked(JobStatus taskStatus, boolean forUpdate) {
+ mTrackedTasks.remove(taskStatus);
}
/**
* Interaction with the task manager service
*/
void reportNewIdleState(boolean isIdle) {
- synchronized (mTrackedTasks) {
+ synchronized (mLock) {
for (JobStatus task : mTrackedTasks) {
- task.idleConstraintSatisfied.set(isIdle);
+ task.setIdleConstraintSatisfied(isIdle);
}
}
mStateChangedListener.onControllerStateChanged();
@@ -193,17 +190,15 @@
}
@Override
- public void dumpControllerState(PrintWriter pw) {
- synchronized (mTrackedTasks) {
- pw.print("Idle: ");
- pw.println(mIdleTracker.isIdle() ? "true" : "false");
- pw.println(mTrackedTasks.size());
- for (int i = 0; i < mTrackedTasks.size(); i++) {
- final JobStatus js = mTrackedTasks.get(i);
- pw.print(" ");
- pw.print(String.valueOf(js.hashCode()).substring(0, 3));
- pw.println("..");
- }
+ public void dumpControllerStateLocked(PrintWriter pw) {
+ pw.print("Idle: ");
+ pw.println(mIdleTracker.isIdle() ? "true" : "false");
+ pw.println(mTrackedTasks.size());
+ for (int i = 0; i < mTrackedTasks.size(); i++) {
+ final JobStatus js = mTrackedTasks.get(i);
+ pw.print(" ");
+ pw.print(String.valueOf(js.hashCode()).substring(0, 3));
+ pw.println("..");
}
}
}
diff --git a/services/core/java/com/android/server/job/controllers/JobStatus.java b/services/core/java/com/android/server/job/controllers/JobStatus.java
index c4d564c..f835069 100644
--- a/services/core/java/com/android/server/job/controllers/JobStatus.java
+++ b/services/core/java/com/android/server/job/controllers/JobStatus.java
@@ -42,10 +42,19 @@
* but we don't enforce that so this is safer.
* @hide
*/
-public class JobStatus {
+public final class JobStatus {
public static final long NO_LATEST_RUNTIME = Long.MAX_VALUE;
public static final long NO_EARLIEST_RUNTIME = 0L;
+ static final int CONSTRAINT_CHARGING = 1<<0;
+ static final int CONSTRAINT_TIMING_DELAY = 1<<1;
+ static final int CONSTRAINT_DEADLINE = 1<<2;
+ static final int CONSTRAINT_IDLE = 1<<3;
+ static final int CONSTRAINT_UNMETERED = 1<<4;
+ static final int CONSTRAINT_CONNECTIVITY = 1<<5;
+ static final int CONSTRAINT_APP_NOT_IDLE = 1<<6;
+ static final int CONSTRAINT_CONTENT_TRIGGER = 1<<7;
+
final JobInfo job;
/** Uid of the package requesting this job. */
final int callingUid;
@@ -56,15 +65,23 @@
final int sourceUserId;
final int sourceUid;
+ /**
+ * Earliest point in the future at which this job will be eligible to run. A value of 0
+ * indicates there is no delay constraint. See {@link #hasTimingDelayConstraint()}.
+ */
+ private final long earliestRunTimeElapsedMillis;
+ /**
+ * Latest point in the future at which this job must be run. A value of {@link Long#MAX_VALUE}
+ * indicates there is no deadline constraint. See {@link #hasDeadlineConstraint()}.
+ */
+ private final long latestRunTimeElapsedMillis;
+
+ /** How many times this job has failed, used to compute back-off. */
+ private final int numFailures;
+
// Constraints.
- final AtomicBoolean chargingConstraintSatisfied = new AtomicBoolean();
- final AtomicBoolean timeDelayConstraintSatisfied = new AtomicBoolean();
- final AtomicBoolean deadlineConstraintSatisfied = new AtomicBoolean();
- final AtomicBoolean idleConstraintSatisfied = new AtomicBoolean();
- final AtomicBoolean unmeteredConstraintSatisfied = new AtomicBoolean();
- final AtomicBoolean connectivityConstraintSatisfied = new AtomicBoolean();
- final AtomicBoolean appNotIdleConstraintSatisfied = new AtomicBoolean();
- final AtomicBoolean contentTriggerConstraintSatisfied = new AtomicBoolean();
+ final int requiredConstraints;
+ int satisfiedConstraints = 0;
// These are filled in by controllers when preparing for execution.
public ArraySet<Uri> changedUris;
@@ -76,31 +93,18 @@
*/
ContentObserverController.JobInstance contentObserverJobInstance;
- /**
- * Earliest point in the future at which this job will be eligible to run. A value of 0
- * indicates there is no delay constraint. See {@link #hasTimingDelayConstraint()}.
- */
- private long earliestRunTimeElapsedMillis;
- /**
- * Latest point in the future at which this job must be run. A value of {@link Long#MAX_VALUE}
- * indicates there is no deadline constraint. See {@link #hasDeadlineConstraint()}.
- */
- private long latestRunTimeElapsedMillis;
- /** How many times this job has failed, used to compute back-off. */
- private final int numFailures;
-
/** Provide a handle to the service that this job will be run on. */
public int getServiceToken() {
return callingUid;
}
- private JobStatus(JobInfo job, int callingUid, String sourcePackageName, int sourceUserId,
- int numFailures) {
+ private JobStatus(JobInfo job, int callingUid, String sourcePackageName,
+ int sourceUserId, int numFailures, long earliestRunTimeElapsedMillis,
+ long latestRunTimeElapsedMillis) {
this.job = job;
this.callingUid = callingUid;
this.name = job.getService().flattenToShortString();
this.tag = "*job*/" + this.name;
- this.numFailures = numFailures;
int tempSourceUid = -1;
if (sourceUserId != -1 && sourcePackageName != null) {
@@ -120,38 +124,42 @@
this.sourceUserId = sourceUserId;
this.sourcePackageName = sourcePackageName;
}
+
+ this.earliestRunTimeElapsedMillis = earliestRunTimeElapsedMillis;
+ this.latestRunTimeElapsedMillis = latestRunTimeElapsedMillis;
+ this.numFailures = numFailures;
+
+ int requiredConstraints = 0;
+ if (job.getNetworkType() == JobInfo.NETWORK_TYPE_ANY) {
+ requiredConstraints |= CONSTRAINT_CONNECTIVITY;
+ }
+ if (job.getNetworkType() == JobInfo.NETWORK_TYPE_UNMETERED) {
+ requiredConstraints |= CONSTRAINT_UNMETERED;
+ }
+ if (job.isRequireCharging()) {
+ requiredConstraints |= CONSTRAINT_CHARGING;
+ }
+ if (earliestRunTimeElapsedMillis != NO_EARLIEST_RUNTIME) {
+ requiredConstraints |= CONSTRAINT_TIMING_DELAY;
+ }
+ if (latestRunTimeElapsedMillis != NO_LATEST_RUNTIME) {
+ requiredConstraints |= CONSTRAINT_DEADLINE;
+ }
+ if (job.isRequireDeviceIdle()) {
+ requiredConstraints |= CONSTRAINT_IDLE;
+ }
+ if (job.getTriggerContentUris() != null) {
+ requiredConstraints |= CONSTRAINT_CONTENT_TRIGGER;
+ }
+ this.requiredConstraints = requiredConstraints;
}
/** Copy constructor. */
public JobStatus(JobStatus jobStatus) {
- this(jobStatus.getJob(), jobStatus.getUid(), jobStatus.getSourcePackageName(),
- jobStatus.getSourceUserId(), jobStatus.getNumFailures());
- this.earliestRunTimeElapsedMillis = jobStatus.getEarliestRunTime();
- this.latestRunTimeElapsedMillis = jobStatus.getLatestRunTimeElapsed();
- }
-
- /**
- * Create a newly scheduled job.
- * @param callingUid Uid of the package that scheduled this job.
- * @param sourcePackageName Package name on whose behalf this job is scheduled. Null indicates
- * the calling package is the source.
- * @param sourceUserId User id for whom this job is scheduled. -1 indicates this is same as the
- * calling userId.
- */
- public JobStatus(JobInfo job, int callingUid, String sourcePackageName, int sourceUserId) {
- this(job, callingUid, sourcePackageName, sourceUserId, 0);
-
- final long elapsedNow = SystemClock.elapsedRealtime();
-
- if (job.isPeriodic()) {
- latestRunTimeElapsedMillis = elapsedNow + job.getIntervalMillis();
- earliestRunTimeElapsedMillis = latestRunTimeElapsedMillis - job.getFlexMillis();
- } else {
- earliestRunTimeElapsedMillis = job.hasEarlyConstraint() ?
- elapsedNow + job.getMinLatencyMillis() : NO_EARLIEST_RUNTIME;
- latestRunTimeElapsedMillis = job.hasLateConstraint() ?
- elapsedNow + job.getMaxExecutionDelayMillis() : NO_LATEST_RUNTIME;
- }
+ this(jobStatus.getJob(), jobStatus.getUid(),
+ jobStatus.getSourcePackageName(), jobStatus.getSourceUserId(),
+ jobStatus.getNumFailures(), jobStatus.getEarliestRunTime(),
+ jobStatus.getLatestRunTimeElapsed());
}
/**
@@ -161,22 +169,43 @@
* wallclock runtime rather than resetting it on every boot.
* We consider a freshly loaded job to no longer be in back-off.
*/
- public JobStatus(JobInfo job, int callingUid, String sourcePackageName, int sourceUserId,
- long earliestRunTimeElapsedMillis, long latestRunTimeElapsedMillis) {
- this(job, callingUid, sourcePackageName, sourceUserId, 0);
-
- this.earliestRunTimeElapsedMillis = earliestRunTimeElapsedMillis;
- this.latestRunTimeElapsedMillis = latestRunTimeElapsedMillis;
+ public JobStatus(JobInfo job, int callingUid, String sourcePackageName,
+ int sourceUserId, long earliestRunTimeElapsedMillis, long latestRunTimeElapsedMillis) {
+ this(job, callingUid, sourcePackageName, sourceUserId, 0, earliestRunTimeElapsedMillis,
+ latestRunTimeElapsedMillis);
}
/** Create a new job to be rescheduled with the provided parameters. */
public JobStatus(JobStatus rescheduling, long newEarliestRuntimeElapsedMillis,
long newLatestRuntimeElapsedMillis, int backoffAttempt) {
- this(rescheduling.job, rescheduling.getUid(), rescheduling.getSourcePackageName(),
- rescheduling.getSourceUserId(), backoffAttempt);
+ this(rescheduling.job, rescheduling.getUid(),
+ rescheduling.getSourcePackageName(),
+ rescheduling.getSourceUserId(), backoffAttempt, newEarliestRuntimeElapsedMillis,
+ newLatestRuntimeElapsedMillis);
+ }
- earliestRunTimeElapsedMillis = newEarliestRuntimeElapsedMillis;
- latestRunTimeElapsedMillis = newLatestRuntimeElapsedMillis;
+ /**
+ * Create a newly scheduled job.
+ * @param callingUid Uid of the package that scheduled this job.
+ * @param sourcePackageName Package name on whose behalf this job is scheduled. Null indicates
+ * the calling package is the source.
+ * @param sourceUserId User id for whom this job is scheduled. -1 indicates this is same as the
+ */
+ public static JobStatus createFromJobInfo(JobInfo job, int callingUid, String sourcePackageName,
+ int sourceUserId) {
+ final long elapsedNow = SystemClock.elapsedRealtime();
+ final long earliestRunTimeElapsedMillis, latestRunTimeElapsedMillis;
+ if (job.isPeriodic()) {
+ latestRunTimeElapsedMillis = elapsedNow + job.getIntervalMillis();
+ earliestRunTimeElapsedMillis = latestRunTimeElapsedMillis - job.getFlexMillis();
+ } else {
+ earliestRunTimeElapsedMillis = job.hasEarlyConstraint() ?
+ elapsedNow + job.getMinLatencyMillis() : NO_EARLIEST_RUNTIME;
+ latestRunTimeElapsedMillis = job.hasLateConstraint() ?
+ elapsedNow + job.getMaxExecutionDelayMillis() : NO_LATEST_RUNTIME;
+ }
+ return new JobStatus(job, callingUid, sourcePackageName, sourceUserId, 0,
+ earliestRunTimeElapsedMillis, latestRunTimeElapsedMillis);
}
public JobInfo getJob() {
@@ -232,31 +261,31 @@
}
public boolean hasConnectivityConstraint() {
- return job.getNetworkType() == JobInfo.NETWORK_TYPE_ANY;
+ return (requiredConstraints&CONSTRAINT_CONNECTIVITY) != 0;
}
public boolean hasUnmeteredConstraint() {
- return job.getNetworkType() == JobInfo.NETWORK_TYPE_UNMETERED;
+ return (requiredConstraints&CONSTRAINT_UNMETERED) != 0;
}
public boolean hasChargingConstraint() {
- return job.isRequireCharging();
+ return (requiredConstraints&CONSTRAINT_CHARGING) != 0;
}
public boolean hasTimingDelayConstraint() {
- return earliestRunTimeElapsedMillis != NO_EARLIEST_RUNTIME;
+ return (requiredConstraints&CONSTRAINT_TIMING_DELAY) != 0;
}
public boolean hasDeadlineConstraint() {
- return latestRunTimeElapsedMillis != NO_LATEST_RUNTIME;
+ return (requiredConstraints&CONSTRAINT_DEADLINE) != 0;
}
public boolean hasIdleConstraint() {
- return job.isRequireDeviceIdle();
+ return (requiredConstraints&CONSTRAINT_IDLE) != 0;
}
public boolean hasContentTriggerConstraint() {
- return job.getTriggerContentUris() != null;
+ return (requiredConstraints&CONSTRAINT_CONTENT_TRIGGER) != 0;
}
public boolean isPersisted() {
@@ -271,31 +300,74 @@
return latestRunTimeElapsedMillis;
}
+ boolean setChargingConstraintSatisfied(boolean state) {
+ return setConstraintSatisfied(CONSTRAINT_CHARGING, state);
+ }
+
+ boolean setTimingDelayConstraintSatisfied(boolean state) {
+ return setConstraintSatisfied(CONSTRAINT_TIMING_DELAY, state);
+ }
+
+ boolean setDeadlineConstraintSatisfied(boolean state) {
+ return setConstraintSatisfied(CONSTRAINT_DEADLINE, state);
+ }
+
+ boolean setIdleConstraintSatisfied(boolean state) {
+ return setConstraintSatisfied(CONSTRAINT_IDLE, state);
+ }
+
+ boolean setUnmeteredConstraintSatisfied(boolean state) {
+ return setConstraintSatisfied(CONSTRAINT_UNMETERED, state);
+ }
+
+ boolean setConnectivityConstraintSatisfied(boolean state) {
+ return setConstraintSatisfied(CONSTRAINT_CONNECTIVITY, state);
+ }
+
+ boolean setAppNotIdleConstraintSatisfied(boolean state) {
+ return setConstraintSatisfied(CONSTRAINT_APP_NOT_IDLE, state);
+ }
+
+ boolean setContentTriggerConstraintSatisfied(boolean state) {
+ return setConstraintSatisfied(CONSTRAINT_CONTENT_TRIGGER, state);
+ }
+
+ boolean setConstraintSatisfied(int constraint, boolean state) {
+ boolean old = (satisfiedConstraints&constraint) != 0;
+ if (old == state) {
+ return false;
+ }
+ satisfiedConstraints = (satisfiedConstraints&~constraint) | (state ? constraint : 0);
+ return true;
+ }
+
/**
* @return Whether or not this job is ready to run, based on its requirements. This is true if
* the constraints are satisfied <strong>or</strong> the deadline on the job has expired.
*/
- public synchronized boolean isReady() {
+ public boolean isReady() {
// Deadline constraint trumps other constraints (except for periodic jobs where deadline
// (is an implementation detail. A periodic job should only run if it's constraints are
// satisfied).
// AppNotIdle implicit constraint trumps all!
return (isConstraintsSatisfied()
- || (!job.isPeriodic()
- && hasDeadlineConstraint() && deadlineConstraintSatisfied.get()))
- && appNotIdleConstraintSatisfied.get();
+ || (!job.isPeriodic()
+ && hasDeadlineConstraint() && (satisfiedConstraints&CONSTRAINT_DEADLINE) != 0))
+ && (satisfiedConstraints&CONSTRAINT_APP_NOT_IDLE) != 0;
}
+ static final int CONSTRAINTS_OF_INTEREST =
+ CONSTRAINT_CHARGING | CONSTRAINT_TIMING_DELAY |
+ CONSTRAINT_CONNECTIVITY | CONSTRAINT_UNMETERED |
+ CONSTRAINT_IDLE | CONSTRAINT_CONTENT_TRIGGER;
+
/**
* @return Whether the constraints set on this job are satisfied.
*/
- public synchronized boolean isConstraintsSatisfied() {
- return (!hasChargingConstraint() || chargingConstraintSatisfied.get())
- && (!hasTimingDelayConstraint() || timeDelayConstraintSatisfied.get())
- && (!hasConnectivityConstraint() || connectivityConstraintSatisfied.get())
- && (!hasUnmeteredConstraint() || unmeteredConstraintSatisfied.get())
- && (!hasIdleConstraint() || idleConstraintSatisfied.get())
- && (!hasContentTriggerConstraint() || contentTriggerConstraintSatisfied.get());
+ public boolean isConstraintsSatisfied() {
+ final int req = requiredConstraints & CONSTRAINTS_OF_INTEREST;
+ final int sat = satisfiedConstraints & CONSTRAINTS_OF_INTEREST;
+ return (sat & req) == req;
}
public boolean matches(int uid, int jobId) {
@@ -314,7 +386,7 @@
+ ",I=" + job.isRequireDeviceIdle()
+ ",U=" + (job.getTriggerContentUris() != null)
+ ",F=" + numFailures + ",P=" + job.isPersisted()
- + ",ANI=" + appNotIdleConstraintSatisfied.get()
+ + ",ANI=" + ((satisfiedConstraints&CONSTRAINT_APP_NOT_IDLE) != 0)
+ (isReady() ? "(READY)" : "")
+ "]";
}
@@ -349,6 +421,33 @@
return sb.toString();
}
+ void dumpConstraints(PrintWriter pw, int constraints) {
+ if ((constraints&CONSTRAINT_CHARGING) != 0) {
+ pw.print(" CHARGING");
+ }
+ if ((constraints&CONSTRAINT_TIMING_DELAY) != 0) {
+ pw.print(" TIMING_DELAY");
+ }
+ if ((constraints&CONSTRAINT_DEADLINE) != 0) {
+ pw.print(" DEADLINE");
+ }
+ if ((constraints&CONSTRAINT_IDLE) != 0) {
+ pw.print(" IDLE");
+ }
+ if ((constraints&CONSTRAINT_UNMETERED) != 0) {
+ pw.print(" UNMETERED");
+ }
+ if ((constraints&CONSTRAINT_CONNECTIVITY) != 0) {
+ pw.print(" CONNECTIVITY");
+ }
+ if ((constraints&CONSTRAINT_APP_NOT_IDLE) != 0) {
+ pw.print(" APP_NOT_IDLE");
+ }
+ if ((constraints&CONSTRAINT_CONTENT_TRIGGER) != 0) {
+ pw.print(" CONTENT_TRIGGER");
+ }
+ }
+
// Dumpsys infrastructure
public void dump(PrintWriter pw, String prefix) {
pw.print(prefix); UserHandle.formatUid(pw, callingUid);
@@ -413,39 +512,12 @@
if (job.hasLateConstraint()) {
pw.print(prefix); pw.println(" Has late constraint");
}
- pw.print(prefix); pw.println("Constraints:");
- if (hasChargingConstraint()) {
- pw.print(prefix); pw.print(" Charging: ");
- pw.println(chargingConstraintSatisfied.get());
- }
- if (hasTimingDelayConstraint()) {
- pw.print(prefix); pw.print(" Time delay: ");
- pw.println(timeDelayConstraintSatisfied.get());
- }
- if (hasDeadlineConstraint()) {
- pw.print(prefix); pw.print(" Deadline: ");
- pw.println(deadlineConstraintSatisfied.get());
- }
- if (hasIdleConstraint()) {
- pw.print(prefix); pw.print(" System idle: ");
- pw.println(idleConstraintSatisfied.get());
- }
- if (hasUnmeteredConstraint()) {
- pw.print(prefix); pw.print(" Unmetered: ");
- pw.println(unmeteredConstraintSatisfied.get());
- }
- if (hasConnectivityConstraint()) {
- pw.print(prefix); pw.print(" Connectivity: ");
- pw.println(connectivityConstraintSatisfied.get());
- }
- if (hasIdleConstraint()) {
- pw.print(prefix); pw.print(" App not idle: ");
- pw.println(appNotIdleConstraintSatisfied.get());
- }
- if (hasContentTriggerConstraint()) {
- pw.print(prefix); pw.print(" Content trigger: ");
- pw.println(contentTriggerConstraintSatisfied.get());
- }
+ pw.print(prefix); pw.print("Required constraints:");
+ dumpConstraints(pw, requiredConstraints);
+ pw.println();
+ pw.print(prefix); pw.print("Satisfied constraints:");
+ dumpConstraints(pw, satisfiedConstraints);
+ pw.println();
if (changedAuthorities != null) {
pw.print(prefix); pw.println("Changed authorities:");
for (int i=0; i<changedAuthorities.size(); i++) {
diff --git a/services/core/java/com/android/server/job/controllers/StateController.java b/services/core/java/com/android/server/job/controllers/StateController.java
index b619ea8..7882bc4d 100644
--- a/services/core/java/com/android/server/job/controllers/StateController.java
+++ b/services/core/java/com/android/server/job/controllers/StateController.java
@@ -30,13 +30,16 @@
*/
public abstract class StateController {
protected static final boolean DEBUG = JobSchedulerService.DEBUG;
- protected Context mContext;
- protected StateChangedListener mStateChangedListener;
+ protected final Context mContext;
+ protected final Object mLock;
+ protected final StateChangedListener mStateChangedListener;
protected boolean mDeviceIdleMode;
- public StateController(StateChangedListener stateChangedListener, Context context) {
+ public StateController(StateChangedListener stateChangedListener, Context context,
+ Object lock) {
mStateChangedListener = stateChangedListener;
mContext = context;
+ mLock = lock;
}
public void deviceIdleModeChanged(boolean enabled) {
@@ -49,21 +52,21 @@
* Also called when updating a task, so implementing controllers have to be aware of
* preexisting tasks.
*/
- public abstract void maybeStartTrackingJob(JobStatus jobStatus, JobStatus lastJob);
+ public abstract void maybeStartTrackingJobLocked(JobStatus jobStatus, JobStatus lastJob);
/**
* Optionally implement logic here to prepare the job to be executed.
*/
- public void prepareForExecution(JobStatus jobStatus) {
+ public void prepareForExecutionLocked(JobStatus jobStatus) {
}
/**
* Remove task - this will happen if the task is cancelled, completed, etc.
*/
- public abstract void maybeStopTrackingJob(JobStatus jobStatus, boolean forUpdate);
+ public abstract void maybeStopTrackingJobLocked(JobStatus jobStatus, boolean forUpdate);
/**
* Called when a new job is being created to reschedule an old failed job.
*/
public void rescheduleForFailure(JobStatus newJob, JobStatus failureToReschedule) {
}
- public abstract void dumpControllerState(PrintWriter pw);
+ public abstract void dumpControllerStateLocked(PrintWriter pw);
}
diff --git a/services/core/java/com/android/server/job/controllers/TimeController.java b/services/core/java/com/android/server/job/controllers/TimeController.java
index a68c3ad..620800c 100644
--- a/services/core/java/com/android/server/job/controllers/TimeController.java
+++ b/services/core/java/com/android/server/job/controllers/TimeController.java
@@ -54,13 +54,14 @@
public static synchronized TimeController get(JobSchedulerService jms) {
if (mSingleton == null) {
- mSingleton = new TimeController(jms, jms.getContext());
+ mSingleton = new TimeController(jms, jms.getContext(), jms.getLock());
}
return mSingleton;
}
- private TimeController(StateChangedListener stateChangedListener, Context context) {
- super(stateChangedListener, context);
+ private TimeController(StateChangedListener stateChangedListener, Context context,
+ Object lock) {
+ super(stateChangedListener, context, lock);
mNextJobExpiredElapsedMillis = Long.MAX_VALUE;
mNextDelayExpiredElapsedMillis = Long.MAX_VALUE;
@@ -71,9 +72,9 @@
* list.
*/
@Override
- public synchronized void maybeStartTrackingJob(JobStatus job, JobStatus lastJob) {
+ public void maybeStartTrackingJobLocked(JobStatus job, JobStatus lastJob) {
if (job.hasTimingDelayConstraint() || job.hasDeadlineConstraint()) {
- maybeStopTrackingJob(job, false);
+ maybeStopTrackingJobLocked(job, false);
boolean isInsert = false;
ListIterator<JobStatus> it = mTrackedJobs.listIterator(mTrackedJobs.size());
while (it.hasPrevious()) {
@@ -84,12 +85,11 @@
break;
}
}
- if(isInsert)
- {
+ if (isInsert) {
it.next();
}
it.add(job);
- maybeUpdateAlarms(
+ maybeUpdateAlarmsLocked(
job.hasTimingDelayConstraint() ? job.getEarliestRunTime() : Long.MAX_VALUE,
job.hasDeadlineConstraint() ? job.getLatestRunTimeElapsed() : Long.MAX_VALUE);
}
@@ -101,7 +101,7 @@
* Really an == comparison should be enough, but why play with fate? We'll do <=.
*/
@Override
- public synchronized void maybeStopTrackingJob(JobStatus job, boolean forUpdate) {
+ public void maybeStopTrackingJobLocked(JobStatus job, boolean forUpdate) {
if (mTrackedJobs.remove(job)) {
checkExpiredDelaysAndResetAlarm();
checkExpiredDeadlinesAndResetAlarm();
@@ -114,14 +114,14 @@
* the job's deadline is fulfilled - unlike other controllers a time constraint can't toggle
* back and forth.
*/
- private boolean canStopTrackingJob(JobStatus job) {
+ private boolean canStopTrackingJobLocked(JobStatus job) {
return (!job.hasTimingDelayConstraint() ||
- job.timeDelayConstraintSatisfied.get()) &&
+ (job.satisfiedConstraints&JobStatus.CONSTRAINT_TIMING_DELAY) != 0) &&
(!job.hasDeadlineConstraint() ||
- job.deadlineConstraintSatisfied.get());
+ (job.satisfiedConstraints&JobStatus.CONSTRAINT_DEADLINE) != 0);
}
- private void ensureAlarmService() {
+ private void ensureAlarmServiceLocked() {
if (mAlarmService == null) {
mAlarmService = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
}
@@ -131,71 +131,75 @@
* Checks list of jobs for ones that have an expired deadline, sending them to the JobScheduler
* if so, removing them from this list, and updating the alarm for the next expiry time.
*/
- private synchronized void checkExpiredDeadlinesAndResetAlarm() {
- long nextExpiryTime = Long.MAX_VALUE;
- final long nowElapsedMillis = SystemClock.elapsedRealtime();
+ private void checkExpiredDeadlinesAndResetAlarm() {
+ synchronized (mLock) {
+ long nextExpiryTime = Long.MAX_VALUE;
+ final long nowElapsedMillis = SystemClock.elapsedRealtime();
- Iterator<JobStatus> it = mTrackedJobs.iterator();
- while (it.hasNext()) {
- JobStatus job = it.next();
- if (!job.hasDeadlineConstraint()) {
- continue;
- }
- final long jobDeadline = job.getLatestRunTimeElapsed();
+ Iterator<JobStatus> it = mTrackedJobs.iterator();
+ while (it.hasNext()) {
+ JobStatus job = it.next();
+ if (!job.hasDeadlineConstraint()) {
+ continue;
+ }
+ final long jobDeadline = job.getLatestRunTimeElapsed();
- if (jobDeadline <= nowElapsedMillis) {
- job.deadlineConstraintSatisfied.set(true);
- mStateChangedListener.onRunJobNow(job);
- it.remove();
- } else { // Sorted by expiry time, so take the next one and stop.
- nextExpiryTime = jobDeadline;
- break;
+ if (jobDeadline <= nowElapsedMillis) {
+ job.setDeadlineConstraintSatisfied(true);
+ mStateChangedListener.onRunJobNow(job);
+ it.remove();
+ } else { // Sorted by expiry time, so take the next one and stop.
+ nextExpiryTime = jobDeadline;
+ break;
+ }
}
+ setDeadlineExpiredAlarmLocked(nextExpiryTime);
}
- setDeadlineExpiredAlarm(nextExpiryTime);
}
/**
* Handles alarm that notifies us that a job's delay has expired. Iterates through the list of
* tracked jobs and marks them as ready as appropriate.
*/
- private synchronized void checkExpiredDelaysAndResetAlarm() {
- final long nowElapsedMillis = SystemClock.elapsedRealtime();
- long nextDelayTime = Long.MAX_VALUE;
- boolean ready = false;
- Iterator<JobStatus> it = mTrackedJobs.iterator();
- while (it.hasNext()) {
- final JobStatus job = it.next();
- if (!job.hasTimingDelayConstraint()) {
- continue;
- }
- final long jobDelayTime = job.getEarliestRunTime();
- if (jobDelayTime <= nowElapsedMillis) {
- job.timeDelayConstraintSatisfied.set(true);
- if (canStopTrackingJob(job)) {
- it.remove();
+ private void checkExpiredDelaysAndResetAlarm() {
+ synchronized (mLock) {
+ final long nowElapsedMillis = SystemClock.elapsedRealtime();
+ long nextDelayTime = Long.MAX_VALUE;
+ boolean ready = false;
+ Iterator<JobStatus> it = mTrackedJobs.iterator();
+ while (it.hasNext()) {
+ final JobStatus job = it.next();
+ if (!job.hasTimingDelayConstraint()) {
+ continue;
}
- if (job.isReady()) {
- ready = true;
- }
- } else { // Keep going through list to get next delay time.
- if (nextDelayTime > jobDelayTime) {
- nextDelayTime = jobDelayTime;
+ final long jobDelayTime = job.getEarliestRunTime();
+ if (jobDelayTime <= nowElapsedMillis) {
+ job.setTimingDelayConstraintSatisfied(true);
+ if (canStopTrackingJobLocked(job)) {
+ it.remove();
+ }
+ if (job.isReady()) {
+ ready = true;
+ }
+ } else { // Keep going through list to get next delay time.
+ if (nextDelayTime > jobDelayTime) {
+ nextDelayTime = jobDelayTime;
+ }
}
}
+ if (ready) {
+ mStateChangedListener.onControllerStateChanged();
+ }
+ setDelayExpiredAlarmLocked(nextDelayTime);
}
- if (ready) {
- mStateChangedListener.onControllerStateChanged();
- }
- setDelayExpiredAlarm(nextDelayTime);
}
- private void maybeUpdateAlarms(long delayExpiredElapsed, long deadlineExpiredElapsed) {
+ private void maybeUpdateAlarmsLocked(long delayExpiredElapsed, long deadlineExpiredElapsed) {
if (delayExpiredElapsed < mNextDelayExpiredElapsedMillis) {
- setDelayExpiredAlarm(delayExpiredElapsed);
+ setDelayExpiredAlarmLocked(delayExpiredElapsed);
}
if (deadlineExpiredElapsed < mNextJobExpiredElapsedMillis) {
- setDeadlineExpiredAlarm(deadlineExpiredElapsed);
+ setDeadlineExpiredAlarmLocked(deadlineExpiredElapsed);
}
}
@@ -204,10 +208,11 @@
* delay will expire.
* This alarm <b>will</b> wake up the phone.
*/
- private void setDelayExpiredAlarm(long alarmTimeElapsedMillis) {
+ private void setDelayExpiredAlarmLocked(long alarmTimeElapsedMillis) {
alarmTimeElapsedMillis = maybeAdjustAlarmTime(alarmTimeElapsedMillis);
mNextDelayExpiredElapsedMillis = alarmTimeElapsedMillis;
- updateAlarmWithListener(DELAY_TAG, mNextDelayExpiredListener, mNextDelayExpiredElapsedMillis);
+ updateAlarmWithListenerLocked(DELAY_TAG, mNextDelayExpiredListener,
+ mNextDelayExpiredElapsedMillis);
}
/**
@@ -215,10 +220,11 @@
* deadline will expire.
* This alarm <b>will</b> wake up the phone.
*/
- private void setDeadlineExpiredAlarm(long alarmTimeElapsedMillis) {
+ private void setDeadlineExpiredAlarmLocked(long alarmTimeElapsedMillis) {
alarmTimeElapsedMillis = maybeAdjustAlarmTime(alarmTimeElapsedMillis);
mNextJobExpiredElapsedMillis = alarmTimeElapsedMillis;
- updateAlarmWithListener(DEADLINE_TAG, mDeadlineExpiredListener, mNextJobExpiredElapsedMillis);
+ updateAlarmWithListenerLocked(DEADLINE_TAG, mDeadlineExpiredListener,
+ mNextJobExpiredElapsedMillis);
}
private long maybeAdjustAlarmTime(long proposedAlarmTimeElapsedMillis) {
@@ -229,9 +235,9 @@
return proposedAlarmTimeElapsedMillis;
}
- private void updateAlarmWithListener(String tag, OnAlarmListener listener,
+ private void updateAlarmWithListenerLocked(String tag, OnAlarmListener listener,
long alarmTimeElapsed) {
- ensureAlarmService();
+ ensureAlarmServiceLocked();
if (alarmTimeElapsed == Long.MAX_VALUE) {
mAlarmService.cancel(listener);
} else {
@@ -266,7 +272,7 @@
};
@Override
- public void dumpControllerState(PrintWriter pw) {
+ public void dumpControllerStateLocked(PrintWriter pw) {
final long nowElapsed = SystemClock.elapsedRealtime();
pw.println("Alarms (" + SystemClock.elapsedRealtime() + ")");
pw.println(
diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java
index c1eb844..7fb1783 100644
--- a/services/core/java/com/android/server/location/GnssLocationProvider.java
+++ b/services/core/java/com/android/server/location/GnssLocationProvider.java
@@ -1684,25 +1684,25 @@
/**
* Called from native code to inform us the hardware information.
*/
- private void setGpsYearOfHardware(int yearOfHardware) {
- if (DEBUG) Log.d(TAG, "setGpsYearOfHardware called with " + yearOfHardware);
+ private void setGnssYearOfHardware(int yearOfHardware) {
+ if (DEBUG) Log.d(TAG, "setGnssYearOfHardware called with " + yearOfHardware);
mYearOfHardware = yearOfHardware;
}
- public interface GpsSystemInfoProvider {
+ public interface GnssSystemInfoProvider {
/**
* Returns the year of GPS hardware.
*/
- int getGpsYearOfHardware();
+ int getGnssYearOfHardware();
}
/**
* @hide
*/
- public GpsSystemInfoProvider getGpsSystemInfoProvider() {
- return new GpsSystemInfoProvider() {
+ public GnssSystemInfoProvider getGnssSystemInfoProvider() {
+ return new GnssSystemInfoProvider() {
@Override
- public int getGpsYearOfHardware() {
+ public int getGnssYearOfHardware() {
return mYearOfHardware;
}
};
diff --git a/services/core/java/com/android/server/media/MediaSessionRecord.java b/services/core/java/com/android/server/media/MediaSessionRecord.java
index 246da2e..862c061 100644
--- a/services/core/java/com/android/server/media/MediaSessionRecord.java
+++ b/services/core/java/com/android/server/media/MediaSessionRecord.java
@@ -868,6 +868,38 @@
}
}
+ public void prepare() {
+ try {
+ mCb.onPrepare();
+ } catch (RemoteException e) {
+ Slog.e(TAG, "Remote failure in prepare.", e);
+ }
+ }
+
+ public void prepareFromMediaId(String mediaId, Bundle extras) {
+ try {
+ mCb.onPrepareFromMediaId(mediaId, extras);
+ } catch (RemoteException e) {
+ Slog.e(TAG, "Remote failure in prepareFromMediaId.", e);
+ }
+ }
+
+ public void prepareFromSearch(String query, Bundle extras) {
+ try {
+ mCb.onPrepareFromSearch(query, extras);
+ } catch (RemoteException e) {
+ Slog.e(TAG, "Remote failure in prepareFromSearch.", e);
+ }
+ }
+
+ public void prepareFromUri(Uri uri, Bundle extras) {
+ try {
+ mCb.onPrepareFromUri(uri, extras);
+ } catch (RemoteException e) {
+ Slog.e(TAG, "Remote failure in prepareFromUri.", e);
+ }
+ }
+
public void play() {
try {
mCb.onPlay();
@@ -880,7 +912,7 @@
try {
mCb.onPlayFromMediaId(mediaId, extras);
} catch (RemoteException e) {
- Slog.e(TAG, "Remote failure in playUri.", e);
+ Slog.e(TAG, "Remote failure in playFromMediaId.", e);
}
}
@@ -1100,6 +1132,27 @@
}
@Override
+ public void prepare() throws RemoteException {
+ mSessionCb.prepare();
+ }
+
+ @Override
+ public void prepareFromMediaId(String mediaId, Bundle extras)
+ throws RemoteException {
+ mSessionCb.prepareFromMediaId(mediaId, extras);
+ }
+
+ @Override
+ public void prepareFromSearch(String query, Bundle extras) throws RemoteException {
+ mSessionCb.prepareFromSearch(query, extras);
+ }
+
+ @Override
+ public void prepareFromUri(Uri uri, Bundle extras) throws RemoteException {
+ mSessionCb.prepareFromUri(uri, extras);
+ }
+
+ @Override
public void play() throws RemoteException {
mSessionCb.play();
}
diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
index bc5b561..fc40f9f 100644
--- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
+++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
@@ -240,8 +240,6 @@
private static final String ATTR_APP_ID = "appId";
private static final String ATTR_POLICY = "policy";
- private static final String TAG_ALLOW_BACKGROUND = TAG + ":allowBackground";
-
private static final String ACTION_ALLOW_BACKGROUND =
"com.android.server.net.action.ALLOW_BACKGROUND";
private static final String ACTION_SNOOZE_WARNING =
@@ -844,11 +842,6 @@
}
}
- // ongoing notification when restricting background data
- if (mRestrictBackground) {
- enqueueRestrictedNotification(TAG_ALLOW_BACKGROUND);
- }
-
// cancel stale notifications that we didn't renew above
for (int i = beforeNotifs.size()-1; i >= 0; i--) {
final String tag = beforeNotifs.valueAt(i);
@@ -1026,42 +1019,6 @@
}
}
- /**
- * Show ongoing notification to reflect that {@link #mRestrictBackground}
- * has been enabled.
- */
- private void enqueueRestrictedNotification(String tag) {
- final Resources res = mContext.getResources();
- final Notification.Builder builder = new Notification.Builder(mContext);
-
- final CharSequence title = res.getText(R.string.data_usage_restricted_title);
- final CharSequence body = res.getString(R.string.data_usage_restricted_body);
-
- builder.setOnlyAlertOnce(true);
- builder.setOngoing(true);
- builder.setSmallIcon(R.drawable.stat_notify_error);
- builder.setTicker(title);
- builder.setContentTitle(title);
- builder.setContentText(body);
- builder.setColor(mContext.getColor(
- com.android.internal.R.color.system_notification_accent_color));
-
- final Intent intent = buildAllowBackgroundDataIntent();
- builder.setContentIntent(
- PendingIntent.getBroadcast(mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT));
-
- // TODO: move to NotificationManager once we can mock it
- try {
- final String packageName = mContext.getPackageName();
- final int[] idReceived = new int[1];
- mNotifManager.enqueueNotificationWithTag(packageName, packageName, tag,
- 0x0, builder.getNotification(), idReceived, UserHandle.USER_ALL);
- mActiveNotifs.add(tag);
- } catch (RemoteException e) {
- // ignored; service lives in system_server
- }
- }
-
private void cancelNotification(String tag) {
// TODO: move to NotificationManager once we can mock it
try {
@@ -1742,13 +1699,18 @@
public void setNetworkPolicies(NetworkPolicy[] policies) {
mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG);
- maybeRefreshTrustedTime();
- synchronized (mRulesLock) {
- normalizePoliciesLocked(policies);
- updateNetworkEnabledLocked();
- updateNetworkRulesLocked();
- updateNotificationsLocked();
- writePolicyLocked();
+ final long token = Binder.clearCallingIdentity();
+ try {
+ maybeRefreshTrustedTime();
+ synchronized (mRulesLock) {
+ normalizePoliciesLocked(policies);
+ updateNetworkEnabledLocked();
+ updateNetworkRulesLocked();
+ updateNotificationsLocked();
+ writePolicyLocked();
+ }
+ } finally {
+ Binder.restoreCallingIdentity(token);
}
}
@@ -1851,13 +1813,18 @@
@Override
public void setRestrictBackground(boolean restrictBackground) {
mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG);
+ final long token = Binder.clearCallingIdentity();
+ try {
+ maybeRefreshTrustedTime();
+ synchronized (mRulesLock) {
+ mRestrictBackground = restrictBackground;
+ updateRulesForGlobalChangeLocked(true);
+ updateNotificationsLocked();
+ writePolicyLocked();
+ }
- maybeRefreshTrustedTime();
- synchronized (mRulesLock) {
- mRestrictBackground = restrictBackground;
- updateRulesForGlobalChangeLocked(true);
- updateNotificationsLocked();
- writePolicyLocked();
+ } finally {
+ Binder.restoreCallingIdentity(token);
}
mHandler.obtainMessage(MSG_RESTRICT_BACKGROUND_CHANGED, restrictBackground ? 1 : 0, 0)
diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerShellCommand.java b/services/core/java/com/android/server/net/NetworkPolicyManagerShellCommand.java
index 5cd1025..a5dc008 100644
--- a/services/core/java/com/android/server/net/NetworkPolicyManagerShellCommand.java
+++ b/services/core/java/com/android/server/net/NetworkPolicyManagerShellCommand.java
@@ -211,12 +211,7 @@
if (enabled < 0) {
return enabled;
}
- final long token = Binder.clearCallingIdentity();
- try {
- mInterface.setRestrictBackground(enabled > 0);
- } finally {
- Binder.restoreCallingIdentity(token);
- }
+ mInterface.setRestrictBackground(enabled > 0);
return 0;
}
@@ -225,12 +220,7 @@
if (uid < 0) {
return uid;
}
- final long token = Binder.clearCallingIdentity();
- try {
- mInterface.addRestrictBackgroundWhitelistedUid(uid);
- } finally {
- Binder.restoreCallingIdentity(token);
- }
+ mInterface.addRestrictBackgroundWhitelistedUid(uid);
return 0;
}
@@ -239,12 +229,7 @@
if (uid < 0) {
return uid;
}
- final long token = Binder.clearCallingIdentity();
- try {
- mInterface.removeRestrictBackgroundWhitelistedUid(uid);
- } finally {
- Binder.restoreCallingIdentity(token);
- }
+ mInterface.removeRestrictBackgroundWhitelistedUid(uid);
return 0;
}
diff --git a/services/core/java/com/android/server/notification/TopicImportanceExtractor.java b/services/core/java/com/android/server/notification/ImportanceExtractor.java
similarity index 84%
rename from services/core/java/com/android/server/notification/TopicImportanceExtractor.java
rename to services/core/java/com/android/server/notification/ImportanceExtractor.java
index c6b3e0f..885b9b7 100644
--- a/services/core/java/com/android/server/notification/TopicImportanceExtractor.java
+++ b/services/core/java/com/android/server/notification/ImportanceExtractor.java
@@ -21,7 +21,7 @@
/**
* Determines the importance of the given notification.
*/
-public class TopicImportanceExtractor implements NotificationSignalExtractor {
+public class ImportanceExtractor implements NotificationSignalExtractor {
private static final String TAG = "ImportantTopicExtractor";
private static final boolean DBG = false;
@@ -42,9 +42,8 @@
return null;
}
- final int topicImportance = mConfig.getImportance(record.sbn.getPackageName(),
- record.sbn.getUid(), record.sbn.getNotification().getTopic());
- record.setTopicImportance(topicImportance);
+ record.setUserImportance(
+ mConfig.getImportance(record.sbn.getPackageName(), record.sbn.getUid()));
return null;
}
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index ede1a2f..95198a3 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -30,7 +30,6 @@
import static android.service.notification.NotificationAssistantService.REASON_PACKAGE_CHANGED;
import static android.service.notification.NotificationAssistantService.REASON_PACKAGE_SUSPENDED;
import static android.service.notification.NotificationAssistantService.REASON_PROFILE_TURNED_OFF;
-import static android.service.notification.NotificationAssistantService.REASON_TOPIC_BANNED;
import static android.service.notification.NotificationAssistantService.REASON_USER_STOPPED;
import static android.service.notification.NotificationListenerService.HINT_HOST_DISABLE_EFFECTS;
import static android.service.notification.NotificationListenerService.SUPPRESSED_EFFECT_SCREEN_OFF;
@@ -754,7 +753,7 @@
for (String pkgName : pkgList) {
if (cancelNotifications) {
cancelAllNotificationsInt(MY_UID, MY_PID, pkgName, 0, 0, !queryRestart,
- changeUserId, reason, null, null);
+ changeUserId, reason, null);
}
}
}
@@ -787,14 +786,14 @@
int userHandle = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1);
if (userHandle >= 0) {
cancelAllNotificationsInt(MY_UID, MY_PID, null, 0, 0, true, userHandle,
- REASON_USER_STOPPED, null, null);
+ REASON_USER_STOPPED, null);
}
} else if (action.equals(Intent.ACTION_MANAGED_PROFILE_AVAILABILITY_CHANGED)) {
boolean inQuietMode = intent.getBooleanExtra(Intent.EXTRA_QUIET_MODE, false);
int userHandle = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1);
if (inQuietMode && userHandle >= 0) {
cancelAllNotificationsInt(MY_UID, MY_PID, null, 0, 0, true, userHandle,
- REASON_PROFILE_TURNED_OFF, null, null);
+ REASON_PROFILE_TURNED_OFF, null);
}
} else if (action.equals(Intent.ACTION_USER_PRESENT)) {
// turn off LED when user passes through lock screen
@@ -1086,7 +1085,7 @@
// Now, cancel any outstanding notifications that are part of a just-disabled app
if (ENABLE_BLOCKED_NOTIFICATIONS && !enabled) {
cancelAllNotificationsInt(MY_UID, MY_PID, pkg, 0, 0, true, UserHandle.getUserId(uid),
- REASON_PACKAGE_BANNED, null, null);
+ REASON_PACKAGE_BANNED, null);
}
}
@@ -1250,7 +1249,7 @@
// running foreground services.
cancelAllNotificationsInt(Binder.getCallingUid(), Binder.getCallingPid(),
pkg, 0, Notification.FLAG_FOREGROUND_SERVICE, true, userId,
- REASON_APP_CANCEL_ALL, null, null);
+ REASON_APP_CANCEL_ALL, null);
}
@Override
@@ -1279,79 +1278,50 @@
}
@Override
- public boolean hasBannedTopics(String pkg, int uid) {
+ public void setPriority(String pkg, int uid, int priority) {
checkCallerIsSystem();
- return mRankingHelper.hasBannedTopics(pkg, uid);
- }
-
- @Override
- public ParceledListSlice<Notification.Topic> getTopics(String pkg, int uid) {
- checkCallerIsSystem();
- return new ParceledListSlice<Notification.Topic>(mRankingHelper.getTopics(pkg, uid));
- }
-
- @Override
- public void setPriority(String pkg, int uid, Notification.Topic topic, int priority) {
- checkCallerIsSystem();
- mRankingHelper.setPriority(pkg, uid, topic, priority);
+ mRankingHelper.setPriority(pkg, uid, priority);
savePolicyFile();
}
@Override
- public int getPriority(String pkg, int uid, Notification.Topic topic) {
+ public int getPriority(String pkg, int uid) {
checkCallerIsSystem();
- return mRankingHelper.getPriority(pkg, uid, topic);
+ return mRankingHelper.getPriority(pkg, uid);
}
@Override
- public void setVisibilityOverride(String pkg, int uid, Notification.Topic topic,
- int visibility) {
+ public void setVisibilityOverride(String pkg, int uid, int visibility) {
checkCallerIsSystem();
- mRankingHelper.setVisibilityOverride(pkg, uid, topic, visibility);
+ mRankingHelper.setVisibilityOverride(pkg, uid, visibility);
savePolicyFile();
}
@Override
- public int getVisibilityOverride(String pkg, int uid, Notification.Topic topic) {
+ public int getVisibilityOverride(String pkg, int uid) {
checkCallerIsSystem();
- return mRankingHelper.getVisibilityOverride(pkg, uid, topic);
+ return mRankingHelper.getVisibilityOverride(pkg, uid);
}
@Override
- public void setImportance(String pkg, int uid, Notification.Topic topic,
- int importance) {
+ public void setImportance(String pkg, int uid, int importance) {
enforceSystemOrSystemUI("Caller not system or systemui");
- if (topic == null) {
- // App wide, potentially store block in app ops.
- setNotificationsEnabledForPackageImpl(pkg, uid,
- importance != NotificationListenerService.Ranking.IMPORTANCE_NONE);
- } else {
- if (NotificationListenerService.Ranking.IMPORTANCE_NONE == importance) {
- cancelAllNotificationsInt(MY_UID, MY_PID, pkg, 0, 0, true,
- UserHandle.getUserId(uid),
- REASON_TOPIC_BANNED, topic, null);
- }
- }
- mRankingHelper.setImportance(pkg, uid, topic, importance);
+ setNotificationsEnabledForPackageImpl(pkg, uid,
+ importance != NotificationListenerService.Ranking.IMPORTANCE_NONE);
+ mRankingHelper.setImportance(pkg, uid, importance);
savePolicyFile();
}
@Override
- public int getTopicImportance(String pkg, String topicId) {
+ public int getPackageImportance(String pkg) {
checkCallerIsSystemOrSameApp(pkg);
- return mRankingHelper.getImportance(pkg, Binder.getCallingUid(), topicId);
+ return mRankingHelper.getImportance(pkg, Binder.getCallingUid());
}
@Override
- public int getImportance(String pkg, int uid, Notification.Topic topic) {
+ public int getImportance(String pkg, int uid) {
checkCallerIsSystem();
- return mRankingHelper.getImportance(pkg, uid, topic);
- }
-
- @Override
- public boolean doesUserUseTopics(String pkg, int uid) {
- enforceSystemOrSystemUI("Caller not system or systemui");
- return mRankingHelper.doesUserUseTopics(pkg, uid);
+ return mRankingHelper.getImportance(pkg, uid);
}
/**
@@ -2381,11 +2351,9 @@
mRankingHelper.extractSignals(r);
- // why is this here?
- savePolicyFile();
final boolean isPackageSuspended = isPackageSuspendedForUser(pkg, callingUid);
- // blocked apps/topics
+ // blocked apps
if (r.getImportance() == NotificationListenerService.Ranking.IMPORTANCE_NONE
|| !noteNotificationOp(pkg, callingUid) || isPackageSuspended) {
if (!isSystemNotification) {
@@ -3182,11 +3150,11 @@
}
/**
- * Cancels all notifications from a given package or topic that have all of the
+ * Cancels all notifications from a given package that have all of the
* {@code mustHaveFlags}.
*/
boolean cancelAllNotificationsInt(int callingUid, int callingPid, String pkg, int mustHaveFlags,
- int mustNotHaveFlags, boolean doit, int userId, int reason, Notification.Topic topic,
+ int mustNotHaveFlags, boolean doit, int userId, int reason,
ManagedServiceInfo listener) {
String listenerName = listener == null ? null : listener.component.toShortString();
EventLogTags.writeNotificationCancelAll(callingUid, callingPid,
@@ -3214,10 +3182,6 @@
if (pkg != null && !r.sbn.getPackageName().equals(pkg)) {
continue;
}
- if (topic != null
- && !topic.getId().equals(r.getNotification().getTopic().getId())) {
- continue;
- }
if (canceledNotifications == null) {
canceledNotifications = new ArrayList<>();
}
diff --git a/services/core/java/com/android/server/notification/NotificationRecord.java b/services/core/java/com/android/server/notification/NotificationRecord.java
index 2ca5534..25d17f6 100644
--- a/services/core/java/com/android/server/notification/NotificationRecord.java
+++ b/services/core/java/com/android/server/notification/NotificationRecord.java
@@ -35,7 +35,6 @@
import android.service.notification.StatusBarNotification;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.logging.MetricsLogger;
import com.android.server.EventLogTags;
import java.io.PrintWriter;
@@ -92,12 +91,12 @@
private int mAuthoritativeRank;
private String mGlobalSortKey;
private int mPackageVisibility;
- private int mTopicImportance = IMPORTANCE_UNSPECIFIED;
+ private int mUserImportance = IMPORTANCE_UNSPECIFIED;
private int mImportance = IMPORTANCE_UNSPECIFIED;
private CharSequence mImportanceExplanation = null;
private int mSuppressedVisualEffects = 0;
- private String mTopicExplanation;
+ private String mUserExplanation;
private String mPeopleExplanation;
@VisibleForTesting
@@ -183,7 +182,7 @@
mRankingTimeMs = calculateRankingTimeMs(previous.getRankingTimeMs());
mCreationTimeMs = previous.mCreationTimeMs;
mVisibleSinceMs = previous.mVisibleSinceMs;
- mTopicImportance = previous.mTopicImportance;
+ mUserImportance = previous.mUserImportance;
mImportance = previous.mImportance;
mImportanceExplanation = previous.mImportanceExplanation;
// Don't copy mGlobalSortKey, recompute it.
@@ -275,8 +274,8 @@
pw.println(prefix + " mRecentlyIntrusive=" + mRecentlyIntrusive);
pw.println(prefix + " mPackagePriority=" + mPackagePriority);
pw.println(prefix + " mPackageVisibility=" + mPackageVisibility);
- pw.println(prefix + " mTopicImportance="
- + NotificationListenerService.Ranking.importanceToString(mTopicImportance));
+ pw.println(prefix + " mUserImportance="
+ + NotificationListenerService.Ranking.importanceToString(mUserImportance));
pw.println(prefix + " mImportance="
+ NotificationListenerService.Ranking.importanceToString(mImportance));
pw.println(prefix + " mImportanceExplanation=" + mImportanceExplanation);
@@ -357,17 +356,17 @@
return mPackageVisibility;
}
- public void setTopicImportance(int importance) {
- mTopicImportance = importance;
- applyTopicImportance();
+ public void setUserImportance(int importance) {
+ mUserImportance = importance;
+ applyUserImportance();
}
- private String getTopicExplanation() {
- if (mTopicExplanation == null) {
- mTopicExplanation =
- mContext.getString(com.android.internal.R.string.importance_from_topic);
+ private String getUserExplanation() {
+ if (mUserExplanation == null) {
+ mUserExplanation =
+ mContext.getString(com.android.internal.R.string.importance_from_user);
}
- return mTopicExplanation;
+ return mUserExplanation;
}
private String getPeopleExplanation() {
@@ -378,15 +377,15 @@
return mPeopleExplanation;
}
- private void applyTopicImportance() {
- if (mTopicImportance != NotificationListenerService.Ranking.IMPORTANCE_UNSPECIFIED) {
- mImportance = mTopicImportance;
- mImportanceExplanation = getTopicExplanation();
+ private void applyUserImportance() {
+ if (mUserImportance != NotificationListenerService.Ranking.IMPORTANCE_UNSPECIFIED) {
+ mImportance = mUserImportance;
+ mImportanceExplanation = getUserExplanation();
}
}
- public int getTopicImportance() {
- return mTopicImportance;
+ public int getUserImportance() {
+ return mUserImportance;
}
public void setImportance(int importance, CharSequence explanation) {
@@ -394,7 +393,7 @@
mImportance = importance;
mImportanceExplanation = explanation;
}
- applyTopicImportance();
+ applyUserImportance();
}
public int getImportance() {
@@ -529,6 +528,6 @@
}
public boolean isImportanceFromUser() {
- return mImportance == mTopicImportance;
+ return mImportance == mUserImportance;
}
}
diff --git a/services/core/java/com/android/server/notification/TopicPriorityExtractor.java b/services/core/java/com/android/server/notification/PriorityExtractor.java
similarity index 84%
rename from services/core/java/com/android/server/notification/TopicPriorityExtractor.java
rename to services/core/java/com/android/server/notification/PriorityExtractor.java
index 1df5c2b..6c76476 100644
--- a/services/core/java/com/android/server/notification/TopicPriorityExtractor.java
+++ b/services/core/java/com/android/server/notification/PriorityExtractor.java
@@ -21,7 +21,7 @@
/**
* Determines if the given notification can bypass Do Not Disturb.
*/
-public class TopicPriorityExtractor implements NotificationSignalExtractor {
+public class PriorityExtractor implements NotificationSignalExtractor {
private static final String TAG = "ImportantTopicExtractor";
private static final boolean DBG = false;
@@ -42,9 +42,8 @@
return null;
}
- final int packagePriority = mConfig.getPriority(record.sbn.getPackageName(),
- record.sbn.getUid(), record.sbn.getNotification().getTopic());
- record.setPackagePriority(packagePriority);
+ record.setPackagePriority(
+ mConfig.getPriority(record.sbn.getPackageName(), record.sbn.getUid()));
return null;
}
diff --git a/services/core/java/com/android/server/notification/RankingConfig.java b/services/core/java/com/android/server/notification/RankingConfig.java
index 9773474..b5cc2ef 100644
--- a/services/core/java/com/android/server/notification/RankingConfig.java
+++ b/services/core/java/com/android/server/notification/RankingConfig.java
@@ -15,30 +15,17 @@
*/
package com.android.server.notification;
-import android.app.Notification;
-
-import java.util.List;
-
public interface RankingConfig {
- List<Notification.Topic> getTopics(String packageName, int uid);
+ int getPriority(String packageName, int uid);
- int getPriority(String packageName, int uid, Notification.Topic topic);
+ void setPriority(String packageName, int uid, int priority);
- void setPriority(String packageName, int uid, Notification.Topic topic, int priority);
+ int getVisibilityOverride(String packageName, int uid);
- int getVisibilityOverride(String packageName, int uid, Notification.Topic topic);
+ void setVisibilityOverride(String packageName, int uid, int visibility);
- void setVisibilityOverride(String packageName, int uid, Notification.Topic topic,
- int visibility);
+ void setImportance(String packageName, int uid, int importance);
- void setImportance(String packageName, int uid, Notification.Topic topic, int importance);
-
- int getImportance(String packageName, int uid, Notification.Topic topic);
-
- boolean doesUserUseTopics(String packageName, int uid);
-
- boolean hasBannedTopics(String packageName, int uid);
-
- int getImportance(String packageName, int uid, String topicId);
+ int getImportance(String packageName, int uid);
}
diff --git a/services/core/java/com/android/server/notification/RankingHelper.java b/services/core/java/com/android/server/notification/RankingHelper.java
index 91eab10..fd96a78 100644
--- a/services/core/java/com/android/server/notification/RankingHelper.java
+++ b/services/core/java/com/android/server/notification/RankingHelper.java
@@ -20,14 +20,11 @@
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.UserHandle;
-import android.service.notification.NotificationListenerService;
import android.service.notification.NotificationListenerService.Ranking;
import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.Slog;
-import com.android.internal.R;
-
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlSerializer;
@@ -36,8 +33,6 @@
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.List;
-import java.util.Map;
public class RankingHelper implements RankingConfig {
private static final String TAG = "RankingHelper";
@@ -47,7 +42,6 @@
private static final String TAG_RANKING = "ranking";
private static final String TAG_PACKAGE = "package";
private static final String ATT_VERSION = "version";
- private static final String TAG_TOPIC = "topic";
private static final String ATT_NAME = "name";
private static final String ATT_UID = "uid";
@@ -141,8 +135,6 @@
if (type == XmlPullParser.START_TAG) {
if (TAG_PACKAGE.equals(tag)) {
int uid = safeInt(parser, ATT_UID, Record.UNKNOWN_UID);
- int priority = safeInt(parser, ATT_PRIORITY, DEFAULT_PRIORITY);
- int vis = safeInt(parser, ATT_VISIBILITY, DEFAULT_VISIBILITY);
String name = parser.getAttributeValue(null, ATT_NAME);
if (!TextUtils.isEmpty(name)) {
@@ -165,16 +157,8 @@
r = getOrCreateRecord(name, uid);
}
r.importance = safeInt(parser, ATT_IMPORTANCE, DEFAULT_IMPORTANCE);
- r.priority = priority;
- r.visibility = vis;
-
- // Migrate package level settings to the default topic.
- // Might be overwritten by parseTopics.
- Topic defaultTopic = r.topics.get(Notification.TOPIC_DEFAULT);
- defaultTopic.priority = priority;
- defaultTopic.visibility = vis;
-
- parseTopics(r, parser);
+ r.priority = safeInt(parser, ATT_PRIORITY, DEFAULT_PRIORITY);
+ r.visibility = safeInt(parser, ATT_VISIBILITY, DEFAULT_VISIBILITY);
}
}
}
@@ -182,42 +166,6 @@
throw new IllegalStateException("Failed to reach END_DOCUMENT");
}
- public void parseTopics(Record r, XmlPullParser parser)
- throws XmlPullParserException, IOException {
- final int innerDepth = parser.getDepth();
- int type;
- while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
- && (type != XmlPullParser.END_TAG || parser.getDepth() > innerDepth)) {
- if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) {
- continue;
- }
-
- String tagName = parser.getName();
- if (TAG_TOPIC.equals(tagName)) {
- int priority = safeInt(parser, ATT_PRIORITY, DEFAULT_PRIORITY);
- int vis = safeInt(parser, ATT_VISIBILITY, DEFAULT_VISIBILITY);
- int importance = safeInt(parser, ATT_IMPORTANCE, DEFAULT_IMPORTANCE);
- String id = parser.getAttributeValue(null, ATT_TOPIC_ID);
- CharSequence label = parser.getAttributeValue(null, ATT_TOPIC_LABEL);
-
- if (!TextUtils.isEmpty(id)) {
- Topic topic = new Topic(new Notification.Topic(id, label));
-
- if (priority != DEFAULT_PRIORITY) {
- topic.priority = priority;
- }
- if (vis != DEFAULT_VISIBILITY) {
- topic.visibility = vis;
- }
- if (importance != DEFAULT_IMPORTANCE) {
- topic.importance = importance;
- }
- r.topics.put(id, topic);
- }
- }
- }
- }
-
private static String recordKey(String pkg, int uid) {
return pkg + "|" + uid;
}
@@ -229,7 +177,6 @@
r = new Record();
r.pkg = pkg;
r.uid = uid;
- r.topics.put(Notification.TOPIC_DEFAULT, new Topic(createDefaultTopic()));
mRecords.put(key, r);
}
return r;
@@ -246,46 +193,31 @@
if (forBackup && UserHandle.getUserId(r.uid) != UserHandle.USER_SYSTEM) {
continue;
}
- out.startTag(null, TAG_PACKAGE);
- out.attribute(null, ATT_NAME, r.pkg);
- if (r.importance != DEFAULT_IMPORTANCE) {
- out.attribute(null, ATT_IMPORTANCE, Integer.toString(r.importance));
- }
- if (r.priority != DEFAULT_PRIORITY) {
- out.attribute(null, ATT_PRIORITY, Integer.toString(r.priority));
- }
- if (r.visibility != DEFAULT_VISIBILITY) {
- out.attribute(null, ATT_VISIBILITY, Integer.toString(r.visibility));
- }
+ final boolean hasNonDefaultSettings = r.importance != DEFAULT_IMPORTANCE
+ || r.priority != DEFAULT_PRIORITY || r.visibility != DEFAULT_VISIBILITY;
+ if (hasNonDefaultSettings) {
+ out.startTag(null, TAG_PACKAGE);
+ out.attribute(null, ATT_NAME, r.pkg);
+ if (r.importance != DEFAULT_IMPORTANCE) {
+ out.attribute(null, ATT_IMPORTANCE, Integer.toString(r.importance));
+ }
+ if (r.priority != DEFAULT_PRIORITY) {
+ out.attribute(null, ATT_PRIORITY, Integer.toString(r.priority));
+ }
+ if (r.visibility != DEFAULT_VISIBILITY) {
+ out.attribute(null, ATT_VISIBILITY, Integer.toString(r.visibility));
+ }
- if (!forBackup) {
- out.attribute(null, ATT_UID, Integer.toString(r.uid));
- }
+ if (!forBackup) {
+ out.attribute(null, ATT_UID, Integer.toString(r.uid));
+ }
- writeTopicsXml(out, r);
- out.endTag(null, TAG_PACKAGE);
+ out.endTag(null, TAG_PACKAGE);
+ }
}
out.endTag(null, TAG_RANKING);
}
- public void writeTopicsXml(XmlSerializer out, Record r) throws IOException {
- for (Topic t : r.topics.values()) {
- out.startTag(null, TAG_TOPIC);
- out.attribute(null, ATT_TOPIC_ID, t.topic.getId());
- out.attribute(null, ATT_TOPIC_LABEL, t.topic.getLabel().toString());
- if (t.priority != DEFAULT_PRIORITY) {
- out.attribute(null, ATT_PRIORITY, Integer.toString(t.priority));
- }
- if (t.visibility != DEFAULT_VISIBILITY) {
- out.attribute(null, ATT_VISIBILITY, Integer.toString(t.visibility));
- }
- if (t.importance != DEFAULT_IMPORTANCE) {
- out.attribute(null, ATT_IMPORTANCE, Integer.toString(t.importance));
- }
- out.endTag(null, TAG_TOPIC);
- }
- }
-
private void updateConfig() {
final int N = mSignalExtractors.length;
for (int i = 0; i < N; i++) {
@@ -370,189 +302,62 @@
}
}
- private static boolean safeBool(XmlPullParser parser, String att, boolean defValue) {
- final String val = parser.getAttributeValue(null, att);
- return tryParseBool(val, defValue);
- }
-
private static boolean tryParseBool(String value, boolean defValue) {
if (TextUtils.isEmpty(value)) return defValue;
return Boolean.valueOf(value);
}
+ /**
+ * Gets priority.
+ */
@Override
- public List<Notification.Topic> getTopics(String packageName, int uid) {
- final Record r = getOrCreateRecord(packageName, uid);
- List<Notification.Topic> topics = new ArrayList<>();
- for (Topic t : r.topics.values()) {
- topics.add(t.topic);
- }
- return topics;
- }
-
- @Override
- public boolean hasBannedTopics(String packageName, int uid) {
- final Record r = getOrCreateRecord(packageName, uid);
- for (Topic t : r.topics.values()) {
- if (t.importance == Ranking.IMPORTANCE_NONE) {
- return true;
- }
- }
- return false;
+ public int getPriority(String packageName, int uid) {
+ return getOrCreateRecord(packageName, uid).priority;
}
/**
- * Gets priority. If a topic is given, returns the priority of that topic. Otherwise, the
- * priority of the app.
+ * Sets priority.
*/
@Override
- public int getPriority(String packageName, int uid, Notification.Topic topic) {
- final Record r = getOrCreateRecord(packageName, uid);
- if (topic == null) {
- return r.priority;
- }
- return getOrCreateTopic(r, topic).priority;
- }
-
- /**
- * Sets priority. If a topic is given, sets the priority of that topic. If not,
- * sets the default priority for all new topics that appear in the future, and resets
- * the priority of all current topics.
- */
- @Override
- public void setPriority(String packageName, int uid, Notification.Topic topic,
- int priority) {
- final Record r = getOrCreateRecord(packageName, uid);
- if (topic == null) {
- r.priority = priority;
- for (Topic t : r.topics.values()) {
- t.priority = priority;
- }
- } else {
- getOrCreateTopic(r, topic).priority = priority;
- }
+ public void setPriority(String packageName, int uid, int priority) {
+ getOrCreateRecord(packageName, uid).priority = priority;
updateConfig();
}
/**
- * Gets visual override. If a topic is given, returns the override of that topic. Otherwise, the
- * override of the app.
+ * Gets visual override.
*/
@Override
- public int getVisibilityOverride(String packageName, int uid, Notification.Topic topic) {
- final Record r = getOrCreateRecord(packageName, uid);
- if (topic == null) {
- return r.visibility;
- }
- return getOrCreateTopic(r, topic).visibility;
+ public int getVisibilityOverride(String packageName, int uid) {
+ return getOrCreateRecord(packageName, uid).visibility;
}
/**
- * Sets visibility override. If a topic is given, sets the override of that topic. If not,
- * sets the default override for all new topics that appear in the future, and resets
- * the override of all current topics.
+ * Sets visibility override.
*/
@Override
- public void setVisibilityOverride(String pkgName, int uid, Notification.Topic topic,
- int visibility) {
- final Record r = getOrCreateRecord(pkgName, uid);
- if (topic == null) {
- r.visibility = visibility;
- for (Topic t : r.topics.values()) {
- t.visibility = visibility;
- }
- } else {
- getOrCreateTopic(r, topic).visibility = visibility;
- }
+ public void setVisibilityOverride(String pkgName, int uid, int visibility) {
+ getOrCreateRecord(pkgName, uid).visibility = visibility;
updateConfig();
}
/**
- * Gets the importance of a topic. Unlike {@link #getImportance(String, int, String)}, does not
- * create package or topic records if they don't exist.
+ * Gets importance.
*/
@Override
- public int getImportance(String packageName, int uid, String topicId) {
- final String key = recordKey(packageName, uid);
- Record r = mRecords.get(key);
- if (r == null) {
- return Ranking.IMPORTANCE_UNSPECIFIED;
- }
- Topic t = r.topics.get(topicId);
- if (t == null) {
- return Ranking.IMPORTANCE_UNSPECIFIED;
- }
- return t.importance;
+ public int getImportance(String packageName, int uid) {
+ return getOrCreateRecord(packageName, uid).importance;
}
/**
- * Gets importance. If a topic is given, returns the importance of that topic. Otherwise, the
- * importance of the app.
+ * Sets importance.
*/
@Override
- public int getImportance(String packageName, int uid, Notification.Topic topic) {
- final Record r = getOrCreateRecord(packageName, uid);
- if (topic == null) {
- return r.importance;
- }
- return getOrCreateTopic(r, topic).importance;
- }
-
- /**
- * Sets importance. If a topic is given, sets the importance of that topic. If not, sets the
- * default importance for all new topics that appear in the future, and resets
- * the importance of all current topics (unless the app is being blocked).
- */
- @Override
- public void setImportance(String pkgName, int uid, Notification.Topic topic,
- int importance) {
- final Record r = getOrCreateRecord(pkgName, uid);
- if (topic == null) {
- r.importance = importance;
- if (Ranking.IMPORTANCE_NONE != importance) {
- for (Topic t : r.topics.values()) {
- t.importance = importance;
- }
- }
- } else {
- getOrCreateTopic(r, topic).importance = importance;
- }
+ public void setImportance(String pkgName, int uid, int importance) {
+ getOrCreateRecord(pkgName, uid).importance = importance;
updateConfig();
}
- @Override
- public boolean doesUserUseTopics(String pkgName, int uid) {
- final Record r = getOrCreateRecord(pkgName, uid);
- for (Topic topic : r.topics.values()) {
- if (topic.importance != Ranking.IMPORTANCE_UNSPECIFIED
- && r.importance != topic.importance)
- return true;
- }
- return false;
- }
-
- private Topic getOrCreateTopic(Record r, Notification.Topic topic) {
- if (topic == null) {
- topic = createDefaultTopic();
- }
- Topic t = r.topics.get(topic.getId());
- if (t != null) {
- return t;
- } else {
- t = new Topic(topic);
- t.importance = r.importance;
- t.priority = r.priority;
- t.visibility = r.visibility;
- r.topics.put(topic.getId(), t);
- return t;
- }
- }
-
- private Notification.Topic createDefaultTopic() {
- return new Notification.Topic(Notification.TOPIC_DEFAULT,
- mContext.getString(R.string.default_notification_topic_label));
- }
-
public void dump(PrintWriter pw, String prefix, NotificationManagerService.DumpFilter filter) {
if (filter == null) {
final int N = mSignalExtractors.length;
@@ -600,25 +405,6 @@
pw.print(Ranking.importanceToString(r.visibility));
}
pw.println();
- for (Topic t : r.topics.values()) {
- pw.print(prefix);
- pw.print(" ");
- pw.print(" ");
- pw.print(t.topic.getId());
- if (t.priority != DEFAULT_PRIORITY) {
- pw.print(" priority=");
- pw.print(Notification.priorityToString(t.priority));
- }
- if (t.visibility != DEFAULT_VISIBILITY) {
- pw.print(" visibility=");
- pw.print(Notification.visibilityToString(t.visibility));
- }
- if (t.importance != DEFAULT_IMPORTANCE) {
- pw.print(" importance=");
- pw.print(Ranking.importanceToString(t.importance));
- }
- pw.println();
- }
}
}
}
@@ -657,17 +443,5 @@
int importance = DEFAULT_IMPORTANCE;
int priority = DEFAULT_PRIORITY;
int visibility = DEFAULT_VISIBILITY;
- Map<String, Topic> topics = new ArrayMap<>();
}
-
- private static class Topic {
- Notification.Topic topic;
- int priority = DEFAULT_PRIORITY;
- int visibility = DEFAULT_VISIBILITY;
- int importance = DEFAULT_IMPORTANCE;
-
- public Topic(Notification.Topic topic) {
- this.topic = topic;
- }
- }
}
diff --git a/services/core/java/com/android/server/notification/TopicVisibilityExtractor.java b/services/core/java/com/android/server/notification/VisibilityExtractor.java
similarity index 79%
rename from services/core/java/com/android/server/notification/TopicVisibilityExtractor.java
rename to services/core/java/com/android/server/notification/VisibilityExtractor.java
index eaa3ed3..2da2b2f 100644
--- a/services/core/java/com/android/server/notification/TopicVisibilityExtractor.java
+++ b/services/core/java/com/android/server/notification/VisibilityExtractor.java
@@ -21,8 +21,8 @@
/**
* Determines if the given notification can display sensitive content on the lockscreen.
*/
-public class TopicVisibilityExtractor implements NotificationSignalExtractor {
- private static final String TAG = "TopicVisibilityExtractor";
+public class VisibilityExtractor implements NotificationSignalExtractor {
+ private static final String TAG = "VisibilityExtractor";
private static final boolean DBG = false;
private RankingConfig mConfig;
@@ -42,10 +42,8 @@
return null;
}
- final int packageVisibility = mConfig.getVisibilityOverride(
- record.sbn.getPackageName(), record.sbn.getUid(),
- record.sbn.getNotification().getTopic());
- record.setPackageVisibilityOverride(packageVisibility);
+ record.setPackageVisibilityOverride(
+ mConfig.getVisibilityOverride(record.sbn.getPackageName(), record.sbn.getUid()));
return null;
}
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index e7465c0..d5ed04a 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -41,6 +41,7 @@
import android.os.Environment;
import android.os.FileUtils;
import android.os.Handler;
+import android.os.IBinder;
import android.os.IUserManager;
import android.os.Message;
import android.os.ParcelFileDescriptor;
@@ -188,6 +189,8 @@
private final File mUsersDir;
private final File mUserListFile;
+ private static final IBinder mUserRestriconToken = new Binder();
+
/**
* User-related information that is used for persisting to flash. Only UserInfo is
* directly exposed to other system apps.
@@ -1016,7 +1019,7 @@
if (mAppOpsService != null) { // We skip it until system-ready.
final long token = Binder.clearCallingIdentity();
try {
- mAppOpsService.setUserRestrictions(effective, userId);
+ mAppOpsService.setUserRestrictions(effective, mUserRestriconToken, userId);
} catch (RemoteException e) {
Log.w(LOG_TAG, "Unable to notify AppOpsService of UserRestrictions");
} finally {
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index e88b72f..716b96f 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -33,6 +33,7 @@
import static android.view.WindowManagerPolicy.WindowManagerFuncs.LID_CLOSED;
import static android.view.WindowManagerPolicy.WindowManagerFuncs.LID_OPEN;
+import android.Manifest;
import android.app.ActivityManager;
import android.app.ActivityManager.StackId;
import android.app.ActivityManagerInternal;
@@ -2035,7 +2036,7 @@
permission = android.Manifest.permission.INTERNAL_SYSTEM_WINDOW;
}
if (permission != null) {
- if (permission == android.Manifest.permission.SYSTEM_ALERT_WINDOW) {
+ if (android.Manifest.permission.SYSTEM_ALERT_WINDOW.equals(permission)) {
final int callingUid = Binder.getCallingUid();
// system processes will be automatically allowed privilege to draw
if (callingUid == Process.SYSTEM_UID) {
@@ -6075,9 +6076,20 @@
public void getStableInsetsLw(int displayRotation, int displayWidth, int displayHeight,
Rect outInsets) {
outInsets.setEmpty();
+
+ // Navigation bar and status bar.
+ getNonDecorInsetsLw(displayRotation, displayWidth, displayHeight, outInsets);
if (mStatusBar != null) {
outInsets.top = mStatusBarHeight;
}
+ }
+
+ @Override
+ public void getNonDecorInsetsLw(int displayRotation, int displayWidth, int displayHeight,
+ Rect outInsets) {
+ outInsets.setEmpty();
+
+ // Only navigation bar
if (mNavigationBar != null) {
if (isNavigationBarOnBottom(displayWidth, displayHeight)) {
outInsets.bottom = getNavigationBarHeight(displayRotation, mUiMode);
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
index a1f24f7..dbaa598 100644
--- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -49,6 +49,7 @@
import android.os.UserHandle;
import android.os.WorkSource;
import android.provider.Settings;
+import android.provider.Settings.Secure;
import android.service.dreams.DreamManagerInternal;
import android.util.EventLog;
import android.util.Slog;
@@ -468,6 +469,9 @@
private final ArrayList<PowerManagerInternal.LowPowerModeListener> mLowPowerModeListeners
= new ArrayList<PowerManagerInternal.LowPowerModeListener>();
+ // True if brightness should be affected by twilight.
+ private boolean mBrightnessUseTwilight;
+
private native void nativeInit();
private static native void nativeAcquireSuspendBlocker(String name);
@@ -620,6 +624,9 @@
resolver.registerContentObserver(Settings.Secure.getUriFor(
Settings.Secure.DOUBLE_TAP_TO_WAKE),
false, mSettingsObserver, UserHandle.USER_ALL);
+ resolver.registerContentObserver(Settings.Secure.getUriFor(
+ Secure.BRIGHTNESS_USE_TWILIGHT),
+ false, mSettingsObserver, UserHandle.USER_ALL);
// Go.
readConfigurationLocked();
updateSettingsLocked();
@@ -726,6 +733,9 @@
Settings.System.SCREEN_BRIGHTNESS_MODE,
Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL, UserHandle.USER_CURRENT);
+ mBrightnessUseTwilight = Settings.Secure.getIntForUser(resolver,
+ Secure.BRIGHTNESS_USE_TWILIGHT, 0, UserHandle.USER_CURRENT) != 0;
+
final boolean lowPowerModeEnabled = Settings.Global.getInt(resolver,
Settings.Global.LOW_POWER_MODE, 0) != 0;
final boolean autoLowPowerModeConfigured = Settings.Global.getInt(resolver,
@@ -1997,6 +2007,7 @@
mDisplayPowerRequest.useProximitySensor = shouldUseProximitySensorLocked();
mDisplayPowerRequest.lowPowerMode = mLowPowerModeEnabled;
mDisplayPowerRequest.boostScreenBrightness = mScreenBrightnessBoostInProgress;
+ mDisplayPowerRequest.useTwilight = mBrightnessUseTwilight;
if (mDisplayPowerRequest.policy == DisplayPowerRequest.POLICY_DOZE) {
mDisplayPowerRequest.dozeScreenState = mDozeScreenStateOverrideFromDreamManager;
diff --git a/services/core/java/com/android/server/twilight/TwilightManager.java b/services/core/java/com/android/server/twilight/TwilightManager.java
index b3de58b..56137a4 100644
--- a/services/core/java/com/android/server/twilight/TwilightManager.java
+++ b/services/core/java/com/android/server/twilight/TwilightManager.java
@@ -20,5 +20,6 @@
public interface TwilightManager {
void registerListener(TwilightListener listener, Handler handler);
+ void unregisterListener(TwilightListener listener);
TwilightState getCurrentState();
}
diff --git a/services/core/java/com/android/server/twilight/TwilightService.java b/services/core/java/com/android/server/twilight/TwilightService.java
index a71961c..ac1ab64 100644
--- a/services/core/java/com/android/server/twilight/TwilightService.java
+++ b/services/core/java/com/android/server/twilight/TwilightService.java
@@ -19,12 +19,15 @@
import com.android.server.SystemService;
import com.android.server.TwilightCalculator;
+import android.app.ActivityManager;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
+import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.database.ContentObserver;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
@@ -33,6 +36,9 @@
import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.provider.Settings.Secure;
import android.text.format.DateUtils;
import android.text.format.Time;
import android.util.Slog;
@@ -54,6 +60,26 @@
static final String ACTION_UPDATE_TWILIGHT_STATE =
"com.android.server.action.UPDATE_TWILIGHT_STATE";
+ // The amount of time after or before sunrise over which to start adjusting
+ // twilight affected things. We want the change to happen gradually so that
+ // it is below the threshold of perceptibility and so that the adjustment has
+ // maximum effect well after dusk.
+ private static final long TWILIGHT_ADJUSTMENT_TIME = DateUtils.HOUR_IN_MILLIS * 2;
+
+ // Broadcast when twilight changes.
+ public static final String ACTION_TWILIGHT_CHANGED = "android.intent.action.TWILIGHT_CHANGED";
+
+ public static final String EXTRA_IS_NIGHT = "isNight";
+ public static final String EXTRA_AMOUNT = "amount";
+
+ // Amount of time the TwilightService will stay locked in an override state before switching
+ // back to auto.
+ private static final long RESET_TIME = DateUtils.HOUR_IN_MILLIS * 2;
+ private static final String EXTRA_RESET_USER = "user";
+
+ private static final String ACTION_RESET_TWILIGHT_AUTO =
+ "com.android.server.action.RESET_TWILIGHT_AUTO";
+
final Object mLock = new Object();
AlarmManager mAlarmManager;
@@ -65,6 +91,10 @@
TwilightState mTwilightState;
+ private int mCurrentUser;
+ private boolean mLocked;
+ private boolean mBootCompleted;
+
public TwilightService(Context context) {
super(context);
}
@@ -75,14 +105,93 @@
mLocationManager = (LocationManager) getContext().getSystemService(
Context.LOCATION_SERVICE);
mLocationHandler = new LocationHandler();
+ mCurrentUser = ActivityManager.getCurrentUser();
IntentFilter filter = new IntentFilter(Intent.ACTION_AIRPLANE_MODE_CHANGED);
filter.addAction(Intent.ACTION_TIME_CHANGED);
filter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
+ filter.addAction(Intent.ACTION_USER_SWITCHED);
filter.addAction(ACTION_UPDATE_TWILIGHT_STATE);
- getContext().registerReceiver(mUpdateLocationReceiver, filter);
+ getContext().registerReceiver(mReceiver, filter);
publishLocalService(TwilightManager.class, mService);
+ getContext().getContentResolver().registerContentObserver(
+ Secure.getUriFor(Secure.TWILIGHT_MODE), false, mContentObserver, mCurrentUser);
+ mContentObserver.onChange(true);
+ }
+
+ @Override
+ public void onBootPhase(int phase) {
+ if (phase == PHASE_BOOT_COMPLETED) {
+ mBootCompleted = true;
+ sendBroadcast();
+ }
+ }
+
+ private void reregisterSettingObserver() {
+ final ContentResolver contentResolver = getContext().getContentResolver();
+ contentResolver.unregisterContentObserver(mContentObserver);
+ contentResolver.registerContentObserver(Secure.getUriFor(Secure.TWILIGHT_MODE), false,
+ mContentObserver, mCurrentUser);
+ mContentObserver.onChange(true);
+ }
+
+ private void setLockedState(TwilightState state) {
+ synchronized (mLock) {
+ // Make sure we aren't locked so we can set the state.
+ mLocked = false;
+ setTwilightState(state);
+ // Make sure we leave the state locked, so it cant be changed.
+ mLocked = true;
+ // TODO: Don't bother updating state when locked.
+ }
+ }
+
+ private void setTwilightState(TwilightState state) {
+ synchronized (mLock) {
+ if (mLocked) {
+ // State has been locked by secure setting, shouldn't be changed.
+ return;
+ }
+ if (!Objects.equal(mTwilightState, state)) {
+ if (DEBUG) {
+ Slog.d(TAG, "Twilight state changed: " + state);
+ }
+
+ mTwilightState = state;
+
+ final int listenerLen = mListeners.size();
+ for (int i = 0; i < listenerLen; i++) {
+ mListeners.get(i).postUpdate();
+ }
+ }
+ }
+ sendBroadcast();
+ }
+
+ private void sendBroadcast() {
+ synchronized (mLock) {
+ if (mTwilightState == null) {
+ return;
+ }
+ if (mBootCompleted) {
+ Intent intent = new Intent(ACTION_TWILIGHT_CHANGED);
+ intent.putExtra(EXTRA_IS_NIGHT, mTwilightState.isNight());
+ intent.putExtra(EXTRA_AMOUNT, mTwilightState.getAmount());
+ intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY);
+ getContext().sendStickyBroadcastAsUser(intent, UserHandle.ALL);
+ }
+ }
+ }
+
+ private void scheduleReset() {
+ long resetTime = System.currentTimeMillis() + RESET_TIME;
+ Intent resetIntent = new Intent(ACTION_RESET_TWILIGHT_AUTO);
+ resetIntent.putExtra(EXTRA_RESET_USER, mCurrentUser);
+ PendingIntent pendingIntent = PendingIntent.getBroadcast(
+ getContext(), 0, resetIntent, 0);
+ mAlarmManager.cancel(pendingIntent);
+ mAlarmManager.setExact(AlarmManager.RTC, resetTime, pendingIntent);
}
private static class TwilightListenerRecord implements Runnable {
@@ -133,24 +242,22 @@
}
}
}
- };
- private void setTwilightState(TwilightState state) {
- synchronized (mLock) {
- if (!Objects.equal(mTwilightState, state)) {
- if (DEBUG) {
- Slog.d(TAG, "Twilight state changed: " + state);
+ @Override
+ public void unregisterListener(TwilightListener listener) {
+ synchronized (mLock) {
+ for (int i = 0; i < mListeners.size(); i++) {
+ if (mListeners.get(i).mListener == listener) {
+ mListeners.remove(i);
+ }
}
- mTwilightState = state;
-
- final int listenerLen = mListeners.size();
- for (int i = 0; i < listenerLen; i++) {
- mListeners.get(i).postUpdate();
+ if (mListeners.size() == 0) {
+ mLocationHandler.disableLocationUpdates();
}
}
}
- }
+ };
// The user has moved if the accuracy circles of the two locations don't overlap.
private static boolean hasMoved(Location from, Location to) {
@@ -183,6 +290,7 @@
private static final int MSG_GET_NEW_LOCATION_UPDATE = 2;
private static final int MSG_PROCESS_NEW_LOCATION = 3;
private static final int MSG_DO_TWILIGHT_UPDATE = 4;
+ private static final int MSG_DISABLE_LOCATION_UPDATES = 5;
private static final long LOCATION_UPDATE_MS = 24 * DateUtils.HOUR_IN_MILLIS;
private static final long MIN_LOCATION_UPDATE_MS = 30 * DateUtils.MINUTE_IN_MILLIS;
@@ -210,6 +318,10 @@
sendEmptyMessage(MSG_ENABLE_LOCATION_UPDATES);
}
+ public void disableLocationUpdates() {
+ sendEmptyMessage(MSG_DISABLE_LOCATION_UPDATES);
+ }
+
public void requestLocationUpdate() {
sendEmptyMessage(MSG_GET_NEW_LOCATION_UPDATE);
}
@@ -311,6 +423,11 @@
}
break;
+ case MSG_DISABLE_LOCATION_UPDATES:
+ mLocationManager.removeUpdates(mLocationListener);
+ removeMessages(MSG_ENABLE_LOCATION_UPDATES);
+ break;
+
case MSG_DO_TWILIGHT_UPDATE:
updateTwilightState();
break;
@@ -368,11 +485,6 @@
final long now = System.currentTimeMillis();
- // calculate yesterday's twilight
- mTwilightCalculator.calculateTwilight(now - DateUtils.DAY_IN_MILLIS,
- mLocation.getLatitude(), mLocation.getLongitude());
- final long yesterdaySunset = mTwilightCalculator.mSunset;
-
// calculate today's twilight
mTwilightCalculator.calculateTwilight(now,
mLocation.getLatitude(), mLocation.getLongitude());
@@ -385,9 +497,19 @@
mLocation.getLatitude(), mLocation.getLongitude());
final long tomorrowSunrise = mTwilightCalculator.mSunrise;
+ float amount = 0;
+ if (isNight) {
+ if (todaySunrise == -1 || todaySunset == -1) {
+ amount = 1;
+ } else if (now > todaySunset) {
+ amount = Math.min(1, (now - todaySunset) / (float) TWILIGHT_ADJUSTMENT_TIME);
+ } else {
+ amount = Math.max(0, 1
+ - (todaySunrise - now) / (float) TWILIGHT_ADJUSTMENT_TIME);
+ }
+ }
// set twilight state
- TwilightState state = new TwilightState(isNight, yesterdaySunset,
- todaySunrise, todaySunset, tomorrowSunrise);
+ TwilightState state = new TwilightState(isNight, amount);
if (DEBUG) {
Slog.d(TAG, "Updating twilight state: " + state);
}
@@ -402,12 +524,18 @@
// add some extra time to be on the safe side.
nextUpdate += DateUtils.MINUTE_IN_MILLIS;
- if (now > todaySunset) {
- nextUpdate += tomorrowSunrise;
- } else if (now > todaySunrise) {
- nextUpdate += todaySunset;
+ if (amount == 1 || amount == 0) {
+ if (now > todaySunset) {
+ nextUpdate += tomorrowSunrise;
+ } else if (now > todaySunrise) {
+ nextUpdate += todaySunset;
+ } else {
+ nextUpdate += todaySunrise;
+ }
} else {
- nextUpdate += todaySunrise;
+ // This is the update rate while transitioning.
+ // Leave at 10 min for now (one from above).
+ nextUpdate += 9 * DateUtils.MINUTE_IN_MILLIS;
}
}
@@ -423,9 +551,37 @@
}
}
- private final BroadcastReceiver mUpdateLocationReceiver = new BroadcastReceiver() {
+ private final ContentObserver mContentObserver = new ContentObserver(new Handler()) {
+ @Override
+ public void onChange(boolean selfChange) {
+ super.onChange(selfChange);
+ int value = Secure.getIntForUser(getContext().getContentResolver(),
+ Secure.TWILIGHT_MODE, Secure.TWILIGHT_MODE_LOCKED_OFF, mCurrentUser);
+ if (value == Secure.TWILIGHT_MODE_LOCKED_OFF) {
+ setLockedState(new TwilightState(false, 0));
+ } else if (value == Secure.TWILIGHT_MODE_LOCKED_ON) {
+ setLockedState(new TwilightState(true, 1));
+ } else if (value == Secure.TWILIGHT_MODE_AUTO_OVERRIDE_OFF) {
+ setLockedState(new TwilightState(false, 0));
+ scheduleReset();
+ } else if (value == Secure.TWILIGHT_MODE_AUTO_OVERRIDE_ON) {
+ setLockedState(new TwilightState(true, 1));
+ scheduleReset();
+ } else {
+ mLocked = false;
+ mLocationHandler.requestTwilightUpdate();
+ }
+ }
+ };
+
+ private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
+ if (Intent.ACTION_USER_SWITCHED.equals(intent.getAction())) {
+ mCurrentUser = ActivityManager.getCurrentUser();
+ reregisterSettingObserver();
+ return;
+ }
if (Intent.ACTION_AIRPLANE_MODE_CHANGED.equals(intent.getAction())
&& !intent.getBooleanExtra("state", false)) {
// Airplane mode is now off!
@@ -433,6 +589,12 @@
return;
}
+ if (ACTION_RESET_TWILIGHT_AUTO.equals(intent.getAction())) {
+ int user = intent.getIntExtra(EXTRA_RESET_USER, 0);
+ Settings.Secure.putIntForUser(getContext().getContentResolver(),
+ Secure.TWILIGHT_MODE, Secure.TWILIGHT_MODE_AUTO, user);
+ return;
+ }
// Time zone has changed or alarm expired.
mLocationHandler.requestTwilightUpdate();
}
diff --git a/services/core/java/com/android/server/twilight/TwilightState.java b/services/core/java/com/android/server/twilight/TwilightState.java
index 91e24d7..81abc13 100644
--- a/services/core/java/com/android/server/twilight/TwilightState.java
+++ b/services/core/java/com/android/server/twilight/TwilightState.java
@@ -25,20 +25,11 @@
*/
public class TwilightState {
private final boolean mIsNight;
- private final long mYesterdaySunset;
- private final long mTodaySunrise;
- private final long mTodaySunset;
- private final long mTomorrowSunrise;
+ private final float mAmount;
- TwilightState(boolean isNight,
- long yesterdaySunset,
- long todaySunrise, long todaySunset,
- long tomorrowSunrise) {
+ TwilightState(boolean isNight, float amount) {
mIsNight = isNight;
- mYesterdaySunset = yesterdaySunset;
- mTodaySunrise = todaySunrise;
- mTodaySunset = todaySunset;
- mTomorrowSunrise = tomorrowSunrise;
+ mAmount = amount;
}
/**
@@ -49,35 +40,11 @@
}
/**
- * Returns the time of yesterday's sunset in the System.currentTimeMillis() timebase,
- * or -1 if the sun never sets.
+ * For twilight affects that change gradually over time, this is the amount they
+ * should currently be in effect.
*/
- public long getYesterdaySunset() {
- return mYesterdaySunset;
- }
-
- /**
- * Returns the time of today's sunrise in the System.currentTimeMillis() timebase,
- * or -1 if the sun never rises.
- */
- public long getTodaySunrise() {
- return mTodaySunrise;
- }
-
- /**
- * Returns the time of today's sunset in the System.currentTimeMillis() timebase,
- * or -1 if the sun never sets.
- */
- public long getTodaySunset() {
- return mTodaySunset;
- }
-
- /**
- * Returns the time of tomorrow's sunrise in the System.currentTimeMillis() timebase,
- * or -1 if the sun never rises.
- */
- public long getTomorrowSunrise() {
- return mTomorrowSunrise;
+ public float getAmount() {
+ return mAmount;
}
@Override
@@ -88,10 +55,7 @@
public boolean equals(TwilightState other) {
return other != null
&& mIsNight == other.mIsNight
- && mYesterdaySunset == other.mYesterdaySunset
- && mTodaySunrise == other.mTodaySunrise
- && mTodaySunset == other.mTodaySunset
- && mTomorrowSunrise == other.mTomorrowSunrise;
+ && mAmount == other.mAmount;
}
@Override
@@ -103,10 +67,7 @@
public String toString() {
DateFormat f = DateFormat.getDateTimeInstance();
return "{TwilightState: isNight=" + mIsNight
- + ", mYesterdaySunset=" + f.format(new Date(mYesterdaySunset))
- + ", mTodaySunrise=" + f.format(new Date(mTodaySunrise))
- + ", mTodaySunset=" + f.format(new Date(mTodaySunset))
- + ", mTomorrowSunrise=" + f.format(new Date(mTomorrowSunrise))
+ + ", mAmount=" + mAmount
+ "}";
}
}
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
index a16c8d1..7378bde 100644
--- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
+++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
@@ -1072,6 +1072,7 @@
}
}
+ @Override
public ParcelFileDescriptor getWallpaper(IWallpaperManagerCallback cb, final int which,
Bundle outParams, int wallpaperUserId) {
if (wallpaperUserId != UserHandle.getCallingUserId()) {
@@ -1086,19 +1087,17 @@
}
synchronized (mLock) {
- WallpaperData wallpaper = null;
- if (which == FLAG_SET_LOCK) {
- wallpaper = mLockWallpaperMap.get(wallpaperUserId);
+ final SparseArray<WallpaperData> whichSet =
+ (which == FLAG_SET_LOCK) ? mLockWallpaperMap : mWallpaperMap;
+ WallpaperData wallpaper = whichSet.get(wallpaperUserId);
+ if (wallpaper == null) {
+ // common case, this is the first lookup post-boot of the system or
+ // unified lock, so we bring up the saved state lazily now and recheck.
+ loadSettingsLocked(wallpaperUserId);
+ wallpaper = whichSet.get(wallpaperUserId);
if (wallpaper == null) {
- // If you ask for the lock wallpaper specifically and there isn't one,
- // we say so rather than returning the system wallpaper as fallback.
return null;
}
- } else {
- wallpaper = mWallpaperMap.get(wallpaperUserId);
- }
- if (wallpaper == null) {
- return null;
}
try {
if (outParams != null) {
diff --git a/services/core/java/com/android/server/wm/AppTransition.java b/services/core/java/com/android/server/wm/AppTransition.java
index 1821487..5cb7099 100644
--- a/services/core/java/com/android/server/wm/AppTransition.java
+++ b/services/core/java/com/android/server/wm/AppTransition.java
@@ -46,13 +46,13 @@
import android.annotation.Nullable;
import android.content.Context;
-import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.Rect;
import android.os.Debug;
import android.os.IBinder;
import android.os.IRemoteCallback;
import android.os.RemoteException;
+import android.util.ArraySet;
import android.util.Slog;
import android.util.SparseArray;
import android.view.AppTransitionAnimationSpec;
@@ -63,8 +63,6 @@
import android.view.animation.AnimationSet;
import android.view.animation.AnimationUtils;
import android.view.animation.ClipRectAnimation;
-import android.view.animation.ClipRectLRAnimation;
-import android.view.animation.ClipRectTBAnimation;
import android.view.animation.Interpolator;
import android.view.animation.PathInterpolator;
import android.view.animation.ScaleAnimation;
@@ -73,10 +71,11 @@
import com.android.internal.util.DumpUtils.Dump;
import com.android.server.AttributeCache;
import com.android.server.wm.WindowManagerService.H;
+import com.android.server.wm.animation.ClipRectLRAnimation;
+import com.android.server.wm.animation.ClipRectTBAnimation;
import java.io.PrintWriter;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -135,6 +134,16 @@
private static final float RECENTS_THUMBNAIL_FADEOUT_FRACTION = 0.5f;
static final int DEFAULT_APP_TRANSITION_DURATION = 336;
+
+ /** Interpolator to be used for animations that respond directly to a touch */
+ static final Interpolator TOUCH_RESPONSE_INTERPOLATOR =
+ new PathInterpolator(0.3f, 0f, 0.1f, 1f);
+
+ /**
+ * Maximum duration for the clip reveal animation. This is used when there is a lot of movement
+ * involved, to make it more understandable.
+ */
+ private static final int MAX_CLIP_REVEAL_TRANSITION_DURATION = 420;
private static final int THUMBNAIL_APP_TRANSITION_DURATION = 336;
private static final int THUMBNAIL_APP_TRANSITION_ALPHA_DURATION = 336;
private static final long APP_TRANSITION_TIMEOUT_MS = 5000;
@@ -199,17 +208,17 @@
private final Interpolator mFastOutLinearInInterpolator;
private final Interpolator mClipHorizontalInterpolator = new PathInterpolator(0, 0, 0.4f, 1f);
- /** Interpolator to be used for animations that respond directly to a touch */
- private final Interpolator mTouchResponseInterpolator =
- new PathInterpolator(0.3f, 0f, 0.1f, 1f);
-
private final int mClipRevealTranslationY;
private int mCurrentUserId = 0;
+ private long mLastClipRevealTransitionDuration = DEFAULT_APP_TRANSITION_DURATION;
private final ArrayList<AppTransitionListener> mListeners = new ArrayList<>();
private final ExecutorService mDefaultExecutor = Executors.newSingleThreadExecutor();
+ private int mLastClipRevealMaxTranslation;
+ private boolean mLastHadClipReveal;
+
AppTransition(Context context, WindowManagerService service) {
mContext = context;
mService = service;
@@ -331,19 +340,25 @@
if (!isRunning()) {
mAppTransitionState = APP_STATE_IDLE;
notifyAppTransitionPendingLocked();
+ mLastHadClipReveal = false;
+ mLastClipRevealMaxTranslation = 0;
+ mLastClipRevealTransitionDuration = DEFAULT_APP_TRANSITION_DURATION;
return true;
}
return false;
}
- void goodToGo(AppWindowAnimator openingAppAnimator, AppWindowAnimator closingAppAnimator) {
+ void goodToGo(AppWindowAnimator topOpeningAppAnimator, AppWindowAnimator topClosingAppAnimator,
+ ArraySet<AppWindowToken> openingApps, ArraySet<AppWindowToken> closingApps) {
mNextAppTransition = TRANSIT_UNSET;
mAppTransitionState = APP_STATE_RUNNING;
notifyAppTransitionStartingLocked(
- openingAppAnimator != null ? openingAppAnimator.mAppToken.token : null,
- closingAppAnimator != null ? closingAppAnimator.mAppToken.token : null,
- openingAppAnimator != null ? openingAppAnimator.animation : null,
- closingAppAnimator != null ? closingAppAnimator.animation : null);
+ topOpeningAppAnimator != null ? topOpeningAppAnimator.mAppToken.token : null,
+ topClosingAppAnimator != null ? topClosingAppAnimator.mAppToken.token : null,
+ topOpeningAppAnimator != null ? topOpeningAppAnimator.animation : null,
+ topClosingAppAnimator != null ? topClosingAppAnimator.animation : null);
+ mService.getDefaultDisplayContentLocked().getDockedDividerController()
+ .notifyAppTransitionStarting(openingApps, closingApps);
}
void clear() {
@@ -632,50 +647,118 @@
bitmap, new Rect(left, top, left + width, top + height));
}
- private Animation createClipRevealAnimationLocked(int transit, boolean enter, Rect appFrame) {
+ /**
+ * @return the duration of the last clip reveal animation
+ */
+ long getLastClipRevealTransitionDuration() {
+ return mLastClipRevealTransitionDuration;
+ }
+
+ /**
+ * @return the maximum distance the app surface is traveling of the last clip reveal animation
+ */
+ int getLastClipRevealMaxTranslation() {
+ return mLastClipRevealMaxTranslation;
+ }
+
+ /**
+ * @return true if in the last app transition had a clip reveal animation, false otherwise
+ */
+ boolean hadClipRevealAnimation() {
+ return mLastHadClipReveal;
+ }
+
+ /**
+ * Calculates the duration for the clip reveal animation. If the clip is "cut off", meaning that
+ * the start rect is outside of the target rect, and there is a lot of movement going on.
+ *
+ * @param cutOff whether the start rect was not fully contained by the end rect
+ * @param translationX the total translation the surface moves in x direction
+ * @param translationY the total translation the surfaces moves in y direction
+ * @param displayFrame our display frame
+ *
+ * @return the duration of the clip reveal animation, in milliseconds
+ */
+ private long calculateClipRevealTransitionDuration(boolean cutOff, float translationX,
+ float translationY, Rect displayFrame) {
+ if (!cutOff) {
+ return DEFAULT_APP_TRANSITION_DURATION;
+ }
+ final float fraction = Math.max(Math.abs(translationX) / displayFrame.width(),
+ Math.abs(translationY) / displayFrame.height());
+ return (long) (DEFAULT_APP_TRANSITION_DURATION + fraction *
+ (MAX_CLIP_REVEAL_TRANSITION_DURATION - DEFAULT_APP_TRANSITION_DURATION));
+ }
+
+ private Animation createClipRevealAnimationLocked(int transit, boolean enter, Rect appFrame,
+ Rect displayFrame) {
final Animation anim;
if (enter) {
- // Reveal will expand and move faster in horizontal direction
-
final int appWidth = appFrame.width();
final int appHeight = appFrame.height();
+
// mTmpRect will contain an area around the launcher icon that was pressed. We will
// clip reveal from that area in the final area of the app.
getDefaultNextAppTransitionStartRect(mTmpRect);
float t = 0f;
if (appHeight > 0) {
- t = (float) mTmpRect.left / appHeight;
+ t = (float) mTmpRect.top / displayFrame.height();
}
- int translationY = mClipRevealTranslationY + (int)(appHeight / 7f * t);
-
+ int translationY = mClipRevealTranslationY + (int)(displayFrame.height() / 7f * t);
+ int translationX = 0;
+ int translationYCorrection = translationY;
int centerX = mTmpRect.centerX();
int centerY = mTmpRect.centerY();
int halfWidth = mTmpRect.width() / 2;
int halfHeight = mTmpRect.height() / 2;
+ int clipStartX = centerX - halfWidth - appFrame.left;
+ int clipStartY = centerY - halfHeight - appFrame.top;
+ boolean cutOff = false;
+
+ // If the starting rectangle is fully or partially outside of the target rectangle, we
+ // need to start the clipping at the edge and then achieve the rest with translation
+ // and extending the clip rect from that edge.
+ if (appFrame.top > centerY - halfHeight) {
+ translationY = (centerY - halfHeight) - appFrame.top;
+ translationYCorrection = 0;
+ clipStartY = 0;
+ cutOff = true;
+ }
+ if (appFrame.left > centerX - halfWidth) {
+ translationX = (centerX - halfWidth) - appFrame.left;
+ clipStartX = 0;
+ cutOff = true;
+ }
+ if (appFrame.right < centerX + halfWidth) {
+ translationX = (centerX + halfWidth) - appFrame.right;
+ clipStartX = appWidth - mTmpRect.width();
+ cutOff = true;
+ }
+ final long duration = calculateClipRevealTransitionDuration(cutOff, translationX,
+ translationY, displayFrame);
// Clip third of the from size of launch icon, expand to full width/height
Animation clipAnimLR = new ClipRectLRAnimation(
- centerX - halfWidth, centerX + halfWidth, 0, appWidth);
+ clipStartX, clipStartX + mTmpRect.width(), 0, appWidth);
clipAnimLR.setInterpolator(mClipHorizontalInterpolator);
- clipAnimLR.setDuration((long) (DEFAULT_APP_TRANSITION_DURATION / 2.5f));
+ clipAnimLR.setDuration((long) (duration / 2.5f));
- Animation clipAnimTB = new ClipRectTBAnimation(centerY - halfHeight - translationY,
- centerY + halfHeight/ 2 - translationY, 0, appHeight);
- clipAnimTB.setInterpolator(mTouchResponseInterpolator);
- clipAnimTB.setDuration(DEFAULT_APP_TRANSITION_DURATION);
+ TranslateAnimation translate = new TranslateAnimation(translationX, 0, translationY, 0);
+ translate.setInterpolator(cutOff ? TOUCH_RESPONSE_INTERPOLATOR
+ : mLinearOutSlowInInterpolator);
+ translate.setDuration(duration);
- // We might be animating entrance of a docked task, so we need the translate to account
- // for the app frame in which the window will reside. Every other calculation here
- // is performed as if the window started at 0,0.
- translationY -= appFrame.top;
- TranslateAnimation translate = new TranslateAnimation(-appFrame.left, 0, translationY,
- 0);
- translate.setInterpolator(mLinearOutSlowInInterpolator);
- translate.setDuration(DEFAULT_APP_TRANSITION_DURATION);
+ Animation clipAnimTB = new ClipRectTBAnimation(
+ clipStartY, clipStartY + mTmpRect.height(),
+ 0, appHeight,
+ translationYCorrection, 0,
+ mLinearOutSlowInInterpolator);
+ clipAnimTB.setInterpolator(TOUCH_RESPONSE_INTERPOLATOR);
+ clipAnimTB.setDuration(duration);
// Quick fade-in from icon to app window
- final int alphaDuration = DEFAULT_APP_TRANSITION_DURATION / 4;
+ final long alphaDuration = duration / 4;
AlphaAnimation alpha = new AlphaAnimation(0.5f, 1);
alpha.setDuration(alphaDuration);
alpha.setInterpolator(mLinearOutSlowInInterpolator);
@@ -688,6 +771,13 @@
set.setZAdjustment(Animation.ZORDER_TOP);
set.initialize(appWidth, appHeight, appWidth, appHeight);
anim = set;
+ mLastHadClipReveal = true;
+ mLastClipRevealTransitionDuration = duration;
+
+ // If the start rect was full inside the target rect (cutOff == false), we don't need
+ // to store the translation, because it's only used if cutOff == true.
+ mLastClipRevealMaxTranslation = cutOff
+ ? Math.max(Math.abs(translationY), Math.abs(translationX)) : 0;
} else {
final long duration;
switch (transit) {
@@ -794,7 +884,7 @@
// Animation up from the thumbnail to the full screen
Animation scale = new ScaleAnimation(1f, scaleW, 1f, scaleW,
mTmpRect.left + (thumbWidth / 2f), mTmpRect.top + (thumbHeight / 2f));
- scale.setInterpolator(mTouchResponseInterpolator);
+ scale.setInterpolator(TOUCH_RESPONSE_INTERPOLATOR);
scale.setDuration(THUMBNAIL_APP_TRANSITION_DURATION);
Animation alpha = new AlphaAnimation(1f, 0f);
alpha.setInterpolator(mThumbnailFadeOutInterpolator);
@@ -802,7 +892,7 @@
final float toX = appRect.left + appRect.width() / 2 -
(mTmpRect.left + thumbWidth / 2);
Animation translate = new TranslateAnimation(0, toX, 0, toY);
- translate.setInterpolator(mTouchResponseInterpolator);
+ translate.setInterpolator(TOUCH_RESPONSE_INTERPOLATOR);
translate.setDuration(THUMBNAIL_APP_TRANSITION_DURATION);
// This AnimationSet uses the Interpolators assigned above.
@@ -815,7 +905,7 @@
// Animation down from the full screen to the thumbnail
Animation scale = new ScaleAnimation(scaleW, 1f, scaleW, 1f,
mTmpRect.left + (thumbWidth / 2f), mTmpRect.top + (thumbHeight / 2f));
- scale.setInterpolator(mTouchResponseInterpolator);
+ scale.setInterpolator(TOUCH_RESPONSE_INTERPOLATOR);
scale.setDuration(THUMBNAIL_APP_TRANSITION_DURATION);
Animation alpha = new AlphaAnimation(0f, 1f);
alpha.setInterpolator(mThumbnailFadeInInterpolator);
@@ -823,7 +913,7 @@
final float toX = appRect.left + appRect.width() / 2 -
(mTmpRect.left + thumbWidth / 2);
Animation translate = new TranslateAnimation(toX, 0, toY, 0);
- translate.setInterpolator(mTouchResponseInterpolator);
+ translate.setInterpolator(TOUCH_RESPONSE_INTERPOLATOR);
translate.setDuration(THUMBNAIL_APP_TRANSITION_DURATION);
// This AnimationSet uses the Interpolators assigned above.
@@ -835,7 +925,7 @@
}
return prepareThumbnailAnimationWithDuration(a, appWidth, appRect.height(), 0,
- mTouchResponseInterpolator);
+ TOUCH_RESPONSE_INTERPOLATOR);
}
/**
@@ -967,7 +1057,7 @@
int duration = Math.max(THUMBNAIL_APP_TRANSITION_ALPHA_DURATION,
THUMBNAIL_APP_TRANSITION_DURATION);
return prepareThumbnailAnimationWithDuration(a, appWidth, appHeight, duration,
- mTouchResponseInterpolator);
+ TOUCH_RESPONSE_INTERPOLATOR);
}
private Animation createAspectScaledThumbnailEnterFreeformAnimationLocked(Rect frame,
@@ -1219,8 +1309,9 @@
* bigger.
*/
Animation loadAnimation(WindowManager.LayoutParams lp, int transit, boolean enter,
- int orientation, Rect frame, Rect insets, @Nullable Rect surfaceInsets,
- boolean isVoiceInteraction, boolean freeform, int taskId) {
+ int orientation, Rect frame, Rect displayFrame, Rect insets,
+ @Nullable Rect surfaceInsets, boolean isVoiceInteraction, boolean freeform,
+ int taskId) {
Animation a;
if (isVoiceInteraction && (transit == TRANSIT_ACTIVITY_OPEN
|| transit == TRANSIT_TASK_OPEN
@@ -1265,7 +1356,7 @@
+ " transit=" + appTransitionToString(transit)
+ " Callers=" + Debug.getCallers(3));
} else if (mNextAppTransitionType == NEXT_TRANSIT_TYPE_CLIP_REVEAL) {
- a = createClipRevealAnimationLocked(transit, enter, frame);
+ a = createClipRevealAnimationLocked(transit, enter, frame, displayFrame);
if (DEBUG_APP_TRANSITIONS || DEBUG_ANIM) Slog.v(TAG,
"applyAnimation:"
+ " anim=" + a + " nextAppTransition=ANIM_CLIP_REVEAL"
diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java
index 2a091ba..12c62bd 100644
--- a/services/core/java/com/android/server/wm/AppWindowToken.java
+++ b/services/core/java/com/android/server/wm/AppWindowToken.java
@@ -254,7 +254,7 @@
// In cases where there are multiple windows, we prefer the non-exiting window. This
// happens for example when replacing windows during an activity relaunch. When
// constructing the animation, we want the new window, not the exiting one.
- if (win.mExiting) {
+ if (win.mAnimatingExit) {
candidate = win;
} else {
return win;
@@ -307,11 +307,11 @@
// If the app already requested to remove its window, we don't modify
// its exiting state. Otherwise the stale window won't get removed on
// exit and could cause focus to be given to the wrong window.
- if (!(win.mRemoveOnExit && win.mExiting)) {
- win.mExiting = exiting;
+ if (!(win.mRemoveOnExit && win.mAnimatingExit)) {
+ win.mAnimatingExit = exiting;
}
// If we're no longer exiting, remove the window from destroying list
- if (!win.mExiting && win.mDestroying) {
+ if (!win.mAnimatingExit && win.mDestroying) {
win.mDestroying = false;
service.mDestroySurface.remove(win);
}
@@ -330,13 +330,13 @@
continue;
}
- if (!mAppStopped && !win.mClientRemoveRequested) {
+ if (!(mAppStopped || win.mWindowRemovalAllowed)) {
continue;
}
win.destroyOrSaveSurface();
if (win.mRemoveOnExit) {
- win.mExiting = false;
+ win.mAnimatingExit = false;
service.removeWindowInnerLocked(win);
}
final DisplayContent displayContent = win.getDisplayContent();
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index 144d7ac..73cea52 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -127,7 +127,7 @@
isDefaultDisplay = mDisplayId == Display.DEFAULT_DISPLAY;
mService = service;
initializeDisplayBaseInfo();
- mDividerControllerLocked = new DockedStackDividerController(service.mContext, this);
+ mDividerControllerLocked = new DockedStackDividerController(service, this);
mDimLayerController = new DimLayerController(this);
}
@@ -606,12 +606,24 @@
return "Display " + mDisplayId + " info=" + mDisplayInfo + " stacks=" + mStacks;
}
+ /**
+ * @return The docked stack, but only if it is visible, and {@code null} otherwise.
+ */
TaskStack getDockedStackLocked() {
final TaskStack stack = mService.mStackIdToStack.get(DOCKED_STACK_ID);
return (stack != null && stack.isVisibleLocked()) ? stack : null;
}
/**
+ * Like {@link #getDockedStackLocked}, but also returns the docked stack if it's currently not
+ * visible, as long as it's not hidden because the current user doesn't have any tasks there.
+ */
+ TaskStack getDockedStackVisibleForUserLocked() {
+ final TaskStack stack = mService.mStackIdToStack.get(DOCKED_STACK_ID);
+ return (stack != null && stack.isVisibleForUserLocked()) ? stack : null;
+ }
+
+ /**
* Find the visible, touch-deliverable window under the given point
*/
WindowState getTouchableWinAtPointLocked(float xf, float yf) {
diff --git a/services/core/java/com/android/server/wm/DockedStackDividerController.java b/services/core/java/com/android/server/wm/DockedStackDividerController.java
index 75c06ff..b6aa3f2 100644
--- a/services/core/java/com/android/server/wm/DockedStackDividerController.java
+++ b/services/core/java/com/android/server/wm/DockedStackDividerController.java
@@ -20,10 +20,13 @@
import android.graphics.Rect;
import android.os.RemoteCallbackList;
import android.os.RemoteException;
+import android.util.ArraySet;
import android.util.Slog;
import android.view.DisplayInfo;
import android.view.IDockedStackListener;
import android.view.SurfaceControl;
+import android.view.animation.AnimationUtils;
+import android.view.animation.Interpolator;
import com.android.server.wm.DimLayer.DimLayerUser;
@@ -35,6 +38,8 @@
import static android.view.WindowManager.DOCKED_LEFT;
import static android.view.WindowManager.DOCKED_RIGHT;
import static android.view.WindowManager.DOCKED_TOP;
+import static com.android.server.wm.AppTransition.DEFAULT_APP_TRANSITION_DURATION;
+import static com.android.server.wm.AppTransition.TOUCH_RESPONSE_INTERPOLATOR;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
@@ -45,25 +50,65 @@
private static final String TAG = TAG_WITH_CLASS_NAME ? "DockedStackDividerController" : TAG_WM;
+ /**
+ * The fraction during the maximize/clip reveal animation the divider meets the edge of the clip
+ * revealing surface at the earliest.
+ */
+ private static final float CLIP_REVEAL_MEET_EARLIEST = 0.6f;
+
+ /**
+ * The fraction during the maximize/clip reveal animation the divider meets the edge of the clip
+ * revealing surface at the latest.
+ */
+ private static final float CLIP_REVEAL_MEET_LAST = 1f;
+
+ /**
+ * If the app translates at least CLIP_REVEAL_MEET_FRACTION_MIN * minimize distance, we start
+ * meet somewhere between {@link #CLIP_REVEAL_MEET_LAST} and {@link #CLIP_REVEAL_MEET_EARLIEST}.
+ */
+ private static final float CLIP_REVEAL_MEET_FRACTION_MIN = 0.4f;
+
+ /**
+ * If the app translates equals or more than CLIP_REVEAL_MEET_FRACTION_MIN * minimize distance,
+ * we meet at {@link #CLIP_REVEAL_MEET_EARLIEST}.
+ */
+ private static final float CLIP_REVEAL_MEET_FRACTION_MAX = 0.8f;
+
+ private final WindowManagerService mService;
private final DisplayContent mDisplayContent;
private final int mDividerWindowWidth;
private final int mDividerInsets;
private boolean mResizing;
private WindowState mWindow;
private final Rect mTmpRect = new Rect();
+ private final Rect mTmpRect2 = new Rect();
private final Rect mLastRect = new Rect();
private boolean mLastVisibility = false;
private final RemoteCallbackList<IDockedStackListener> mDockedStackListeners
= new RemoteCallbackList<>();
private final DimLayer mDimLayer;
- DockedStackDividerController(Context context, DisplayContent displayContent) {
+ private boolean mMinimizedDock;
+ private boolean mAnimating;
+ private boolean mAnimationStarted;
+ private long mAnimationStartTime;
+ private float mAnimationStart;
+ private float mAnimationTarget;
+ private long mAnimationDuration;
+ private final Interpolator mMinimizedDockInterpolator;
+ private float mMaximizeMeetFraction;
+
+ DockedStackDividerController(WindowManagerService service, DisplayContent displayContent) {
+ mService = service;
mDisplayContent = displayContent;
+ final Context context = service.mContext;
mDividerWindowWidth = context.getResources().getDimensionPixelSize(
com.android.internal.R.dimen.docked_stack_divider_thickness);
mDividerInsets = context.getResources().getDimensionPixelSize(
com.android.internal.R.dimen.docked_stack_divider_insets);
mDimLayer = new DimLayer(displayContent.mService, this, displayContent.getDisplayId());
+ mMinimizedDockInterpolator = AnimationUtils.loadInterpolator(
+ context, android.R.interpolator.fast_out_slow_in);
}
boolean isResizing() {
@@ -180,6 +225,19 @@
mDockedStackListeners.finishBroadcast();
}
+ void notifyDockedStackMinimizedChanged(boolean minimizedDock, long animDuration) {
+ final int size = mDockedStackListeners.beginBroadcast();
+ for (int i = 0; i < size; ++i) {
+ final IDockedStackListener listener = mDockedStackListeners.getBroadcastItem(i);
+ try {
+ listener.onDockedStackMinimizedChanged(minimizedDock, animDuration);
+ } catch (RemoteException e) {
+ Slog.e(TAG_WM, "Error delivering minimized dock changed event.", e);
+ }
+ }
+ mDockedStackListeners.finishBroadcast();
+ }
+
void registerDockedStackListener(IDockedStackListener listener) {
mDockedStackListeners.register(listener);
notifyDockedDividerVisibilityChanged(wasVisible());
@@ -207,6 +265,183 @@
SurfaceControl.closeTransaction();
}
+ /**
+ * Notifies the docked stack divider controller of a visibility change that happens without
+ * an animation.
+ */
+ void notifyAppVisibilityChanged(AppWindowToken wtoken, boolean visible) {
+ final Task task = wtoken.mTask;
+ if (!task.isHomeTask() || !task.isVisibleForUser()) {
+ return;
+ }
+
+ // If the stack is completely offscreen, this might just be an intermediate state when
+ // docking a task/launching recents at the same time, but home doesn't actually get
+ // visible after the state settles in.
+ if (isWithinDisplay(task)
+ && mDisplayContent.getDockedStackVisibleForUserLocked() != null) {
+ setMinimizedDockedStack(visible, false /* animate */);
+ }
+ }
+
+ void notifyAppTransitionStarting(ArraySet<AppWindowToken> openingApps,
+ ArraySet<AppWindowToken> closingApps) {
+ if (containsHomeTaskWithinDisplay(openingApps)) {
+ setMinimizedDockedStack(true /* minimized */, true /* animate */);
+ } else if (containsHomeTaskWithinDisplay(closingApps)) {
+ setMinimizedDockedStack(false /* minimized */, true /* animate */);
+ }
+ }
+
+ private boolean containsHomeTaskWithinDisplay(ArraySet<AppWindowToken> apps) {
+ for (int i = apps.size() - 1; i >= 0; i--) {
+ final Task task = apps.valueAt(i).mTask;
+ if (task != null && task.isHomeTask()) {
+ return isWithinDisplay(task);
+ }
+ }
+ return false;
+ }
+
+ private boolean isWithinDisplay(Task task) {
+ task.mStack.getBounds(mTmpRect);
+ mDisplayContent.getLogicalDisplayRect(mTmpRect2);
+ return mTmpRect.intersect(mTmpRect2);
+ }
+
+ /**
+ * Sets whether the docked stack is currently in a minimized state, i.e. all the tasks in the
+ * docked stack are heavily clipped so you can only see a minimal peek state.
+ *
+ * @param minimizedDock Whether the docked stack is currently minimized.
+ * @param animate Whether to animate the change.
+ */
+ private void setMinimizedDockedStack(boolean minimizedDock, boolean animate) {
+ if (minimizedDock == mMinimizedDock
+ || mDisplayContent.getDockedStackVisibleForUserLocked() == null) {
+ return;
+ }
+
+ mMinimizedDock = minimizedDock;
+ if (minimizedDock) {
+ if (animate) {
+ startAdjustAnimation(0f, 1f);
+ } else {
+ setMinimizedDockedStack(true);
+ }
+ } else {
+ if (animate) {
+ startAdjustAnimation(1f, 0f);
+ } else {
+ setMinimizedDockedStack(false);
+ }
+ }
+ }
+
+ private void startAdjustAnimation(float from, float to) {
+ mAnimating = true;
+ mAnimationStarted = false;
+ mAnimationStart = from;
+ mAnimationTarget = to;
+ }
+
+ private void setMinimizedDockedStack(boolean minimized) {
+ final TaskStack stack = mDisplayContent.getDockedStackVisibleForUserLocked();
+ if (stack == null) {
+ return;
+ }
+ if (stack.setAdjustedForMinimizedDock(minimized ? 1f : 0f)) {
+ mService.mWindowPlacerLocked.performSurfacePlacement();
+ }
+ notifyDockedStackMinimizedChanged(minimized, 0);
+ }
+
+ private boolean isAnimationMaximizing() {
+ return mAnimationTarget == 0f;
+ }
+
+ public boolean animate(long now) {
+ if (!mAnimating) {
+ return false;
+ }
+
+ final TaskStack stack = mDisplayContent.getDockedStackVisibleForUserLocked();
+ if (!mAnimationStarted) {
+ mAnimationStarted = true;
+ mAnimationStartTime = now;
+ final long transitionDuration = isAnimationMaximizing()
+ ? mService.mAppTransition.getLastClipRevealTransitionDuration()
+ : DEFAULT_APP_TRANSITION_DURATION;
+ mAnimationDuration = (long)
+ (transitionDuration * mService.getTransitionAnimationScaleLocked());
+ mMaximizeMeetFraction = getClipRevealMeetFraction(stack);
+ notifyDockedStackMinimizedChanged(mMinimizedDock,
+ (long) (mAnimationDuration * mMaximizeMeetFraction));
+ }
+ float t = Math.min(1f, (float) (now - mAnimationStartTime) / mAnimationDuration);
+ t = (isAnimationMaximizing() ? TOUCH_RESPONSE_INTERPOLATOR : mMinimizedDockInterpolator)
+ .getInterpolation(t);
+ if (stack != null) {
+ if (stack.setAdjustedForMinimizedDock(getMinimizeAmount(stack, t))) {
+ mService.mWindowPlacerLocked.performSurfacePlacement();
+ }
+ }
+ if (t >= 1.0f) {
+ mAnimating = false;
+ return false;
+ } else {
+ return true;
+ }
+ }
+
+ /**
+ * Gets the amount how much to minimize a stack depending on the interpolated fraction t.
+ */
+ private float getMinimizeAmount(TaskStack stack, float t) {
+ final float naturalAmount = t * mAnimationTarget + (1 - t) * mAnimationStart;
+ if (isAnimationMaximizing()) {
+ return adjustMaximizeAmount(stack, t, naturalAmount);
+ } else {
+ return naturalAmount;
+ }
+ }
+
+ /**
+ * When maximizing the stack during a clip reveal transition, this adjusts the minimize amount
+ * during the transition such that the edge of the clip reveal rect is met earlier in the
+ * transition so we don't create a visible "hole", but only if both the clip reveal and the
+ * docked stack divider start from about the same portion on the screen.
+ */
+ private float adjustMaximizeAmount(TaskStack stack, float t, float naturalAmount) {
+ if (mMaximizeMeetFraction == 1f) {
+ return naturalAmount;
+ }
+ final int minimizeDistance = stack.getMinimizeDistance();
+ float startPrime = mService.mAppTransition.getLastClipRevealMaxTranslation()
+ / (float) minimizeDistance;
+ final float amountPrime = t * mAnimationTarget + (1 - t) * startPrime;
+ final float t2 = Math.min(t / mMaximizeMeetFraction, 1);
+ return amountPrime * t2 + naturalAmount * (1 - t2);
+ }
+
+ /**
+ * Retrieves the animation fraction at which the docked stack has to meet the clip reveal
+ * edge. See {@link #adjustMaximizeAmount}.
+ */
+ private float getClipRevealMeetFraction(TaskStack stack) {
+ if (!isAnimationMaximizing() || stack == null ||
+ !mService.mAppTransition.hadClipRevealAnimation()) {
+ return 1f;
+ }
+ final int minimizeDistance = stack.getMinimizeDistance();
+ final float fraction = Math.abs(mService.mAppTransition.getLastClipRevealMaxTranslation())
+ / (float) minimizeDistance;
+ final float t = Math.max(0, Math.min(1, (fraction - CLIP_REVEAL_MEET_FRACTION_MIN)
+ / (CLIP_REVEAL_MEET_FRACTION_MAX - CLIP_REVEAL_MEET_FRACTION_MIN)));
+ return CLIP_REVEAL_MEET_EARLIEST
+ + (1 - t) * (CLIP_REVEAL_MEET_LAST - CLIP_REVEAL_MEET_EARLIEST);
+ }
+
@Override
public boolean isFullscreen() {
return false;
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index fe55e80..325005b 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -357,6 +357,10 @@
return !mHomeTask && (isResizeable() || mResizeMode == RESIZE_MODE_CROP_WINDOWS);
}
+ boolean isHomeTask() {
+ return mHomeTask;
+ }
+
private boolean inCropWindowsResizeMode() {
return !mHomeTask && !isResizeable() && mResizeMode == RESIZE_MODE_CROP_WINDOWS;
}
@@ -639,6 +643,19 @@
return (tokensCount != 0) && mAppTokens.get(tokensCount - 1).showForAllUsers;
}
+ boolean isVisibleForUser() {
+ for (int i = mAppTokens.size() - 1; i >= 0; i--) {
+ final AppWindowToken appToken = mAppTokens.get(i);
+ for (int j = appToken.allAppWindows.size() - 1; j >= 0; j--) {
+ WindowState window = appToken.allAppWindows.get(j);
+ if (!window.isHiddenFromUserLocked()) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
boolean inHomeStack() {
return mStack != null && mStack.mStackId == HOME_STACK_ID;
}
diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java
index 8409058..06e5ac5 100644
--- a/services/core/java/com/android/server/wm/TaskStack.java
+++ b/services/core/java/com/android/server/wm/TaskStack.java
@@ -75,9 +75,6 @@
/** Content limits relative to the DisplayContent this sits in. */
private Rect mBounds = new Rect();
- /** Screen content area excluding IM windows, etc. */
- private final Rect mContentBounds = new Rect();
-
/** Stack bounds adjusted to screen content area (taking into account IM windows, etc.) */
private final Rect mAdjustedBounds = new Rect();
@@ -98,14 +95,27 @@
/** Detach this stack from its display when animation completes. */
boolean mDeferDetach;
- private boolean mUpdateBoundsAfterRotation = false;
+
+ // Display rotation as of the last time the display information was updated for this stack.
+ private int mLastUpdateDisplayInfoRotation = -1;
+ // Display rotation as of the last time the configuration was updated for this stack.
+ private int mLastConfigChangedRotation = -1;
// Whether the stack and all its tasks is currently being drag-resized
private boolean mDragResizing;
+ private final Rect mLastContentBounds = new Rect();
+ private final Rect mTmpAdjustedBounds = new Rect();
+ private boolean mAdjustedForIme;
+ private WindowState mImeWin;
+ private float mMinimizeAmount;
+ private final int mDockedStackMinimizeThickness;
+
TaskStack(WindowManagerService service, int stackId) {
mService = service;
mStackId = stackId;
+ mDockedStackMinimizeThickness = service.mContext.getResources().getDimensionPixelSize(
+ com.android.internal.R.dimen.docked_stack_minimize_thickness);
EventLog.writeEvent(EventLogTags.WM_STACK_CREATED, stackId);
}
@@ -174,7 +184,27 @@
return mTmpRect.equals(bounds);
}
- void alignTasksToAdjustedBounds(final Rect adjustedBounds) {
+ /**
+ * Overrides the adjusted bounds, i.e. sets temporary layout bounds which are different from
+ * the normal task bounds.
+ *
+ * @param bounds The adjusted bounds.
+ * @param keepInsets Whether to keep the insets from the original bounds or to calculate new
+ * ones depending on the adjusted bounds.
+ */
+ private void setAdjustedBounds(Rect bounds, boolean keepInsets) {
+ if (mAdjustedBounds.equals(bounds)) {
+ return;
+ }
+
+ mAdjustedBounds.set(bounds);
+ final boolean adjusted = !mAdjustedBounds.isEmpty();
+ alignTasksToAdjustedBounds(adjusted ? mAdjustedBounds : mBounds,
+ adjusted && keepInsets ? mBounds : null);
+ mDisplayContent.layoutNeeded = true;
+ }
+
+ private void alignTasksToAdjustedBounds(Rect adjustedBounds, Rect tempInsetBounds) {
if (mFullscreen) {
return;
}
@@ -187,72 +217,15 @@
task.resizeLocked(null, null, false /* forced */);
task.getBounds(mTmpRect2);
task.scrollLocked(mTmpRect2);
- } else if (task.isResizeable()) {
+ } else if (task.isResizeable() && task.mOverrideConfig != Configuration.EMPTY) {
task.getBounds(mTmpRect2);
mTmpRect2.offsetTo(adjustedBounds.left, adjustedBounds.top);
+ task.setTempInsetBounds(tempInsetBounds);
task.resizeLocked(mTmpRect2, task.mOverrideConfig, false /* forced */);
}
}
}
- void adjustForIME(final WindowState imeWin) {
- final int dockedSide = getDockSide();
- final boolean dockedTopOrBottom = dockedSide == DOCKED_TOP || dockedSide == DOCKED_BOTTOM;
- final Rect adjustedBounds = mAdjustedBounds;
- if (imeWin == null || !dockedTopOrBottom) {
- // If mContentBounds is already empty, it means we're not applying
- // any adjustments, so nothing to do; otherwise clear any adjustments.
- if (!mContentBounds.isEmpty()) {
- mContentBounds.setEmpty();
- adjustedBounds.set(mBounds);
- alignTasksToAdjustedBounds(adjustedBounds);
- }
- return;
- }
-
- final Rect displayContentRect = mTmpRect;
- final Rect contentBounds = mTmpRect2;
-
- // Calculate the content bounds excluding the area occupied by IME
- mDisplayContent.getContentRect(displayContentRect);
- contentBounds.set(displayContentRect);
- int imeTop = Math.max(imeWin.getDisplayFrameLw().top, contentBounds.top);
- imeTop += imeWin.getGivenContentInsetsLw().top;
- if (contentBounds.bottom > imeTop) {
- contentBounds.bottom = imeTop;
- }
-
- // If content bounds not changing, nothing to do.
- if (mContentBounds.equals(contentBounds)) {
- return;
- }
-
- // Content bounds changed, need to apply adjustments depending on dock sides.
- mContentBounds.set(contentBounds);
- adjustedBounds.set(mBounds);
- final int yOffset = displayContentRect.bottom - contentBounds.bottom;
-
- if (dockedSide == DOCKED_TOP) {
- // If this stack is docked on top, we make it smaller so the bottom stack is not
- // occluded by IME. We shift its bottom up by the height of the IME (capped by
- // the display content rect). Note that we don't change the task bounds.
- adjustedBounds.bottom = Math.max(
- adjustedBounds.bottom - yOffset, displayContentRect.top);
- } else {
- // If this stack is docked on bottom, we shift it up so that it's not occluded by
- // IME. We try to move it up by the height of the IME window (although the best
- // we could do is to make the top stack fully collapsed).
- final int dividerWidth = mDisplayContent.mDividerControllerLocked.getContentWidth();
- adjustedBounds.top = Math.max(
- adjustedBounds.top - yOffset, displayContentRect.top + dividerWidth);
- adjustedBounds.bottom = adjustedBounds.top + mBounds.height();
-
- // We also move the member tasks together, taking care not to resize them.
- // Resizing might cause relaunch, and IME window may not come back after that.
- alignTasksToAdjustedBounds(adjustedBounds);
- }
- }
-
private boolean setBounds(Rect bounds) {
boolean oldFullscreen = mFullscreen;
int rotation = Surface.ROTATION_0;
@@ -281,14 +254,7 @@
mBounds.set(bounds);
mRotation = rotation;
- // Clear the adjusted content bounds as they're no longer valid.
- // If IME is still visible, these will be re-applied.
- // Note that we don't clear mContentBounds here, so that we know the last IME
- // adjust we applied.
- // If user starts dragging the dock divider while IME is visible, the new bounds
- // we received are based on the actual screen location of the divider. It already
- // accounted for the IME window, so we don't want to adjust again.
- mAdjustedBounds.set(mBounds);
+ updateAdjustedBounds();
return true;
}
@@ -314,10 +280,11 @@
public void getBounds(Rect out) {
if (useCurrentBounds()) {
- // If we're currently adjusting for IME, we use the adjusted bounds; otherwise,
- // no need to adjust the output bounds if fullscreen or the docked stack is visible
- // since it is already what we want to represent to the rest of the system.
- if (!mContentBounds.isEmpty()) {
+ // If we're currently adjusting for IME or minimized docked stack, we use the adjusted
+ // bounds; otherwise, no need to adjust the output bounds if fullscreen or the docked
+ // stack is visible since it is already what we want to represent to the rest of the
+ // system.
+ if (!mAdjustedBounds.isEmpty()) {
out.set(mAdjustedBounds);
} else {
out.set(mBounds);
@@ -338,39 +305,51 @@
}
void updateDisplayInfo(Rect bounds) {
- mUpdateBoundsAfterRotation = false;
- if (mDisplayContent != null) {
- for (int taskNdx = mTasks.size() - 1; taskNdx >= 0; --taskNdx) {
- mTasks.get(taskNdx).updateDisplayInfo(mDisplayContent);
- }
- if (bounds != null) {
- setBounds(bounds);
- } else if (mFullscreen) {
- setBounds(null);
- } else {
- mUpdateBoundsAfterRotation = true;
- mTmpRect2.set(mBounds);
- final int newRotation = mDisplayContent.getDisplayInfo().rotation;
- if (mRotation == newRotation) {
- setBounds(mTmpRect2);
- }
+ if (mDisplayContent == null) {
+ return;
+ }
- // If the rotation changes, we'll handle it in updateBoundsAfterRotation
- }
+ for (int taskNdx = mTasks.size() - 1; taskNdx >= 0; --taskNdx) {
+ mTasks.get(taskNdx).updateDisplayInfo(mDisplayContent);
+ }
+ if (bounds != null) {
+ setBounds(bounds);
+ return;
+ } else if (mFullscreen) {
+ setBounds(null);
+ return;
+ }
+
+ mTmpRect2.set(mBounds);
+ final int newRotation = mDisplayContent.getDisplayInfo().rotation;
+ if (mRotation == newRotation) {
+ setBounds(mTmpRect2);
+ } else {
+ mLastUpdateDisplayInfoRotation = newRotation;
+ updateBoundsAfterRotation();
}
}
- /**
- * Updates the bounds after rotating the screen. We can't handle it in
- * {@link #updateDisplayInfo} because at that point the configuration might not be fully updated
- * yet.
- */
+ void onConfigurationChanged() {
+ mLastConfigChangedRotation = getDisplayInfo().rotation;
+ updateBoundsAfterRotation();
+ }
+
void updateBoundsAfterRotation() {
- if (!mUpdateBoundsAfterRotation) {
+ if (mLastConfigChangedRotation != mLastUpdateDisplayInfoRotation) {
+ // We wait for the rotation values after configuration change and display info. update
+ // to be equal before updating the bounds due to rotation change otherwise things might
+ // get out of alignment...
return;
}
- mUpdateBoundsAfterRotation = false;
+
final int newRotation = getDisplayInfo().rotation;
+
+ if (mRotation == newRotation) {
+ // Nothing to do here if the rotation didn't change
+ return;
+ }
+
mDisplayContent.rotateBounds(mRotation, newRotation, mTmpRect2);
if (mStackId == DOCKED_STACK_ID) {
snapDockedStackAfterRotation(mTmpRect2);
@@ -379,8 +358,8 @@
// Post message to inform activity manager of the bounds change simulating
// a one-way call. We do this to prevent a deadlock between window manager
// lock and activity manager lock been held.
- mService.mH.sendMessage(mService.mH.obtainMessage(
- RESIZE_STACK, mStackId, 0 /*allowResizeInDockedMode*/, mTmpRect2));
+ mService.mH.obtainMessage(
+ RESIZE_STACK, mStackId, 0 /*allowResizeInDockedMode*/, mTmpRect2).sendToTarget();
}
/**
@@ -420,7 +399,7 @@
final ArrayList<WindowState> windows = activities.get(activityNdx).allAppWindows;
for (int winNdx = windows.size() - 1; winNdx >= 0; --winNdx) {
final WindowStateAnimator winAnimator = windows.get(winNdx).mWinAnimator;
- if (winAnimator.isAnimating() || winAnimator.mWin.mExiting) {
+ if (winAnimator.isAnimating() || winAnimator.mWin.mAnimatingExit) {
return true;
}
}
@@ -691,7 +670,7 @@
outBounds.top = dockedBounds.bottom + dockDividerWidth;
}
}
- DockedDividerUtils.sanitizeStackBounds(outBounds);
+ DockedDividerUtils.sanitizeStackBounds(outBounds, !dockOnTopOrLeft);
}
/** Resizes all non-docked stacks in the system to either fullscreen or the appropriate size
@@ -802,6 +781,158 @@
mDisplayContent = null;
}
+ /**
+ * Adjusts the stack bounds if the IME is visible.
+ *
+ * @param imeWin The IME window.
+ */
+ void setAdjustedForIme(WindowState imeWin) {
+ mAdjustedForIme = true;
+ mImeWin = imeWin;
+ updateAdjustedBounds();
+ }
+
+ /**
+ * Resets the adjustment after it got adjusted for the IME.
+ */
+ void resetAdjustedForIme() {
+ mAdjustedForIme = false;
+ mImeWin = null;
+ updateAdjustedBounds();
+ }
+
+ /**
+ * Sets the amount how much we currently minimize our stack.
+ *
+ * @param minimizeAmount The amount, between 0 and 1.
+ * @return Whether the amount has changed and a layout is needed.
+ */
+ boolean setAdjustedForMinimizedDock(float minimizeAmount) {
+ if (minimizeAmount != mMinimizeAmount) {
+ mMinimizeAmount = minimizeAmount;
+ updateAdjustedBounds();
+ return isVisibleForUserLocked();
+ } else {
+ return false;
+ }
+ }
+
+ private boolean adjustForIME(final WindowState imeWin) {
+ final int dockedSide = getDockSide();
+ final boolean dockedTopOrBottom = dockedSide == DOCKED_TOP || dockedSide == DOCKED_BOTTOM;
+ final Rect adjustedBounds = mTmpAdjustedBounds;
+ if (imeWin == null || !dockedTopOrBottom) {
+ return false;
+ }
+
+ final Rect displayContentRect = mTmpRect;
+ final Rect contentBounds = mTmpRect2;
+
+ // Calculate the content bounds excluding the area occupied by IME
+ getDisplayContent().getContentRect(displayContentRect);
+ contentBounds.set(displayContentRect);
+ int imeTop = Math.max(imeWin.getDisplayFrameLw().top, contentBounds.top);
+ imeTop += imeWin.getGivenContentInsetsLw().top;
+ if (contentBounds.bottom > imeTop) {
+ contentBounds.bottom = imeTop;
+ }
+
+ // If content bounds not changing, nothing to do.
+ if (mLastContentBounds.equals(contentBounds)) {
+ return true;
+ }
+
+ // Content bounds changed, need to apply adjustments depending on dock sides.
+ mLastContentBounds.set(contentBounds);
+ adjustedBounds.set(mBounds);
+ final int yOffset = displayContentRect.bottom - contentBounds.bottom;
+
+ if (dockedSide == DOCKED_TOP) {
+ // If this stack is docked on top, we make it smaller so the bottom stack is not
+ // occluded by IME. We shift its bottom up by the height of the IME (capped by
+ // the display content rect). Note that we don't change the task bounds.
+ adjustedBounds.bottom = Math.max(
+ adjustedBounds.bottom - yOffset, displayContentRect.top);
+ } else {
+ // If this stack is docked on bottom, we shift it up so that it's not occluded by
+ // IME. We try to move it up by the height of the IME window (although the best
+ // we could do is to make the top stack fully collapsed).
+ final int dividerWidth = getDisplayContent().mDividerControllerLocked
+ .getContentWidth();
+ adjustedBounds.top = Math.max(
+ adjustedBounds.top - yOffset, displayContentRect.top + dividerWidth);
+ adjustedBounds.bottom = adjustedBounds.top + mBounds.height();
+ }
+ return true;
+ }
+
+ private boolean adjustForMinimizedDockedStack(float minimizeAmount) {
+ final int dockSide = getDockSide();
+ if (dockSide == DOCKED_INVALID && !mTmpAdjustedBounds.isEmpty()) {
+ return false;
+ }
+
+ if (dockSide == DOCKED_TOP) {
+ mService.getStableInsetsLocked(mTmpRect);
+ int topInset = mTmpRect.top;
+ mTmpAdjustedBounds.set(mBounds);
+ mTmpAdjustedBounds.bottom =
+ (int) (minimizeAmount * topInset + (1 - minimizeAmount) * mBounds.bottom);
+ } else if (dockSide == DOCKED_LEFT) {
+ mTmpAdjustedBounds.set(mBounds);
+ mTmpAdjustedBounds.right =
+ (int) (minimizeAmount * mDockedStackMinimizeThickness
+ + (1 - minimizeAmount) * mBounds.right);
+ } else if (dockSide == DOCKED_RIGHT) {
+ mTmpAdjustedBounds.set(mBounds);
+ mTmpAdjustedBounds.left =
+ (int) (minimizeAmount * (mBounds.right - mDockedStackMinimizeThickness)
+ + (1 - minimizeAmount) * mBounds.left);
+ }
+ return true;
+ }
+
+ /**
+ * @return the distance in pixels how much the stack gets minimized from it's original size
+ */
+ int getMinimizeDistance() {
+ final int dockSide = getDockSide();
+ if (dockSide == DOCKED_INVALID) {
+ return 0;
+ }
+
+ if (dockSide == DOCKED_TOP) {
+ mService.getStableInsetsLocked(mTmpRect);
+ int topInset = mTmpRect.top;
+ return mBounds.bottom - topInset;
+ } else if (dockSide == DOCKED_LEFT || dockSide == DOCKED_RIGHT) {
+ return mBounds.width() - mDockedStackMinimizeThickness;
+ } else {
+ return 0;
+ }
+ }
+
+ /**
+ * Updates the adjustment depending on it's current state.
+ */
+ void updateAdjustedBounds() {
+ boolean adjust = false;
+ if (mMinimizeAmount != 0f) {
+ adjust = adjustForMinimizedDockedStack(mMinimizeAmount);
+ } else if (mAdjustedForIme) {
+ adjust = adjustForIME(mImeWin);
+ }
+ if (!adjust) {
+ mTmpAdjustedBounds.setEmpty();
+ mLastContentBounds.setEmpty();
+ }
+ setAdjustedBounds(mTmpAdjustedBounds, isAdjustedForMinimizedDockedStack());
+ }
+
+ boolean isAdjustedForMinimizedDockedStack() {
+ return mMinimizeAmount != 0f;
+ }
+
public void dump(String prefix, PrintWriter pw) {
pw.println(prefix + "mStackId=" + mStackId);
pw.println(prefix + "mDeferDetach=" + mDeferDetach);
@@ -906,13 +1037,28 @@
}
for (int i = mTasks.size() - 1; i >= 0; i--) {
- Task task = mTasks.get(i);
+ final Task task = mTasks.get(i);
for (int j = task.mAppTokens.size() - 1; j >= 0; j--) {
if (!task.mAppTokens.get(j).hidden) {
return true;
}
}
}
+
+ return false;
+ }
+
+ /**
+ * @return true if a the stack is visible for the current in user, ignoring any other visibility
+ * aspects, and false otherwise
+ */
+ boolean isVisibleForUserLocked() {
+ for (int i = mTasks.size() - 1; i >= 0; i--) {
+ final Task task = mTasks.get(i);
+ if (task.isVisibleForUser()) {
+ return true;
+ }
+ }
return false;
}
@@ -979,4 +1125,4 @@
public void getFullScreenBounds(Rect bounds) {
getDisplayContent().getContentRect(bounds);
}
-}
\ No newline at end of file
+}
diff --git a/services/core/java/com/android/server/wm/WindowAnimator.java b/services/core/java/com/android/server/wm/WindowAnimator.java
index f8a4d33..38d0711 100644
--- a/services/core/java/com/android/server/wm/WindowAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowAnimator.java
@@ -705,7 +705,8 @@
}
orAnimating(mService.getDisplayContentLocked(displayId).animateDimLayers());
-
+ orAnimating(mService.getDisplayContentLocked(displayId).getDockedDividerController()
+ .animate(mCurrentTime));
//TODO (multidisplay): Magnification is supported only for the default display.
if (mService.mAccessibilityController != null
&& displayId == Display.DEFAULT_DISPLAY) {
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index b661786..142715e 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -116,7 +116,7 @@
import android.view.animation.Animation;
import android.view.inputmethod.InputMethodManagerInternal;
import android.widget.Toast;
-import com.android.internal.R;
+
import com.android.internal.app.IAssistScreenshotReceiver;
import com.android.internal.os.IResultReceiver;
import com.android.internal.util.FastPrintWriter;
@@ -192,6 +192,8 @@
import static android.view.WindowManagerGlobal.RELAYOUT_DEFER_SURFACE_DESTROY;
import static android.view.WindowManagerGlobal.RELAYOUT_RES_SURFACE_CHANGED;
import static android.view.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER;
+import static android.view.WindowManagerPolicy.TRANSIT_EXIT;
+import static android.view.WindowManagerPolicy.TRANSIT_PREVIEW_DONE;
import static com.android.server.wm.AppWindowAnimator.PROLONG_ANIMATION_AT_END;
import static com.android.server.wm.AppWindowAnimator.PROLONG_ANIMATION_AT_START;
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG;
@@ -1354,7 +1356,7 @@
+ " policyVis=" + w.mPolicyVisibility
+ " policyVisAfterAnim=" + w.mPolicyVisibilityAfterAnim
+ " attachHid=" + w.mAttachedHidden
- + " exiting=" + w.mExiting + " destroying=" + w.mDestroying);
+ + " exiting=" + w.mAnimatingExit + " destroying=" + w.mDestroying);
if (w.mAppToken != null) {
Slog.i(TAG_WM, " mAppToken.hiddenRequested=" + w.mAppToken.hiddenRequested);
}
@@ -2057,7 +2059,7 @@
WindowState replacedWindow = null;
for (int i = atoken.windows.size() - 1; i >= 0 && replacedWindow == null; i--) {
WindowState candidate = atoken.windows.get(i);
- if (candidate.mExiting && candidate.mWillReplaceWindow
+ if (candidate.mAnimatingExit && candidate.mWillReplaceWindow
&& candidate.mAnimateReplacingWindow) {
replacedWindow = candidate;
}
@@ -2131,19 +2133,12 @@
if (win == null) {
return;
}
- // We set this here instead of removeWindowLocked because we only want it to be
- // true when the client has requested we remove the window. In other remove
- // cases, we have to wait for activity stop to safely remove the window (as the
- // client may still be using the surface). In this case though, the client has
- // just dismissed a window (for example a Dialog) and activity stop isn't
- // necessarily imminent, so we need to know not to wait for it after our
- // hanimation (if applicable) finishes.
- win.mClientRemoveRequested = true;
removeWindowLocked(win);
}
}
void removeWindowLocked(WindowState win) {
+ win.mWindowRemovalAllowed = true;
final boolean startingWindow = win.mAttrs.type == TYPE_APPLICATION_STARTING;
if (startingWindow) {
if (DEBUG_STARTING_WINDOW) Slog.d(TAG_WM, "Starting window removed " + win);
@@ -2159,23 +2154,25 @@
win.disposeInputChannel();
- if (DEBUG_APP_TRANSITIONS) Slog.v(
- TAG_WM, "Remove " + win + ": mSurfaceController=" + win.mWinAnimator.mSurfaceController
- + " mExiting=" + win.mExiting
+ if (DEBUG_APP_TRANSITIONS) Slog.v(TAG_WM,
+ "Remove " + win + ": mSurfaceController=" + win.mWinAnimator.mSurfaceController
+ + " mAnimatingExit=" + win.mAnimatingExit
+ + " mRemoveOnExit=" + win.mRemoveOnExit
+ + " mHasSurface=" + win.mHasSurface
+ + " surfaceShowing=" + win.mWinAnimator.getShown()
+ " isAnimating=" + win.mWinAnimator.isAnimating()
+ " app-animation="
+ (win.mAppToken != null ? win.mAppToken.mAppAnimator.animation : null)
- + " mWillReplaceWindow="
- + win.mWillReplaceWindow
+ + " mWillReplaceWindow=" + win.mWillReplaceWindow
+ " inPendingTransaction="
+ (win.mAppToken != null ? win.mAppToken.inPendingTransaction : false)
- + " mDisplayFrozen=" + mDisplayFrozen);
+ + " mDisplayFrozen=" + mDisplayFrozen
+ + " callers=" + Debug.getCallers(6));
// Visibility of the removed window. Will be used later to update orientation later on.
boolean wasVisible = false;
- // First, see if we need to run an animation. If we do, we have
- // to hold off on removing the window until the animation is done.
- // If the display is frozen, just remove immediately, since the
- // animation wouldn't be seen.
+ // First, see if we need to run an animation. If we do, we have to hold off on removing the
+ // window until the animation is done. If the display is frozen, just remove immediately,
+ // since the animation wouldn't be seen.
if (win.mHasSurface && okToDisplay()) {
final AppWindowToken appToken = win.mAppToken;
if (win.mWillReplaceWindow) {
@@ -2183,13 +2180,16 @@
// gets added, then we will get rid of this one.
if (DEBUG_ADD_REMOVE) Slog.v(TAG_WM, "Preserving " + win + " until the new one is "
+ "added");
- win.mExiting = true;
+ // TODO: We are overloading mAnimatingExit flag to prevent the window state from
+ // been removed. We probably need another falg to indicate that window removal
+ // should be deffered vs. overloading the flag that says we are playing an exit
+ // animation.
+ win.mAnimatingExit = true;
win.mReplacingRemoveRequested = true;
Binder.restoreCallingIdentity(origId);
return;
}
- // If we are not currently running the exit animation, we
- // need to see about starting one.
+ // If we are not currently running the exit animation, we need to see about starting one
wasVisible = win.isWinVisibleLw();
if (win.shouldKeepVisibleDeadAppWindow()) {
@@ -2209,14 +2209,13 @@
return;
}
+ final WindowStateAnimator winAnimator = win.mWinAnimator;
if (wasVisible) {
- final int transit = (!startingWindow)
- ? WindowManagerPolicy.TRANSIT_EXIT
- : WindowManagerPolicy.TRANSIT_PREVIEW_DONE;
+ final int transit = (!startingWindow) ? TRANSIT_EXIT : TRANSIT_PREVIEW_DONE;
// Try starting an animation.
- if (win.mWinAnimator.applyAnimationLocked(transit, false)) {
- win.mExiting = true;
+ if (winAnimator.applyAnimationLocked(transit, false)) {
+ win.mAnimatingExit = true;
}
//TODO (multidisplay): Magnification is supported only for the default display.
if (mAccessibilityController != null
@@ -2224,15 +2223,20 @@
mAccessibilityController.onWindowTransitionLocked(win, transit);
}
}
- final boolean isAnimating = win.mWinAnimator.isAnimating()
- && !win.mWinAnimator.isDummyAnimation();
- // The starting window is the last window in this app token and it isn't animating.
- // Allow it to be removed now as there is no additional window or animation that will
- // trigger its removal.
- final boolean lastWinStartingNotAnimating = startingWindow && appToken!= null
- && appToken.allAppWindows.size() == 1 && !isAnimating;
- if (!lastWinStartingNotAnimating && win.mExiting) {
- // The exit animation is running... wait for it!
+ final boolean isAnimating =
+ winAnimator.isAnimating() && !winAnimator.isDummyAnimation();
+ final boolean lastWindowIsStartingWindow = startingWindow && appToken != null
+ && appToken.allAppWindows.size() == 1;
+ // We delay the removal of a window if it has a showing surface that can be used to run
+ // exit animation and it is marked as exiting.
+ // Also, If isn't the an animating starting window that is the last window in the app.
+ // We allow the removal of the non-animating starting window now as there is no
+ // additional window or animation that will trigger its removal.
+ if (winAnimator.getShown() && win.mAnimatingExit
+ && (!lastWindowIsStartingWindow || isAnimating)) {
+ // The exit animation is running or should run... wait for it!
+ if (DEBUG_ADD_REMOVE) Slog.v(TAG_WM,
+ "Not removing " + win + " due to exit animation ");
win.mRemoveOnExit = true;
win.setDisplayLayoutNeeded();
final boolean focusChanged = updateFocusedWindowLocked(
@@ -2262,13 +2266,14 @@
void removeWindowInnerLocked(WindowState win) {
if (win.mRemoved) {
// Nothing to do.
+ if (DEBUG_ADD_REMOVE) Slog.v(TAG_WM,
+ "removeWindowInnerLocked: " + win + " Already removed...");
return;
}
- for (int i=win.mChildWindows.size()-1; i>=0; i--) {
+ for (int i = win.mChildWindows.size() - 1; i >= 0; i--) {
WindowState cwin = win.mChildWindows.get(i);
- Slog.w(TAG_WM, "Force-removing child win " + cwin + " from container "
- + win);
+ Slog.w(TAG_WM, "Force-removing child win " + cwin + " from container " + win);
removeWindowInnerLocked(cwin);
}
@@ -2681,16 +2686,16 @@
final boolean usingSavedSurfaceBeforeVisible =
oldVisibility != View.VISIBLE && win.isAnimatingWithSavedSurface();
if (DEBUG_APP_TRANSITIONS || DEBUG_ANIM) {
- if (winAnimator.hasSurface() && !win.mExiting
+ if (winAnimator.hasSurface() && !win.mAnimatingExit
&& usingSavedSurfaceBeforeVisible) {
Slog.d(TAG, "Ignoring layout to invisible when using saved surface " + win);
}
}
- if (winAnimator.hasSurface() && !win.mExiting
+ if (winAnimator.hasSurface() && !win.mAnimatingExit
&& !usingSavedSurfaceBeforeVisible) {
if (DEBUG_VISIBILITY) Slog.i(TAG_WM, "Relayout invis " + win
- + ": mExiting=" + win.mExiting);
+ + ": mAnimatingExit=" + win.mAnimatingExit);
// If we are not currently running the exit animation, we
// need to see about starting one.
// We don't want to animate visibility of windows which are pending
@@ -2797,16 +2802,16 @@
}
if (win.isWinVisibleLw() && winAnimator.applyAnimationLocked(transit, false)) {
focusMayChange = isDefaultDisplay;
- win.mExiting = true;
+ win.mAnimatingExit = true;
} else if (win.mWinAnimator.isAnimating()) {
// Currently in a hide animation... turn this into
// an exit.
- win.mExiting = true;
+ win.mAnimatingExit = true;
} else if (mWallpaperControllerLocked.isWallpaperTarget(win)) {
// If the wallpaper is currently behind this
// window, we need to change both of them inside
// of a transaction to avoid artifacts.
- win.mExiting = true;
+ win.mAnimatingExit = true;
win.mWinAnimator.mAnimating = true;
} else {
if (mInputMethodWindow == win) {
@@ -2842,12 +2847,12 @@
private int relayoutVisibleWindow(Configuration outConfig, int result, WindowState win,
WindowStateAnimator winAnimator, int attrChanges, int oldVisibility) {
result |= !win.isVisibleLw() ? WindowManagerGlobal.RELAYOUT_RES_FIRST_TIME : 0;
- if (win.mExiting) {
- Slog.d(TAG, "relayoutVisibleWindow: " + win + " mExiting=true, mRemoveOnExit="
+ if (win.mAnimatingExit) {
+ Slog.d(TAG, "relayoutVisibleWindow: " + win + " mAnimatingExit=true, mRemoveOnExit="
+ win.mRemoveOnExit + ", mDestroying=" + win.mDestroying);
winAnimator.cancelExitAnimationForNextAnimationLocked();
- win.mExiting = false;
+ win.mAnimatingExit = false;
}
if (win.mDestroying) {
win.mDestroying = false;
@@ -2968,6 +2973,8 @@
// Determine the visible rect to calculate the thumbnail clip
final WindowState win = atoken.findMainWindow();
final Rect frame = new Rect(0, 0, width, height);
+ final Rect displayFrame = new Rect(0, 0,
+ displayInfo.logicalWidth, displayInfo.logicalHeight);
final Rect insets = new Rect();
Rect surfaceInsets = null;
final boolean freeform = win != null && win.inFreeformWorkspace();
@@ -2995,8 +3002,8 @@
+ " transit=" + AppTransition.appTransitionToString(transit) + " enter=" + enter
+ " frame=" + frame + " insets=" + insets + " surfaceInsets=" + surfaceInsets);
Animation a = mAppTransition.loadAnimation(lp, transit, enter,
- mCurConfiguration.orientation, frame, insets, surfaceInsets, isVoiceInteraction,
- freeform, atoken.mTask.mTaskId);
+ mCurConfiguration.orientation, frame, displayFrame, insets, surfaceInsets,
+ isVoiceInteraction, freeform, atoken.mTask.mTaskId);
if (a != null) {
if (DEBUG_ANIM) logWithStack(TAG, "Loaded animation " + a + " for " + atoken);
final int containingWidth = frame.width();
@@ -3542,23 +3549,20 @@
}
synchronized(mWindowMap) {
- final boolean orientationChanged = mCurConfiguration.orientation != config.orientation;
mCurConfiguration = new Configuration(config);
if (mWaitingForConfig) {
mWaitingForConfig = false;
mLastFinishedFreezeSource = "new-config";
}
- if (orientationChanged) {
- updateTaskStackBoundsAfterRotation();
- }
+ onConfigurationChanged();
mWindowPlacerLocked.performSurfacePlacement();
}
}
- private void updateTaskStackBoundsAfterRotation() {
+ private void onConfigurationChanged() {
for (int stackNdx = mStackIdToStack.size() - 1; stackNdx >= 0; stackNdx--) {
final TaskStack stack = mStackIdToStack.valueAt(stackNdx);
- stack.updateBoundsAfterRotation();
+ stack.onConfigurationChanged();
}
}
@@ -4153,11 +4157,15 @@
}
}
- if (visibilityChanged && visible && !delayed) {
- // The token was made immediately visible, there will be no entrance animation. We need
- // to inform the client the enter animation was finished.
- wtoken.mEnteringAnimation = true;
- mActivityManagerAppTransitionNotifier.onAppTransitionFinishedLocked(wtoken.token);
+ if (visibilityChanged && !delayed) {
+ if (visible) {
+ // The token was made immediately visible, there will be no entrance animation.
+ // We need to inform the client the enter animation was finished.
+ wtoken.mEnteringAnimation = true;
+ mActivityManagerAppTransitionNotifier.onAppTransitionFinishedLocked(wtoken.token);
+ }
+ getDefaultDisplayContentLocked().getDockedDividerController()
+ .notifyAppVisibilityChanged(wtoken, visible);
}
return delayed;
@@ -8124,14 +8132,14 @@
for (int i = stacks.size() - 1; i >= 0; --i) {
final TaskStack stack = stacks.get(i);
if (stack.isVisibleLocked()) {
- stack.adjustForIME(imeWin);
+ stack.setAdjustedForIme(imeWin);
}
}
} else {
final ArrayList<TaskStack> stacks = displayContent.getStacks();
for (int i = stacks.size() - 1; i >= 0; --i) {
final TaskStack stack = stacks.get(i);
- stack.adjustForIME(null);
+ stack.resetAdjustedForIme();
}
}
}
@@ -10333,7 +10341,8 @@
@Override
public int getDockedStackSide() {
synchronized (mWindowMap) {
- TaskStack dockedStack = getDefaultDisplayContentLocked().getDockedStackLocked();
+ final TaskStack dockedStack = getDefaultDisplayContentLocked()
+ .getDockedStackVisibleForUserLocked();
return dockedStack == null ? DOCKED_INVALID : dockedStack.getDockSide();
}
}
@@ -10417,11 +10426,16 @@
}
}
- private void getStableInsetsLocked(Rect outInsets) {
+ void getStableInsetsLocked(Rect outInsets) {
final DisplayInfo di = getDefaultDisplayInfoLocked();
mPolicy.getStableInsetsLw(di.rotation, di.logicalWidth, di.logicalHeight, outInsets);
}
+ private void getNonDecorInsetsLocked(Rect outInsets) {
+ final DisplayInfo di = getDefaultDisplayInfoLocked();
+ mPolicy.getNonDecorInsetsLw(di.rotation, di.logicalWidth, di.logicalHeight, outInsets);
+ }
+
/**
* Intersects the specified {@code inOutBounds} with the display frame that excludes the stable
* inset areas.
@@ -10438,6 +10452,23 @@
}
}
+ /**
+ * Intersects the specified {@code inOutBounds} with the display frame that excludes
+ * areas that could never be removed in Honeycomb. See
+ * {@link WindowManagerPolicy#getNonDecorInsetsLw}.
+ *
+ * @param inOutBounds The inOutBounds to subtract the inset areas from.
+ */
+ public void subtractNonDecorInsets(Rect inOutBounds) {
+ synchronized (mWindowMap) {
+ getNonDecorInsetsLocked(mTmpRect2);
+ final DisplayInfo di = getDefaultDisplayInfoLocked();
+ mTmpRect.set(0, 0, di.logicalWidth, di.logicalHeight);
+ mTmpRect.inset(mTmpRect2);
+ inOutBounds.intersect(mTmpRect);
+ }
+ }
+
private MousePositionTracker mMousePositionTracker = new MousePositionTracker();
private static class MousePositionTracker implements PointerEventListener {
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index 0958ad2..f30c8d3 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -358,7 +358,7 @@
boolean mLayoutNeeded;
/** Currently running an exit animation? */
- boolean mExiting;
+ boolean mAnimatingExit;
/** Currently on the mDestroySurface list? */
boolean mDestroying;
@@ -387,11 +387,11 @@
boolean mRemoved;
/**
- * Has the client requested we remove the window? In this case we know
- * that we can dispose of it when we wish without further synchronization
- * with the client
+ * It is save to remove the window and destroy the surface because the client requested removal
+ * or some other higher level component said so (e.g. activity manager).
+ * TODO: We should either have different booleans for the removal reason or use a bit-field.
*/
- boolean mClientRemoveRequested;
+ boolean mWindowRemovalAllowed;
/**
* Temp for keeping track of windows that have been removed when
@@ -614,7 +614,7 @@
@Override
public void computeFrameLw(Rect pf, Rect df, Rect of, Rect cf, Rect vf, Rect dcf, Rect sf,
Rect osf) {
- if (mWillReplaceWindow && (mExiting || !mReplacingRemoveRequested)) {
+ if (mWillReplaceWindow && (mAnimatingExit || !mReplacingRemoveRequested)) {
// This window is being replaced and either already got information that it's being
// removed or we are still waiting for some information. Because of this we don't
// want to apply any more changes to it, so it remains in this state until new window
@@ -1075,7 +1075,7 @@
*/
private boolean isVisibleUnchecked() {
return mHasSurface && mPolicyVisibility && !mAttachedHidden
- && !mExiting && !mDestroying && (!mIsWallpaper || mWallpaperVisible);
+ && !mAnimatingExit && !mDestroying && (!mIsWallpaper || mWallpaperVisible);
}
/**
@@ -1100,7 +1100,7 @@
}
final AppWindowToken atoken = mAppToken;
final boolean animating = atoken != null && atoken.mAppAnimator.animation != null;
- return mHasSurface && !mDestroying && !mExiting
+ return mHasSurface && !mDestroying && !mAnimatingExit
&& (atoken == null ? mPolicyVisibility : !atoken.hiddenRequested)
&& ((!mAttachedHidden && mViewVisibility == View.VISIBLE && !mRootToken.hidden)
|| mWinAnimator.mAnimation != null || animating);
@@ -1143,7 +1143,7 @@
return (mHasSurface || (!mRelayoutCalled && mViewVisibility == View.VISIBLE))
&& mPolicyVisibility && !mAttachedHidden
&& (atoken == null || !atoken.hiddenRequested)
- && !mExiting && !mDestroying;
+ && !mAnimatingExit && !mDestroying;
}
/**
@@ -1237,7 +1237,7 @@
|| (atoken == null && mRootToken.hidden)
|| (atoken != null && (atoken.hiddenRequested || atoken.hidden))
|| mAttachedHidden
- || (mExiting && !isAnimatingLw())
+ || (mAnimatingExit && !isAnimatingLw())
|| mDestroying;
}
@@ -1283,7 +1283,7 @@
*/
boolean hasMoved() {
return mHasSurface && (mContentChanged || mMovedByResize)
- && !mExiting && !mWinAnimator.mLastHidden && mService.okToDisplay()
+ && !mAnimatingExit && !mWinAnimator.mLastHidden && mService.okToDisplay()
&& (mFrame.top != mLastFrame.top || mFrame.left != mLastFrame.left)
&& (mAttachedWindow == null || !mAttachedWindow.hasMoved());
}
@@ -1438,11 +1438,11 @@
return;
}
- if (!mExiting && mAppDied) {
+ if (!mAnimatingExit && mAppDied) {
// If app died visible, apply a dim over the window to indicate that it's inactive
mDisplayContent.mDimLayerController.applyDimAbove(getDimLayerUser(), mWinAnimator);
} else if ((mAttrs.flags & FLAG_DIM_BEHIND) != 0
- && mDisplayContent != null && !mExiting && isDisplayedLw()) {
+ && mDisplayContent != null && !mAnimatingExit && isDisplayedLw()) {
mDisplayContent.mDimLayerController.applyDimBehind(getDimLayerUser(), mWinAnimator);
}
}
@@ -1467,7 +1467,7 @@
win.mAnimateReplacingWindow = false;
win.mReplacingRemoveRequested = false;
win.mReplacingWindow = null;
- if (win.mExiting) {
+ if (win.mAnimatingExit) {
mService.removeWindowInnerLocked(win);
}
}
@@ -1810,7 +1810,7 @@
}
boolean isClosing() {
- return mExiting || (mService.mClosingApps.contains(mAppToken));
+ return mAnimatingExit || (mService.mClosingApps.contains(mAppToken));
}
boolean isAnimatingWithSavedSurface() {
@@ -2341,8 +2341,8 @@
}
pw.print(prefix); pw.print(mWinAnimator); pw.println(":");
mWinAnimator.dump(pw, prefix + " ", dumpAll);
- if (mExiting || mRemoveOnExit || mDestroying || mRemoved) {
- pw.print(prefix); pw.print("mExiting="); pw.print(mExiting);
+ if (mAnimatingExit || mRemoveOnExit || mDestroying || mRemoved) {
+ pw.print(prefix); pw.print("mAnimatingExit="); pw.print(mAnimatingExit);
pw.print(" mRemoveOnExit="); pw.print(mRemoveOnExit);
pw.print(" mDestroying="); pw.print(mDestroying);
pw.print(" mRemoved="); pw.println(mRemoved);
@@ -2403,12 +2403,12 @@
@Override
public String toString() {
final CharSequence title = getWindowTag();
- if (mStringNameCache == null || mLastTitle != title || mWasExiting != mExiting) {
+ if (mStringNameCache == null || mLastTitle != title || mWasExiting != mAnimatingExit) {
mLastTitle = title;
- mWasExiting = mExiting;
+ mWasExiting = mAnimatingExit;
mStringNameCache = "Window{" + Integer.toHexString(System.identityHashCode(this))
+ " u" + UserHandle.getUserId(mSession.mUid)
- + " " + mLastTitle + (mExiting ? " EXITING}" : "}");
+ + " " + mLastTitle + (mAnimatingExit ? " EXITING}" : "}");
}
return mStringNameCache;
}
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java
index 84a2c09..0828417 100644
--- a/services/core/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java
@@ -29,7 +29,6 @@
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_VISIBILITY;
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_WALLPAPER;
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_WINDOW_CROP;
-import static com.android.server.wm.WindowManagerDebugConfig.SHOW_STACK_CRAWLS;
import static com.android.server.wm.WindowManagerDebugConfig.SHOW_LIGHT_TRANSACTIONS;
import static com.android.server.wm.WindowManagerDebugConfig.SHOW_SURFACE_ALLOC;
import static com.android.server.wm.WindowManagerDebugConfig.SHOW_TRANSACTIONS;
@@ -375,7 +374,7 @@
// Done animating, clean up.
if (DEBUG_ANIM) Slog.v(
- TAG, "Animation done in " + this + ": exiting=" + mWin.mExiting
+ TAG, "Animation done in " + this + ": exiting=" + mWin.mAnimatingExit
+ ", reportedVisible="
+ (mWin.mAppToken != null ? mWin.mAppToken.reportedVisible : false));
@@ -430,7 +429,7 @@
void finishExit() {
if (DEBUG_ANIM) Slog.v(
TAG, "finishExit in " + this
- + ": exiting=" + mWin.mExiting
+ + ": exiting=" + mWin.mAnimatingExit
+ " remove=" + mWin.mRemoveOnExit
+ " windowAnimating=" + isWindowAnimating());
@@ -460,7 +459,7 @@
}
}
- if (!mWin.mExiting) {
+ if (!mWin.mAnimatingExit) {
return;
}
@@ -475,27 +474,27 @@
mWin.mDestroying = true;
+ final boolean hasSurface = hasSurface();
+ if (hasSurface) {
+ hide("finishExit");
+ }
+
// If we have an app token, we ask it to destroy the surface for us,
// so that it can take care to ensure the activity has actually stopped
// and the surface is not still in use. Otherwise we add the service to
// mDestroySurface and allow it to be processed in our next transaction.
if (mWin.mAppToken != null) {
- if (hasSurface()) {
- hide("finishExit");
- }
mWin.mAppToken.destroySurfaces();
} else {
- if (hasSurface()) {
+ if (hasSurface) {
mService.mDestroySurface.add(mWin);
- hide("finishExit");
}
- mWin.mExiting = false;
if (mWin.mRemoveOnExit) {
mService.mPendingRemove.add(mWin);
mWin.mRemoveOnExit = false;
}
}
-
+ mWin.mAnimatingExit = false;
mWallpaperControllerLocked.hideWallpapers(mWin);
}
diff --git a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
index 4e1b644..f705df8 100644
--- a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
+++ b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
@@ -7,7 +7,6 @@
import static android.view.WindowManager.LayoutParams.TYPE_BASE_APPLICATION;
import static android.view.WindowManager.LayoutParams.TYPE_DREAM;
import static android.view.WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG;
-import static android.view.WindowManager.LayoutParams.TYPE_PRIVATE_PRESENTATION;
import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG;
import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_ERROR;
import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER;
@@ -676,8 +675,10 @@
// currently animating... let's do something.
final int left = w.mFrame.left;
final int top = w.mFrame.top;
+ final boolean adjustedForMinimizedDockedStack = w.getTask() != null &&
+ w.getTask().mStack.isAdjustedForMinimizedDockedStack();
if ((w.mAttrs.privateFlags & PRIVATE_FLAG_NO_MOVE_ANIMATION) == 0
- && !w.isDragResizing()) {
+ && !w.isDragResizing() && !adjustedForMinimizedDockedStack) {
winAnimator.setMoveAnimation(left, top);
}
@@ -751,7 +752,7 @@
}
if ((w.isOnScreenIgnoringKeyguard()
|| winAnimator.mAttrType == TYPE_BASE_APPLICATION)
- && !w.mExiting && !w.mDestroying) {
+ && !w.mAnimatingExit && !w.mDestroying) {
if (DEBUG_VISIBILITY || DEBUG_ORIENTATION) {
Slog.v(TAG, "Eval win " + w + ": isDrawn="
+ w.isDrawnLw()
@@ -1099,6 +1100,7 @@
processApplicationsAnimatingInPlace(transit);
+ mTmpLayerAndToken.token = null;
handleClosingApps(transit, animLp, voiceInteraction, mTmpLayerAndToken);
final AppWindowToken topClosingApp = mTmpLayerAndToken.token;
final int topClosingLayer = mTmpLayerAndToken.layer;
@@ -1111,7 +1113,8 @@
final AppWindowAnimator closingAppAnimator = (topClosingApp == null) ? null :
topClosingApp.mAppAnimator;
- mService.mAppTransition.goodToGo(openingAppAnimator, closingAppAnimator);
+ mService.mAppTransition.goodToGo(openingAppAnimator, closingAppAnimator,
+ mService.mOpeningApps, mService.mClosingApps);
mService.mAppTransition.postAnimationCallback();
mService.mAppTransition.clear();
@@ -1181,17 +1184,17 @@
int layer = -1;
for (int j = 0; j < wtoken.windows.size(); j++) {
final WindowState win = wtoken.windows.get(j);
- // Clearing the mExiting flag before entering animation. It will be set to true
+ // Clearing the mAnimatingExit flag before entering animation. It will be set to true
// if app window is removed, or window relayout to invisible. We don't want to
// clear it out for windows that get replaced, because the animation depends on
// the flag to remove the replaced window.
//
- // We also don't clear the mExiting flag for windows which have the
+ // We also don't clear the mAnimatingExit flag for windows which have the
// mRemoveOnExit flag. This indicates an explicit remove request has been issued
// by the client. We should let animation proceed and not clear this flag or
// they won't eventually be removed by WindowStateAnimator#finishExit.
if (!win.mWillReplaceWindow && !win.mRemoveOnExit) {
- win.mExiting = false;
+ win.mAnimatingExit = false;
}
if (win.mWinAnimator.mAnimLayer > layer) {
layer = win.mWinAnimator.mAnimLayer;
@@ -1230,7 +1233,7 @@
wtoken.deferClearAllDrawn = false;
// Ensure that apps that are mid-starting are also scheduled to have their
// starting windows removed after the animation is complete
- if (wtoken.startingWindow != null && !wtoken.startingWindow.mExiting) {
+ if (wtoken.startingWindow != null && !wtoken.startingWindow.mAnimatingExit) {
mService.scheduleRemoveStartingWindowLocked(wtoken);
}
mService.mAnimator.mAppWindowAnimating |= appAnimator.isAnimating();
diff --git a/core/java/android/view/animation/ClipRectLRAnimation.java b/services/core/java/com/android/server/wm/animation/ClipRectLRAnimation.java
similarity index 87%
rename from core/java/android/view/animation/ClipRectLRAnimation.java
rename to services/core/java/com/android/server/wm/animation/ClipRectLRAnimation.java
index 8993cd3..0db4c70 100644
--- a/core/java/android/view/animation/ClipRectLRAnimation.java
+++ b/services/core/java/com/android/server/wm/animation/ClipRectLRAnimation.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015 The Android Open Source Project
+ * Copyright (C) 2016 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.
@@ -11,12 +11,14 @@
* 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.
+ * limitations under the License
*/
-package android.view.animation;
+package com.android.server.wm.animation;
import android.graphics.Rect;
+import android.view.animation.ClipRectAnimation;
+import android.view.animation.Transformation;
/**
* Special case of ClipRectAnimation that animates only the left/right
diff --git a/services/core/java/com/android/server/wm/animation/ClipRectTBAnimation.java b/services/core/java/com/android/server/wm/animation/ClipRectTBAnimation.java
new file mode 100644
index 0000000..1f5b1a3
--- /dev/null
+++ b/services/core/java/com/android/server/wm/animation/ClipRectTBAnimation.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2016 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.server.wm.animation;
+
+import android.graphics.Rect;
+import android.view.animation.ClipRectAnimation;
+import android.view.animation.Interpolator;
+import android.view.animation.Transformation;
+import android.view.animation.TranslateAnimation;
+
+/**
+ * Special case of ClipRectAnimation that animates only the top/bottom
+ * dimensions of the clip, picking up the other dimensions from whatever is
+ * set on the transform already. In addition to that, information about a vertical translation
+ * animation can be specified so this animation simulates as the clip would be applied after instead
+ * of before applying the translation.
+ */
+public class ClipRectTBAnimation extends ClipRectAnimation {
+
+ private final int mFromTranslateY;
+ private final int mToTranslateY;
+ private final Interpolator mTranslateInterpolator;
+ private float mNormalizedTime;
+
+ /**
+ * Constructor. Passes in 0 for Left/Right parameters of ClipRectAnimation
+ */
+ public ClipRectTBAnimation(int fromT, int fromB, int toT, int toB,
+ int fromTranslateY, int toTranslateY, Interpolator translateInterpolator) {
+ super(0, fromT, 0, fromB, 0, toT, 0, toB);
+ mFromTranslateY = fromTranslateY;
+ mToTranslateY = toTranslateY;
+ mTranslateInterpolator = translateInterpolator;
+ }
+
+ @Override
+ public boolean getTransformation(long currentTime, Transformation outTransformation) {
+
+ // Hack: Because translation animation has a different interpolator, we need to duplicate
+ // code from Animation here and use it to calculate/store the uninterpolated normalized
+ // time.
+ final long startOffset = getStartOffset();
+ final long duration = getDuration();
+ float normalizedTime;
+ if (duration != 0) {
+ normalizedTime = ((float) (currentTime - (getStartTime() + startOffset))) /
+ (float) duration;
+ } else {
+ // time is a step-change with a zero duration
+ normalizedTime = currentTime < getStartTime() ? 0.0f : 1.0f;
+ }
+ mNormalizedTime = normalizedTime;
+ return super.getTransformation(currentTime, outTransformation);
+ }
+
+ /**
+ * Calculates and sets clip rect on given transformation. It uses existing values
+ * on the Transformation for Left/Right clip parameters.
+ */
+ @Override
+ protected void applyTransformation(float it, Transformation tr) {
+ float translationT = mTranslateInterpolator.getInterpolation(mNormalizedTime);
+ int translation =
+ (int) (mFromTranslateY + (mToTranslateY - mFromTranslateY) * translationT);
+ Rect oldClipRect = tr.getClipRect();
+ tr.setClipRect(oldClipRect.left,
+ mFromRect.top - translation + (int) ((mToRect.top - mFromRect.top) * it),
+ oldClipRect.right,
+ mFromRect.bottom - translation + (int) ((mToRect.bottom - mFromRect.bottom) * it));
+ }
+
+}
diff --git a/services/core/jni/Android.mk b/services/core/jni/Android.mk
index bb571c3..5e5c6d9 100644
--- a/services/core/jni/Android.mk
+++ b/services/core/jni/Android.mk
@@ -17,6 +17,7 @@
$(LOCAL_REL_DIR)/com_android_server_AssetAtlasService.cpp \
$(LOCAL_REL_DIR)/com_android_server_connectivity_Vpn.cpp \
$(LOCAL_REL_DIR)/com_android_server_ConsumerIrService.cpp \
+ $(LOCAL_REL_DIR)/com_android_server_HardwarePropertiesManagerService.cpp \
$(LOCAL_REL_DIR)/com_android_server_hdmi_HdmiCecController.cpp \
$(LOCAL_REL_DIR)/com_android_server_input_InputApplicationHandle.cpp \
$(LOCAL_REL_DIR)/com_android_server_input_InputManagerService.cpp \
diff --git a/core/jni/android_os_HardwarePropertiesManager.cpp b/services/core/jni/com_android_server_HardwarePropertiesManagerService.cpp
similarity index 93%
rename from core/jni/android_os_HardwarePropertiesManager.cpp
rename to services/core/jni/com_android_server_HardwarePropertiesManagerService.cpp
index dc1ba48..214d988 100644
--- a/core/jni/android_os_HardwarePropertiesManager.cpp
+++ b/services/core/jni/com_android_server_HardwarePropertiesManagerService.cpp
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#define LOG_TAG "HardwarePropertiesManager-JNI"
+#define LOG_TAG "HardwarePropertiesManagerService-JNI"
#include "JNIHelp.h"
#include "jni.h"
@@ -137,7 +137,7 @@
// ----------------------------------------------------------------------------
-static const JNINativeMethod gHardwarePropertiesManagerMethods[] = {
+static const JNINativeMethod gHardwarePropertiesManagerServiceMethods[] = {
/* name, signature, funcPtr */
{ "nativeInit", "()V",
(void*) nativeInit },
@@ -149,11 +149,11 @@
(void*) nativeGetCpuUsages }
};
-int register_android_os_HardwarePropertiesManager(JNIEnv* env) {
+int register_android_server_HardwarePropertiesManagerService(JNIEnv* env) {
gHardwarePropertiesModule = nullptr;
- int res = jniRegisterNativeMethods(env, "android/os/HardwarePropertiesManager",
- gHardwarePropertiesManagerMethods,
- NELEM(gHardwarePropertiesManagerMethods));
+ int res = jniRegisterNativeMethods(env, "com/android/server/HardwarePropertiesManagerService",
+ gHardwarePropertiesManagerServiceMethods,
+ NELEM(gHardwarePropertiesManagerServiceMethods));
jclass clazz = env->FindClass("android/os/CpuUsageInfo");
gCpuUsageInfoClassInfo.clazz = MakeGlobalRefOrDie(env, clazz);
gCpuUsageInfoClassInfo.initMethod = GetMethodIDOrDie(env, gCpuUsageInfoClassInfo.clazz,
diff --git a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
index cdd5519..e39445a 100644
--- a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
+++ b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
@@ -42,7 +42,7 @@
static jmethodID method_reportAGpsStatus;
static jmethodID method_reportNmea;
static jmethodID method_setEngineCapabilities;
-static jmethodID method_setGpsYearOfHardware;
+static jmethodID method_setGnssYearOfHardware;
static jmethodID method_xtraDownloadRequest;
static jmethodID method_reportNiNotification;
static jmethodID method_requestRefLocation;
@@ -133,11 +133,10 @@
for (size_t i = 0; i < sGnssSvListSize; i++) {
GnssSvInfo& info = sGnssSvList[i];
info.svid = sv_status->sv_list[i].prn;
- // TODO: implement the correct logic to derive the constellation type
- // based on PRN ranges.
if (info.svid >=1 && info.svid <= 32) {
info.constellation = GNSS_CONSTELLATION_GPS;
} else {
+ ALOGD("Unknown constellation type with Svid = %d.", info.svid);
info.constellation = GNSS_CONSTELLATION_UNKNOWN;
}
info.snr = sv_status->sv_list[i].snr;
@@ -198,10 +197,10 @@
checkAndClearExceptionFromCallback(env, __FUNCTION__);
}
-static void set_system_info_callback(const GpsSystemInfo* info) {
+static void set_system_info_callback(const GnssSystemInfo* info) {
ALOGD("set_system_info_callback: year_of_hw=%d\n", info->year_of_hw);
JNIEnv* env = AndroidRuntime::getJNIEnv();
- env->CallVoidMethod(mCallbacksObj, method_setGpsYearOfHardware,
+ env->CallVoidMethod(mCallbacksObj, method_setGnssYearOfHardware,
info->year_of_hw);
checkAndClearExceptionFromCallback(env, __FUNCTION__);
}
@@ -536,7 +535,7 @@
method_reportAGpsStatus = env->GetMethodID(clazz, "reportAGpsStatus", "(II[B)V");
method_reportNmea = env->GetMethodID(clazz, "reportNmea", "(J)V");
method_setEngineCapabilities = env->GetMethodID(clazz, "setEngineCapabilities", "(I)V");
- method_setGpsYearOfHardware = env->GetMethodID(clazz, "setGpsYearOfHardware", "(I)V");
+ method_setGnssYearOfHardware = env->GetMethodID(clazz, "setGnssYearOfHardware", "(I)V");
method_xtraDownloadRequest = env->GetMethodID(clazz, "xtraDownloadRequest", "()V");
method_reportNiNotification = env->GetMethodID(clazz, "reportNiNotification",
"(IIIIILjava/lang/String;Ljava/lang/String;IILjava/lang/String;)V");
@@ -1074,7 +1073,9 @@
template<>
const char *const JavaMethodHelper<uint16_t>::signature_ = "(S)V";
template<>
-const char *const JavaMethodHelper<int>::signature_ = "(I)V";
+const char *const JavaMethodHelper<int32_t>::signature_ = "(I)V";
+template<>
+const char *const JavaMethodHelper<uint32_t>::signature_ = "(I)V";
template<>
const char *const JavaMethodHelper<int64_t>::signature_ = "(J)V";
template<>
@@ -1092,36 +1093,22 @@
JavaObject object(env, "android/location/GnssClock");
GpsClockFlags flags = clock->flags;
- SET_IF(GPS_CLOCK_HAS_LEAP_SECOND, LeapSecond, clock->leap_second);
+ SET_IF(GNSS_CLOCK_HAS_LEAP_SECOND, LeapSecond, clock->leap_second);
SET(Type, clock->type);
SET(TimeInNs, clock->time_ns);
- SET_IF(GPS_CLOCK_HAS_TIME_UNCERTAINTY,
+ SET_IF(GNSS_CLOCK_HAS_TIME_UNCERTAINTY,
TimeUncertaintyInNs,
clock->time_uncertainty_ns);
- SET_IF(GPS_CLOCK_HAS_FULL_BIAS, FullBiasInNs, clock->full_bias_ns);
- SET_IF(GPS_CLOCK_HAS_BIAS, BiasInNs, clock->bias_ns);
- SET_IF(GPS_CLOCK_HAS_BIAS_UNCERTAINTY,
+ SET_IF(GNSS_CLOCK_HAS_FULL_BIAS, FullBiasInNs, clock->full_bias_ns);
+ SET_IF(GNSS_CLOCK_HAS_BIAS, BiasInNs, clock->bias_ns);
+ SET_IF(GNSS_CLOCK_HAS_BIAS_UNCERTAINTY,
BiasUncertaintyInNs,
clock->bias_uncertainty_ns);
- SET_IF(GPS_CLOCK_HAS_DRIFT, DriftInNsPerSec, clock->drift_nsps);
- SET_IF(GPS_CLOCK_HAS_DRIFT_UNCERTAINTY,
+ SET_IF(GNSS_CLOCK_HAS_DRIFT, DriftInNsPerSec, clock->drift_nsps);
+ SET_IF(GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY,
DriftUncertaintyInNsPerSec,
clock->drift_uncertainty_nsps);
- /*
- if (flags & GPS_CLOCK_TYPE_LOCAL_HW_TIME) {
- if (size == sizeof(GnssClock)) {
- jmethodID setterMethod =
- env->GetMethodID(gpsClockClass,
- "setTimeOfLastHwClockDiscontinuityInNs",
- longSignature);
- env->CallVoidMethod(gpsClockObject,
- setterMethod,
- reinterpret_cast<GnssClock*>(clock)->time_of_last_hw_clock_discontinuity_ns);
- }
- }
- */
-
return object.get();
}
@@ -1129,25 +1116,23 @@
JavaObject object(env, "android/location/GnssClock");
GpsClockFlags flags = clock->flags;
- SET_IF(GPS_CLOCK_HAS_LEAP_SECOND, LeapSecond, clock->leap_second);
- SET(Type, clock->type);
+ SET_IF(GNSS_CLOCK_HAS_LEAP_SECOND, LeapSecond, clock->leap_second);
+ SET(Type, static_cast<uint8_t>(GPS_CLOCK_TYPE_LOCAL_HW_TIME));
SET(TimeInNs, clock->time_ns);
- SET_IF(GPS_CLOCK_HAS_TIME_UNCERTAINTY,
+ SET_IF(GNSS_CLOCK_HAS_TIME_UNCERTAINTY,
TimeUncertaintyInNs,
clock->time_uncertainty_ns);
- SET_IF(GPS_CLOCK_HAS_FULL_BIAS, FullBiasInNs, clock->full_bias_ns);
- SET_IF(GPS_CLOCK_HAS_BIAS, BiasInNs, clock->bias_ns);
- SET_IF(GPS_CLOCK_HAS_BIAS_UNCERTAINTY,
+ SET_IF(GNSS_CLOCK_HAS_FULL_BIAS, FullBiasInNs, clock->full_bias_ns);
+ SET_IF(GNSS_CLOCK_HAS_BIAS, BiasInNs, clock->bias_ns);
+ SET_IF(GNSS_CLOCK_HAS_BIAS_UNCERTAINTY,
BiasUncertaintyInNs,
clock->bias_uncertainty_ns);
- SET_IF(GPS_CLOCK_HAS_DRIFT, DriftInNsPerSec, clock->drift_nsps);
- SET_IF(GPS_CLOCK_HAS_DRIFT_UNCERTAINTY,
+ SET_IF(GNSS_CLOCK_HAS_DRIFT, DriftInNsPerSec, clock->drift_nsps);
+ SET_IF(GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY,
DriftUncertaintyInNsPerSec,
clock->drift_uncertainty_nsps);
- SET_IF(GPS_CLOCK_TYPE_LOCAL_HW_TIME,
- TimeOfLastHwClockDiscontinuityInNs,
- clock->time_of_last_hw_clock_discontinuity_ns);
+ SET(HardwareClockDiscontinuityCount, clock->hw_clock_discontinuity_count);
return object.get();
}
@@ -1156,12 +1141,18 @@
GpsMeasurement* measurement) {
JavaObject object(env, "android/location/GnssMeasurement");
GpsMeasurementFlags flags = measurement->flags;
-
SET(Svid, static_cast<int16_t>(measurement->prn));
+ if (measurement->prn >= 1 || measurement->prn <= 32) {
+ SET(ConstellationType, static_cast<uint8_t>(GNSS_CONSTELLATION_GPS));
+ } else {
+ ALOGD("Unknown constellation type with Svid = %d.", measurement->prn);
+ SET(ConstellationType,
+ static_cast<uint8_t>(GNSS_CONSTELLATION_UNKNOWN));
+ }
SET(TimeOffsetInNs, measurement->time_offset_ns);
SET(State, measurement->state);
- SET(ReceivedGpsTowInNs, measurement->received_gps_tow_ns);
- SET(ReceivedGpsTowUncertaintyInNs,
+ SET(ReceivedSvTimeInNs, measurement->received_gps_tow_ns);
+ SET(ReceivedSvTimeUncertaintyInNs,
measurement->received_gps_tow_uncertainty_ns);
SET(Cn0InDbHz, measurement->c_n0_dbhz);
SET(PseudorangeRateInMetersPerSec, measurement->pseudorange_rate_mps);
@@ -1171,57 +1162,57 @@
SET(AccumulatedDeltaRangeInMeters, measurement->accumulated_delta_range_m);
SET(AccumulatedDeltaRangeUncertaintyInMeters,
measurement->accumulated_delta_range_uncertainty_m);
- SET_IF(GPS_MEASUREMENT_HAS_PSEUDORANGE,
+ SET_IF(GNSS_MEASUREMENT_HAS_PSEUDORANGE,
PseudorangeInMeters,
measurement->pseudorange_m);
- SET_IF(GPS_MEASUREMENT_HAS_PSEUDORANGE_UNCERTAINTY,
+ SET_IF(GNSS_MEASUREMENT_HAS_PSEUDORANGE_UNCERTAINTY,
PseudorangeUncertaintyInMeters,
measurement->pseudorange_uncertainty_m);
- SET_IF(GPS_MEASUREMENT_HAS_CODE_PHASE,
+ SET_IF(GNSS_MEASUREMENT_HAS_CODE_PHASE,
CodePhaseInChips,
measurement->code_phase_chips);
- SET_IF(GPS_MEASUREMENT_HAS_CODE_PHASE_UNCERTAINTY,
+ SET_IF(GNSS_MEASUREMENT_HAS_CODE_PHASE_UNCERTAINTY,
CodePhaseUncertaintyInChips,
measurement->code_phase_uncertainty_chips);
- SET_IF(GPS_MEASUREMENT_HAS_CARRIER_FREQUENCY,
+ SET_IF(GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY,
CarrierFrequencyInHz,
measurement->carrier_frequency_hz);
- SET_IF(GPS_MEASUREMENT_HAS_CARRIER_CYCLES,
+ SET_IF(GNSS_MEASUREMENT_HAS_CARRIER_CYCLES,
CarrierCycles,
measurement->carrier_cycles);
- SET_IF(GPS_MEASUREMENT_HAS_CARRIER_PHASE,
+ SET_IF(GNSS_MEASUREMENT_HAS_CARRIER_PHASE,
CarrierPhase,
measurement->carrier_phase);
- SET_IF(GPS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY,
+ SET_IF(GNSS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY,
CarrierPhaseUncertainty,
measurement->carrier_phase_uncertainty);
SET(LossOfLock, measurement->loss_of_lock);
- SET_IF(GPS_MEASUREMENT_HAS_BIT_NUMBER, BitNumber, measurement->bit_number);
- SET_IF(GPS_MEASUREMENT_HAS_TIME_FROM_LAST_BIT,
+ SET_IF(GNSS_MEASUREMENT_HAS_BIT_NUMBER, BitNumber, measurement->bit_number);
+ SET_IF(GNSS_MEASUREMENT_HAS_TIME_FROM_LAST_BIT,
TimeFromLastBitInMs,
measurement->time_from_last_bit_ms);
- SET_IF(GPS_MEASUREMENT_HAS_DOPPLER_SHIFT,
+ SET_IF(GNSS_MEASUREMENT_HAS_DOPPLER_SHIFT,
DopplerShiftInHz,
measurement->doppler_shift_hz);
- SET_IF(GPS_MEASUREMENT_HAS_DOPPLER_SHIFT_UNCERTAINTY,
+ SET_IF(GNSS_MEASUREMENT_HAS_DOPPLER_SHIFT_UNCERTAINTY,
DopplerShiftUncertaintyInHz,
measurement->doppler_shift_uncertainty_hz);
SET(MultipathIndicator, measurement->multipath_indicator);
- SET_IF(GPS_MEASUREMENT_HAS_SNR, SnrInDb, measurement->snr_db);
- SET_IF(GPS_MEASUREMENT_HAS_ELEVATION,
+ SET_IF(GNSS_MEASUREMENT_HAS_SNR, SnrInDb, measurement->snr_db);
+ SET_IF(GNSS_MEASUREMENT_HAS_ELEVATION,
ElevationInDeg,
measurement->elevation_deg);
- SET_IF(GPS_MEASUREMENT_HAS_ELEVATION_UNCERTAINTY,
+ SET_IF(GNSS_MEASUREMENT_HAS_ELEVATION_UNCERTAINTY,
ElevationUncertaintyInDeg,
measurement->elevation_uncertainty_deg);
- SET_IF(GPS_MEASUREMENT_HAS_AZIMUTH,
+ SET_IF(GNSS_MEASUREMENT_HAS_AZIMUTH,
AzimuthInDeg,
measurement->azimuth_deg);
- SET_IF(GPS_MEASUREMENT_HAS_AZIMUTH_UNCERTAINTY,
+ SET_IF(GNSS_MEASUREMENT_HAS_AZIMUTH_UNCERTAINTY,
AzimuthUncertaintyInDeg,
measurement->azimuth_uncertainty_deg);
SET(UsedInFix,
- (flags & GPS_MEASUREMENT_HAS_USED_IN_FIX) && measurement->used_in_fix);
+ (flags & GNSS_MEASUREMENT_HAS_USED_IN_FIX) && measurement->used_in_fix);
return object.get();
}
@@ -1232,11 +1223,12 @@
GpsMeasurementFlags flags = measurement->flags;
SET(Svid, measurement->svid);
+ SET(ConstellationType, measurement->constellation);
SET(TimeOffsetInNs, measurement->time_offset_ns);
SET(State, measurement->state);
- SET(ReceivedGpsTowInNs, measurement->received_gps_tow_ns);
- SET(ReceivedGpsTowUncertaintyInNs,
- measurement->received_gps_tow_uncertainty_ns);
+ SET(ReceivedSvTimeInNs, measurement->received_sv_time_in_ns);
+ SET(ReceivedSvTimeUncertaintyInNs,
+ measurement->received_sv_time_uncertainty_in_ns);
SET(Cn0InDbHz, measurement->c_n0_dbhz);
SET(PseudorangeRateInMetersPerSec, measurement->pseudorange_rate_mps);
SET(PseudorangeRateUncertaintyInMetersPerSec,
@@ -1245,62 +1237,56 @@
SET(AccumulatedDeltaRangeInMeters, measurement->accumulated_delta_range_m);
SET(AccumulatedDeltaRangeUncertaintyInMeters,
measurement->accumulated_delta_range_uncertainty_m);
- SET_IF(GPS_MEASUREMENT_HAS_PSEUDORANGE,
+ SET_IF(GNSS_MEASUREMENT_HAS_PSEUDORANGE,
PseudorangeInMeters,
measurement->pseudorange_m);
- SET_IF(GPS_MEASUREMENT_HAS_PSEUDORANGE_UNCERTAINTY,
+ SET_IF(GNSS_MEASUREMENT_HAS_PSEUDORANGE_UNCERTAINTY,
PseudorangeUncertaintyInMeters,
measurement->pseudorange_uncertainty_m);
- SET_IF(GPS_MEASUREMENT_HAS_CODE_PHASE,
+ SET_IF(GNSS_MEASUREMENT_HAS_CODE_PHASE,
CodePhaseInChips,
measurement->code_phase_chips);
- SET_IF(GPS_MEASUREMENT_HAS_CODE_PHASE_UNCERTAINTY,
+ SET_IF(GNSS_MEASUREMENT_HAS_CODE_PHASE_UNCERTAINTY,
CodePhaseUncertaintyInChips,
measurement->code_phase_uncertainty_chips);
- SET_IF(GPS_MEASUREMENT_HAS_CARRIER_FREQUENCY,
+ SET_IF(GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY,
CarrierFrequencyInHz,
measurement->carrier_frequency_hz);
- SET_IF(GPS_MEASUREMENT_HAS_CARRIER_CYCLES,
+ SET_IF(GNSS_MEASUREMENT_HAS_CARRIER_CYCLES,
CarrierCycles,
measurement->carrier_cycles);
- SET_IF(GPS_MEASUREMENT_HAS_CARRIER_PHASE,
+ SET_IF(GNSS_MEASUREMENT_HAS_CARRIER_PHASE,
CarrierPhase,
measurement->carrier_phase);
- SET_IF(GPS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY,
+ SET_IF(GNSS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY,
CarrierPhaseUncertainty,
measurement->carrier_phase_uncertainty);
- SET(LossOfLock, measurement->loss_of_lock);
- SET_IF(GPS_MEASUREMENT_HAS_BIT_NUMBER, BitNumber, measurement->bit_number);
- SET_IF(GPS_MEASUREMENT_HAS_TIME_FROM_LAST_BIT,
+ SET_IF(GNSS_MEASUREMENT_HAS_BIT_NUMBER, BitNumber, measurement->bit_number);
+ SET_IF(GNSS_MEASUREMENT_HAS_TIME_FROM_LAST_BIT,
TimeFromLastBitInMs,
measurement->time_from_last_bit_ms);
- SET_IF(GPS_MEASUREMENT_HAS_DOPPLER_SHIFT,
+ SET_IF(GNSS_MEASUREMENT_HAS_DOPPLER_SHIFT,
DopplerShiftInHz,
measurement->doppler_shift_hz);
- SET_IF(GPS_MEASUREMENT_HAS_DOPPLER_SHIFT_UNCERTAINTY,
+ SET_IF(GNSS_MEASUREMENT_HAS_DOPPLER_SHIFT_UNCERTAINTY,
DopplerShiftUncertaintyInHz,
measurement->doppler_shift_uncertainty_hz);
SET(MultipathIndicator, measurement->multipath_indicator);
- SET_IF(GPS_MEASUREMENT_HAS_SNR, SnrInDb, measurement->snr_db);
- SET_IF(GPS_MEASUREMENT_HAS_ELEVATION,
+ SET_IF(GNSS_MEASUREMENT_HAS_SNR, SnrInDb, measurement->snr_db);
+ SET_IF(GNSS_MEASUREMENT_HAS_ELEVATION,
ElevationInDeg,
measurement->elevation_deg);
- SET_IF(GPS_MEASUREMENT_HAS_ELEVATION_UNCERTAINTY,
+ SET_IF(GNSS_MEASUREMENT_HAS_ELEVATION_UNCERTAINTY,
ElevationUncertaintyInDeg,
measurement->elevation_uncertainty_deg);
- SET_IF(GPS_MEASUREMENT_HAS_AZIMUTH,
+ SET_IF(GNSS_MEASUREMENT_HAS_AZIMUTH,
AzimuthInDeg,
measurement->azimuth_deg);
- SET_IF(GPS_MEASUREMENT_HAS_AZIMUTH_UNCERTAINTY,
+ SET_IF(GNSS_MEASUREMENT_HAS_AZIMUTH_UNCERTAINTY,
AzimuthUncertaintyInDeg,
measurement->azimuth_uncertainty_deg);
SET(UsedInFix,
- (flags & GPS_MEASUREMENT_HAS_USED_IN_FIX) && measurement->used_in_fix);
-
- SET(PseudorangeRateCarrierInMetersPerSec,
- measurement->pseudorange_rate_carrier_mps);
- SET(PseudorangeRateCarrierUncertaintyInMetersPerSec,
- measurement->pseudorange_rate_carrier_uncertainty_mps);
+ (flags & GNSS_MEASUREMENT_HAS_USED_IN_FIX) && measurement->used_in_fix);
return object.get();
}
@@ -1480,8 +1466,18 @@
return NULL;
}
JavaObject object(env, "android/location/GnssNavigationMessage");
- SET(Type, message->type);
SET(Svid, static_cast<int16_t>(message->prn));
+ if (message->prn >=1 && message->prn <= 32) {
+ SET(ConstellationType, static_cast<uint8_t>(GNSS_CONSTELLATION_GPS));
+ // Legacy driver doesn't set the higher byte to constellation type
+ // correctly. Set the higher byte to 'GPS'.
+ SET(Type, static_cast<int16_t>(message->type | 0x0100));
+ } else {
+ ALOGD("Unknown constellation type with Svid = %d.", message->prn);
+ SET(ConstellationType,
+ static_cast<uint8_t>(GNSS_CONSTELLATION_UNKNOWN));
+ SET(Type, static_cast<int16_t>(GNSS_NAVIGATION_MESSAGE_TYPE_UNKNOWN));
+ }
SET(MessageId, message->message_id);
SET(SubmessageId, message->submessage_id);
object.callSetter("setData", data, dataLength);
diff --git a/services/core/jni/onload.cpp b/services/core/jni/onload.cpp
index ef5c56c..be99673 100644
--- a/services/core/jni/onload.cpp
+++ b/services/core/jni/onload.cpp
@@ -44,6 +44,7 @@
int register_android_server_tv_TvInputHal(JNIEnv* env);
int register_android_server_PersistentDataBlockService(JNIEnv* env);
int register_android_server_Watchdog(JNIEnv* env);
+int register_android_server_HardwarePropertiesManagerService(JNIEnv* env);
};
using namespace android;
@@ -83,6 +84,7 @@
register_android_server_tv_TvInputHal(env);
register_android_server_PersistentDataBlockService(env);
register_android_server_Watchdog(env);
+ register_android_server_HardwarePropertiesManagerService(env);
return JNI_VERSION_1_4;
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index ac972a9..c854573 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -488,6 +488,7 @@
MmsServiceBroker mmsService = null;
EntropyMixer entropyMixer = null;
VrManagerService vrManagerService = null;
+ HardwarePropertiesManagerService hardwarePropertiesService = null;
boolean disableStorage = SystemProperties.getBoolean("config.disable_storage", false);
boolean disableBluetooth = SystemProperties.getBoolean("config.disable_bluetooth", false);
@@ -962,6 +963,17 @@
Slog.e(TAG, "Failure starting SerialService", e);
}
Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER);
+
+ Trace.traceBegin(Trace.TRACE_TAG_SYSTEM_SERVER,
+ "StartHardwarePropertiesManagerService");
+ try {
+ hardwarePropertiesService = new HardwarePropertiesManagerService(context);
+ ServiceManager.addService(Context.HARDWARE_PROPERTIES_SERVICE,
+ hardwarePropertiesService);
+ } catch (Throwable e) {
+ Slog.e(TAG, "Failure starting HardwarePropertiesManagerService", e);
+ }
+ Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER);
}
mSystemServiceManager.startService(TwilightService.class);
diff --git a/services/net/java/android/net/ip/IpManager.java b/services/net/java/android/net/ip/IpManager.java
index 61f2c8a..2a90c60 100644
--- a/services/net/java/android/net/ip/IpManager.java
+++ b/services/net/java/android/net/ip/IpManager.java
@@ -24,6 +24,7 @@
import android.net.LinkAddress;
import android.net.LinkProperties;
import android.net.LinkProperties.ProvisioningChange;
+import android.net.ProxyInfo;
import android.net.RouteInfo;
import android.net.StaticIpConfiguration;
import android.net.dhcp.DhcpClient;
@@ -31,6 +32,7 @@
import android.os.Message;
import android.os.RemoteException;
import android.os.ServiceManager;
+import android.text.TextUtils;
import android.util.Log;
import android.util.SparseArray;
@@ -64,6 +66,9 @@
private static final boolean DBG = true;
private static final boolean VDBG = false;
+ private static final boolean NO_CALLBACKS = false;
+ private static final boolean SEND_CALLBACKS = true;
+
// For message logging.
private static final Class[] sMessageClasses = { IpManager.class, DhcpClient.class };
private static final SparseArray<String> sWhatToString =
@@ -104,6 +109,35 @@
public void onQuit() {}
}
+ public static class WaitForProvisioningCallback extends Callback {
+ private LinkProperties mCallbackLinkProperties;
+
+ public LinkProperties waitForProvisioning() {
+ synchronized (this) {
+ try {
+ wait();
+ } catch (InterruptedException e) {}
+ return mCallbackLinkProperties;
+ }
+ }
+
+ @Override
+ public void onProvisioningSuccess(LinkProperties newLp) {
+ synchronized (this) {
+ mCallbackLinkProperties = newLp;
+ notify();
+ }
+ }
+
+ @Override
+ public void onProvisioningFailure(LinkProperties newLp) {
+ synchronized (this) {
+ mCallbackLinkProperties = null;
+ notify();
+ }
+ }
+ }
+
/**
* This class encapsulates parameters to be passed to
* IpManager#startProvisioning(). A defensive copy is made by IpManager
@@ -168,6 +202,8 @@
private static final int EVENT_PRE_DHCP_ACTION_COMPLETE = 4;
// Sent by NetlinkTracker to communicate netlink events.
private static final int EVENT_NETLINK_LINKPROPERTIES_CHANGED = 5;
+ private static final int CMD_UPDATE_TCP_BUFFER_SIZES = 6;
+ private static final int CMD_UPDATE_HTTP_PROXY = 7;
private static final int MAX_LOG_RECORDS = 1000;
@@ -189,10 +225,12 @@
/**
* Non-final member variables accessed only from within our StateMachine.
*/
+ private ProvisioningConfiguration mConfiguration;
private IpReachabilityMonitor mIpReachabilityMonitor;
private DhcpClient mDhcpClient;
private DhcpResults mDhcpResults;
- private ProvisioningConfiguration mConfiguration;
+ private String mTcpBufferSizes;
+ private ProxyInfo mHttpProxy;
/**
* Member variables accessed both from within the StateMachine thread
@@ -301,6 +339,26 @@
sendMessage(EVENT_PRE_DHCP_ACTION_COMPLETE);
}
+ /**
+ * Set the TCP buffer sizes to use.
+ *
+ * This may be called, repeatedly, at any time before or after a call to
+ * #startProvisioning(). The setting is cleared upon calling #stop().
+ */
+ public void setTcpBufferSizes(String tcpBufferSizes) {
+ sendMessage(CMD_UPDATE_TCP_BUFFER_SIZES, tcpBufferSizes);
+ }
+
+ /**
+ * Set the HTTP Proxy configuration to use.
+ *
+ * This may be called, repeatedly, at any time before or after a call to
+ * #startProvisioning(). The setting is cleared upon calling #stop().
+ */
+ public void setHttpProxy(ProxyInfo proxyInfo) {
+ sendMessage(CMD_UPDATE_HTTP_PROXY, proxyInfo);
+ }
+
public LinkProperties getLinkProperties() {
synchronized (mLock) {
return new LinkProperties(mLinkProperties);
@@ -344,8 +402,10 @@
// assigned to the interface, etc.
private void resetLinkProperties() {
mNetlinkTracker.clearLinkProperties();
- mDhcpResults = null;
mConfiguration = null;
+ mDhcpResults = null;
+ mTcpBufferSizes = "";
+ mHttpProxy = null;
synchronized (mLock) {
mLinkProperties = new LinkProperties();
@@ -502,13 +562,33 @@
newLp.setDomains(mDhcpResults.domains);
}
+ // [4] Add in TCP buffer sizes and HTTP Proxy config, if available.
+ if (!TextUtils.isEmpty(mTcpBufferSizes)) {
+ newLp.setTcpBufferSizes(mTcpBufferSizes);
+ }
+ if (mHttpProxy != null) {
+ newLp.setHttpProxy(mHttpProxy);
+ }
+
if (VDBG) {
Log.d(mTag, "newLp{" + newLp + "}");
}
-
return newLp;
}
+ // Returns false if we have lost provisioning, true otherwise.
+ private boolean handleLinkPropertiesUpdate(boolean sendCallbacks) {
+ final LinkProperties newLp = assembleLinkProperties();
+ if (linkPropertiesUnchanged(newLp)) {
+ return true;
+ }
+ final ProvisioningChange delta = setLinkProperties(newLp);
+ if (sendCallbacks) {
+ dispatchCallback(delta, newLp);
+ }
+ return (delta != ProvisioningChange.LOST_PROVISIONING);
+ }
+
private void clearIPv4Address() {
try {
final InterfaceConfiguration ifcg = new InterfaceConfiguration();
@@ -587,7 +667,17 @@
break;
case EVENT_NETLINK_LINKPROPERTIES_CHANGED:
- setLinkProperties(assembleLinkProperties());
+ handleLinkPropertiesUpdate(NO_CALLBACKS);
+ break;
+
+ case CMD_UPDATE_TCP_BUFFER_SIZES:
+ mTcpBufferSizes = (String) msg.obj;
+ handleLinkPropertiesUpdate(NO_CALLBACKS);
+ break;
+
+ case CMD_UPDATE_HTTP_PROXY:
+ mHttpProxy = (ProxyInfo) msg.obj;
+ handleLinkPropertiesUpdate(NO_CALLBACKS);
break;
case DhcpClient.CMD_ON_QUIT:
@@ -718,18 +808,23 @@
}
break;
- case EVENT_NETLINK_LINKPROPERTIES_CHANGED: {
- final LinkProperties newLp = assembleLinkProperties();
- if (linkPropertiesUnchanged(newLp)) {
- break;
- }
- final ProvisioningChange delta = setLinkProperties(newLp);
- dispatchCallback(delta, newLp);
- if (delta == ProvisioningChange.LOST_PROVISIONING) {
+ case EVENT_NETLINK_LINKPROPERTIES_CHANGED:
+ if (!handleLinkPropertiesUpdate(SEND_CALLBACKS)) {
transitionTo(mStoppedState);
}
break;
- }
+
+ case CMD_UPDATE_TCP_BUFFER_SIZES:
+ mTcpBufferSizes = (String) msg.obj;
+ // This cannot possibly change provisioning state.
+ handleLinkPropertiesUpdate(SEND_CALLBACKS);
+ break;
+
+ case CMD_UPDATE_HTTP_PROXY:
+ mHttpProxy = (ProxyInfo) msg.obj;
+ // This cannot possibly change provisioning state.
+ handleLinkPropertiesUpdate(SEND_CALLBACKS);
+ break;
case DhcpClient.CMD_PRE_DHCP_ACTION:
if (VDBG) { Log.d(mTag, "onPreDhcpAction()"); }
diff --git a/services/tests/servicestests/src/com/android/server/job/JobStoreTest.java b/services/tests/servicestests/src/com/android/server/job/JobStoreTest.java
index 577c3a1..c786036 100644
--- a/services/tests/servicestests/src/com/android/server/job/JobStoreTest.java
+++ b/services/tests/servicestests/src/com/android/server/job/JobStoreTest.java
@@ -58,7 +58,7 @@
.setMinimumLatency(runFromMillis)
.setPersisted(true)
.build();
- final JobStatus ts = new JobStatus(task, SOME_UID, null, -1);
+ final JobStatus ts = JobStatus.createFromJobInfo(task, SOME_UID, null, -1);
mTaskStoreUnderTest.add(ts);
Thread.sleep(IO_WAIT);
// Manually load tasks from xml file.
@@ -91,8 +91,8 @@
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED)
.setPersisted(true)
.build();
- final JobStatus taskStatus1 = new JobStatus(task1, SOME_UID, null, -1);
- final JobStatus taskStatus2 = new JobStatus(task2, SOME_UID, null, -1);
+ final JobStatus taskStatus1 = JobStatus.createFromJobInfo(task1, SOME_UID, null, -1);
+ final JobStatus taskStatus2 = JobStatus.createFromJobInfo(task2, SOME_UID, null, -1);
mTaskStoreUnderTest.add(taskStatus1);
mTaskStoreUnderTest.add(taskStatus2);
Thread.sleep(IO_WAIT);
@@ -140,7 +140,7 @@
extras.putInt("into", 3);
b.setExtras(extras);
final JobInfo task = b.build();
- JobStatus taskStatus = new JobStatus(task, SOME_UID, null, -1);
+ JobStatus taskStatus = JobStatus.createFromJobInfo(task, SOME_UID, null, -1);
mTaskStoreUnderTest.add(taskStatus);
Thread.sleep(IO_WAIT);
@@ -157,7 +157,8 @@
.setPeriodic(10000L)
.setRequiresCharging(true)
.setPersisted(true);
- JobStatus taskStatus = new JobStatus(b.build(), SOME_UID, "com.google.android.gms", 0);
+ JobStatus taskStatus = JobStatus.createFromJobInfo(b.build(), SOME_UID,
+ "com.google.android.gms", 0);
mTaskStoreUnderTest.add(taskStatus);
Thread.sleep(IO_WAIT);
@@ -178,7 +179,7 @@
.setPeriodic(5*60*60*1000, 1*60*60*1000)
.setRequiresCharging(true)
.setPersisted(true);
- JobStatus taskStatus = new JobStatus(b.build(), SOME_UID, null, -1);
+ JobStatus taskStatus = JobStatus.createFromJobInfo(b.build(), SOME_UID, null, -1);
mTaskStoreUnderTest.add(taskStatus);
Thread.sleep(IO_WAIT);
@@ -203,7 +204,8 @@
SystemClock.elapsedRealtime() + (TWO_HOURS * ONE_HOUR) + TWO_HOURS; // > period+flex
final long invalidEarlyRuntimeElapsedMillis =
invalidLateRuntimeElapsedMillis - TWO_HOURS; // Early is (late - period).
- final JobStatus js = new JobStatus(b.build(), SOME_UID, "somePackage", 0 /* sourceUserId */,
+ final JobStatus js = new JobStatus(b.build(), SOME_UID, "somePackage",
+ 0 /* sourceUserId */,
invalidEarlyRuntimeElapsedMillis, invalidLateRuntimeElapsedMillis);
mTaskStoreUnderTest.add(js);
@@ -229,7 +231,7 @@
.setOverrideDeadline(5000)
.setPriority(42)
.setPersisted(true);
- final JobStatus js = new JobStatus(b.build(), SOME_UID, null, -1);
+ final JobStatus js = JobStatus.createFromJobInfo(b.build(), SOME_UID, null, -1);
mTaskStoreUnderTest.add(js);
Thread.sleep(IO_WAIT);
final ArraySet<JobStatus> jobStatusSet = new ArraySet<JobStatus>();
@@ -245,12 +247,12 @@
JobInfo.Builder b = new Builder(42, mComponent)
.setOverrideDeadline(10000)
.setPersisted(false);
- JobStatus jsNonPersisted = new JobStatus(b.build(), SOME_UID, null, -1);
+ JobStatus jsNonPersisted = JobStatus.createFromJobInfo(b.build(), SOME_UID, null, -1);
mTaskStoreUnderTest.add(jsNonPersisted);
b = new Builder(43, mComponent)
.setOverrideDeadline(10000)
.setPersisted(true);
- JobStatus jsPersisted = new JobStatus(b.build(), SOME_UID, null, -1);
+ JobStatus jsPersisted = JobStatus.createFromJobInfo(b.build(), SOME_UID, null, -1);
mTaskStoreUnderTest.add(jsPersisted);
Thread.sleep(IO_WAIT);
final ArraySet<JobStatus> jobStatusSet = new ArraySet<JobStatus>();
diff --git a/services/tests/servicestests/src/com/android/server/notification/RankingHelperTest.java b/services/tests/servicestests/src/com/android/server/notification/RankingHelperTest.java
index 31182fc..f1fe346 100644
--- a/services/tests/servicestests/src/com/android/server/notification/RankingHelperTest.java
+++ b/services/tests/servicestests/src/com/android/server/notification/RankingHelperTest.java
@@ -25,7 +25,6 @@
import org.mockito.MockitoAnnotations;
import android.app.Notification;
-import android.os.Handler;
import android.os.UserHandle;
import android.service.notification.StatusBarNotification;
import android.test.AndroidTestCase;
@@ -55,14 +54,13 @@
UserHandle user = UserHandle.ALL;
mHelper = new RankingHelper(getContext(), handler, mUsageStats,
- new String[] {TopicImportanceExtractor.class.getName()});
+ new String[] {ImportanceExtractor.class.getName()});
mNotiGroupGSortA = new Notification.Builder(getContext())
.setContentTitle("A")
.setGroup("G")
.setSortKey("A")
.setWhen(1205)
- .setTopic(new Notification.Topic("A", "a"))
.build();
mRecordGroupGSortA = new NotificationRecord(getContext(), new StatusBarNotification(
"package", "package", 1, null, 0, 0, 0, mNotiGroupGSortA, user));
@@ -72,7 +70,6 @@
.setGroup("G")
.setSortKey("B")
.setWhen(1200)
- .setTopic(new Notification.Topic("A", "a"))
.build();
mRecordGroupGSortB = new NotificationRecord(getContext(), new StatusBarNotification(
"package", "package", 1, null, 0, 0, 0, mNotiGroupGSortB, user));
@@ -80,7 +77,6 @@
mNotiNoGroup = new Notification.Builder(getContext())
.setContentTitle("C")
.setWhen(1201)
- .setTopic(new Notification.Topic("C", "c"))
.build();
mRecordNoGroup = new NotificationRecord(getContext(), new StatusBarNotification(
"package", "package", 1, null, 0, 0, 0, mNotiNoGroup, user));
@@ -88,7 +84,6 @@
mNotiNoGroup2 = new Notification.Builder(getContext())
.setContentTitle("D")
.setWhen(1202)
- .setTopic(new Notification.Topic("D", "d"))
.build();
mRecordNoGroup2 = new NotificationRecord(getContext(), new StatusBarNotification(
"package", "package", 1, null, 0, 0, 0, mNotiNoGroup2, user));
@@ -97,7 +92,6 @@
.setContentTitle("E")
.setWhen(1201)
.setSortKey("A")
- .setTopic(new Notification.Topic("E", "e"))
.build();
mRecordNoGroupSortA = new NotificationRecord(getContext(), new StatusBarNotification(
"package", "package", 1, null, 0, 0, 0, mNotiNoGroupSortA, user));
@@ -152,26 +146,4 @@
ArrayList<NotificationRecord> notificationList = new ArrayList<NotificationRecord>();
mHelper.sort(notificationList);
}
-
- @SmallTest
- public void testTopicImportanceExtractor() throws Exception {
- mHelper.setImportance("package", 0, new Notification.Topic("A", "a"), IMPORTANCE_MAX);
- // There is no B. There never was a b. Moving on...
- mHelper.setImportance("package", 0, new Notification.Topic("C", "c"), IMPORTANCE_HIGH);
- mHelper.setImportance("package", 0, new Notification.Topic("D", "d"), IMPORTANCE_LOW);
- // watch out: different package.
- mHelper.setImportance("package2", 0, new Notification.Topic("E", "e"), IMPORTANCE_NONE);
-
- TopicImportanceExtractor validator = mHelper.findExtractor(TopicImportanceExtractor.class);
- validator.process(mRecordGroupGSortA);
- validator.process(mRecordGroupGSortB);
- validator.process(mRecordNoGroup);
- validator.process(mRecordNoGroup2);
- validator.process(mRecordNoGroupSortA);
- assertTrue(mRecordGroupGSortA.getTopicImportance() == IMPORTANCE_MAX);
- assertTrue(mRecordGroupGSortB.getTopicImportance() == IMPORTANCE_MAX);
- assertTrue(mRecordNoGroup.getTopicImportance() == IMPORTANCE_HIGH);
- assertTrue(mRecordNoGroup2.getTopicImportance() == IMPORTANCE_LOW);
- assertTrue(mRecordNoGroupSortA.getTopicImportance() == IMPORTANCE_UNSPECIFIED);
- }
}
diff --git a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java
index cde47bd..b4c4bf8 100644
--- a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java
+++ b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java
@@ -198,6 +198,7 @@
return STATUS_ERROR;
}
modelData.setHandle(handle[0]);
+ modelData.setLoaded();
}
modelData.setCallback(callback);
modelData.setRecognitionConfig(recognitionConfig);
@@ -346,7 +347,7 @@
return STATUS_ERROR;
}
- if (currentCallback == null || !modelData.modelStarted()) {
+ if (currentCallback == null || !modelData.isModelStarted()) {
// startRecognition hasn't been called or it failed.
Slog.w(TAG, "Attempting stopRecognition without a successful startRecognition");
return STATUS_ERROR;
@@ -451,7 +452,7 @@
// Stop all generic recognition models.
for (ModelData model : mGenericModelDataMap.values()) {
- if (model.modelStarted()) {
+ if (model.isModelStarted()) {
int status = stopGenericRecognitionLocked(model,
false /* do not notify for synchronous calls */);
if (status != STATUS_OK) {
@@ -970,7 +971,7 @@
}
for (UUID modelId : mGenericModelDataMap.keySet()) {
ModelData modelData = mGenericModelDataMap.get(modelId);
- if (modelData.modelStarted()) {
+ if (modelData.isModelStarted()) {
mRecognitionRunning = true;
return mRecognitionRunning;
}
@@ -1001,7 +1002,6 @@
// to SoundModel.TYPE_UNKNOWN;
private int mModelType = SoundModel.TYPE_UNKNOWN;
private IRecognitionStatusCallback mCallback = null;
- private SoundModel mSoundModel = null;
private RecognitionConfig mRecognitionConfig = null;
@@ -1026,8 +1026,7 @@
}
synchronized boolean isModelLoaded() {
- return (mModelState == MODEL_LOADED || mModelState == MODEL_STARTED) &&
- mSoundModel != null;
+ return (mModelState == MODEL_LOADED || mModelState == MODEL_STARTED);
}
synchronized void setStarted() {
@@ -1038,13 +1037,16 @@
mModelState = MODEL_LOADED;
}
- synchronized boolean modelStarted() {
+ synchronized void setLoaded() {
+ mModelState = MODEL_LOADED;
+ }
+
+ synchronized boolean isModelStarted() {
return mModelState == MODEL_STARTED;
}
synchronized void clearState() {
mModelState = MODEL_NOTLOADED;
- mSoundModel = null;
mModelHandle = INVALID_VALUE;
}
diff --git a/tests/SoundTriggerTestApp/res/layout/main.xml b/tests/SoundTriggerTestApp/res/layout/main.xml
index 5ecc770..702be49 100644
--- a/tests/SoundTriggerTestApp/res/layout/main.xml
+++ b/tests/SoundTriggerTestApp/res/layout/main.xml
@@ -66,6 +66,7 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="20dp"
+ android:checkedButton="@+id/model_one"
android:orientation="vertical">
<RadioButton android:id="@+id/model_one"
android:layout_width="wrap_content"
@@ -84,15 +85,21 @@
android:onClick="onRadioButtonClicked"/>
</RadioGroup>
- <TextView
- android:id="@+id/console"
- android:gravity="left"
+<ScrollView
+ android:id="@+id/scroller_id"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:scrollbars="vertical"
+ android:fillViewport="true">
+
+ <TextView
+ android:id="@+id/console"
android:paddingTop="20pt"
android:layout_height="fill_parent"
- android:layout_width="match_parent"
- android:maxLines="40"
+ android:layout_width="fill_parent"
android:textSize="14dp"
- android:scrollbars = "vertical"
+ android:layout_weight="1.0"
android:text="@string/none">
</TextView>
+</ScrollView>
</LinearLayout>
diff --git a/tests/SoundTriggerTestApp/res/values/strings.xml b/tests/SoundTriggerTestApp/res/values/strings.xml
index 5f0fb1d..b4ca71b 100644
--- a/tests/SoundTriggerTestApp/res/values/strings.xml
+++ b/tests/SoundTriggerTestApp/res/values/strings.xml
@@ -24,5 +24,5 @@
<string name="model_one">Model One</string>
<string name="model_two">Model Two</string>
<string name="model_three">Model Three</string>
- <string name="none">Debug messages appear here:</string>
+ <string name="none">Debug messages appear here:\n</string>
</resources>
diff --git a/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/TestSoundTriggerActivity.java b/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/TestSoundTriggerActivity.java
index 96a6966..3149783 100644
--- a/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/TestSoundTriggerActivity.java
+++ b/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/TestSoundTriggerActivity.java
@@ -32,6 +32,7 @@
import android.util.Log;
import android.view.View;
import android.widget.RadioButton;
+import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
@@ -52,6 +53,7 @@
private TextView mDebugView = null;
private int mSelectedModelId = 1;
+ private ScrollView mScrollView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -59,6 +61,7 @@
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mDebugView = (TextView) findViewById(R.id.console);
+ mScrollView = (ScrollView) findViewById(R.id.scroller_id);
mDebugView.setText(mDebugView.getText(), TextView.BufferType.EDITABLE);
mDebugView.setMovementMethod(new ScrollingMovementMethod());
mSoundTriggerUtil = new SoundTriggerUtil(this);
@@ -68,6 +71,18 @@
private void postMessage(String msg) {
Log.i(TAG, "Posted: " + msg);
((Editable) mDebugView.getText()).append(msg + "\n");
+ if ((mDebugView.getMeasuredHeight() - mScrollView.getScrollY()) <=
+ (mScrollView.getHeight() + mDebugView.getLineHeight())) {
+ scrollToBottom();
+ }
+ }
+
+ private void scrollToBottom() {
+ mScrollView.post(new Runnable() {
+ public void run() {
+ mScrollView.smoothScrollTo(0, mDebugView.getBottom());
+ }
+ });
}
private UUID getSelectedUuid() {
diff --git a/tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java b/tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java
index 46de201..9ac4dbf 100644
--- a/tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java
+++ b/tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java
@@ -162,78 +162,6 @@
}
},
- new Test("with topic Hello") {
- public void run() {
- Notification.BigTextStyle bigText = new Notification.BigTextStyle();
- bigText.bigText("FgBHreherhethethethe\ntwetwrterter\netetweterteryetry");
- Notification n = new Notification.Builder(NotificationTestList.this)
- .setSmallIcon(R.drawable.icon1)
- .setStyle(bigText)
- .setWhen(mActivityCreateTime)
- .setContentTitle("hihi")
- .setContentText("This is a notification!!!")
- .setContentIntent(makeIntent2())
- .setTopic(new Notification.Topic("hello", "Hello"))
- .build();
-
- mNM.notify(70, n);
- }
- },
-
- new Test("with topic GoodBye") {
- public void run() {
- Notification.BigPictureStyle picture = new Notification.BigPictureStyle();
- picture.bigPicture(BitmapFactory.decodeResource(getResources(),
- R.id.large_icon_pineapple2));
- Notification n = new Notification.Builder(NotificationTestList.this)
- .setSmallIcon(R.drawable.icon1)
- .setWhen(mActivityCreateTime)
- .setContentTitle("byebye")
- .setContentText("This is a notification!!!")
- .setContentIntent(makeIntent2())
- .setTopic(new Notification.Topic("bye", "Goodbye"))
- .setStyle(picture)
- .build();
-
- mNM.notify(71, n);
- }
- },
- new Test("with topic Bananas") {
- public void run() {
- Notification.BigTextStyle bigText = new Notification.BigTextStyle();
- bigText.bigText("bananas are great\nso tasty\nyum\nyum\nyum\n");
- Notification n = new Notification.Builder(NotificationTestList.this)
- .setSmallIcon(R.drawable.icon1)
- .setStyle(bigText)
- .setWhen(mActivityCreateTime)
- .setContentTitle("bananananana")
- .setContentText("This is a banana!!!")
- .setContentIntent(makeIntent2())
- .setTopic(new Notification.Topic("bananas", "Bananas"))
- .build();
-
- mNM.notify(72, n);
- }
- },
-
- new Test("with delete intent") {
- public void run() {
- Notification.BigTextStyle bigText = new Notification.BigTextStyle();
- bigText.bigText("bananas are great\nso tasty\nyum\nyum\nyum\n");
- Notification n = new Notification.Builder(NotificationTestList.this)
- .setSmallIcon(R.drawable.icon1)
- .setStyle(bigText)
- .setWhen(mActivityCreateTime)
- .setContentTitle("bananananana")
- .setContentText("This is a banana!!!")
- .setTopic(new Notification.Topic("bananas", "Bananas"))
- .setDeleteIntent(makeIntent2())
- .build();
-
- mNM.notify(73, n);
- }
- },
-
new Test("Is blocked?") {
public void run() {
Toast.makeText(NotificationTestList.this,
@@ -242,18 +170,10 @@
}
},
- new Test("Topic banana importance?") {
+ new Test("importance?") {
public void run() {
Toast.makeText(NotificationTestList.this,
- "bananas importance? " + mNM.getImportance("bananas"),
- Toast.LENGTH_LONG).show();
- }
- },
-
- new Test("Topic garbage importance?") {
- public void run() {
- Toast.makeText(NotificationTestList.this,
- "garbage importance? " + mNM.getImportance("garbage"),
+ "importance? " + mNM.getImportance(),
Toast.LENGTH_LONG).show();
}
},
diff --git a/tests/touchlag/Android.mk b/tests/touchlag/Android.mk
index 4f8aa1e..70b1989 100644
--- a/tests/touchlag/Android.mk
+++ b/tests/touchlag/Android.mk
@@ -9,6 +9,8 @@
LOCAL_MODULE:= test-touchlag
+LOCAL_CFLAGS += -Wall -Wextra -Werror
+
LOCAL_MODULE_TAGS := tests
include $(BUILD_EXECUTABLE)
diff --git a/tests/touchlag/touchlag.cpp b/tests/touchlag/touchlag.cpp
index df4befb..9264a25 100644
--- a/tests/touchlag/touchlag.cpp
+++ b/tests/touchlag/touchlag.cpp
@@ -54,11 +54,11 @@
void drawTwoPixels(Buffer* buf, uint32_t pixel, ssize_t x, ssize_t y, size_t w) {
if (y>0 && y<ssize_t(buf->h)) {
uint32_t* bits = buf->pixels + y * buf->s;
- if (x>=0 && x<buf->w) {
+ if (x>=0 && x<ssize_t(buf->w)) {
bits[x] = pixel;
}
ssize_t W(w);
- if ((x+W)>=0 && (x+W)<buf->w) {
+ if ((x+W)>=0 && (x+W)<ssize_t(buf->w)) {
bits[x+W] = pixel;
}
}
@@ -251,13 +251,13 @@
Queue queue;
- int x=0, y=0, down=0;
+ int x=0, y=0;
int lag_x=0, lag_y=0;
clearBuffer(&framebuffer, 0);
while (true) {
uint32_t crt = 0;
- int err = ioctl(fd, FBIO_WAITFORVSYNC, &crt);
+ ioctl(fd, FBIO_WAITFORVSYNC, &crt);
// draw beam marker
drawRect(&framebuffer, 0x400000, framebuffer.w-2, 0, 2, framebuffer.h);
diff --git a/tools/layoutlib/bridge/src/android/view/AttachInfo_Accessor.java b/tools/layoutlib/bridge/src/android/view/AttachInfo_Accessor.java
index 4901f72..94f3f54 100644
--- a/tools/layoutlib/bridge/src/android/view/AttachInfo_Accessor.java
+++ b/tools/layoutlib/bridge/src/android/view/AttachInfo_Accessor.java
@@ -45,4 +45,10 @@
public static void dispatchOnPreDraw(View view) {
view.mAttachInfo.mTreeObserver.dispatchOnPreDraw();
}
+
+ public static void detachFromWindow(View view) {
+ if (view != null) {
+ view.dispatchDetachedFromWindow();
+ }
+ }
}
diff --git a/tools/layoutlib/bridge/src/android/view/HandlerActionQueue_Delegate.java b/tools/layoutlib/bridge/src/android/view/HandlerActionQueue_Delegate.java
new file mode 100644
index 0000000..e580ed0
--- /dev/null
+++ b/tools/layoutlib/bridge/src/android/view/HandlerActionQueue_Delegate.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2016 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 android.view;
+
+import com.android.tools.layoutlib.annotations.LayoutlibDelegate;
+
+/**
+ * Delegate used to provide new implementation of a select few methods of
+ * {@link HandlerActionQueue}
+ *
+ * Through the layoutlib_create tool, the original methods of ViewRootImpl.RunQueue have been
+ * replaced by calls to methods of the same name in this delegate class.
+ *
+ */
+public class HandlerActionQueue_Delegate {
+
+ @LayoutlibDelegate
+ /*package*/ static void postDelayed(HandlerActionQueue thisQueue, Runnable action, long
+ delayMillis) {
+ // The actual HandlerActionQueue is never run and therefore never cleared. This method
+ // avoids runnables to be added to the RunQueue so they do not leak resources.
+ }
+}
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeRenderSession.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeRenderSession.java
index 2ac212c..fea633e 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeRenderSession.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeRenderSession.java
@@ -208,6 +208,9 @@
@Override
public void dispose() {
+ if (mSession != null) {
+ mSession.dispose();
+ }
}
/*package*/ BridgeRenderSession(RenderSessionImpl scene, Result lastResult) {
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java
index ec50cfe..99af226 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java
@@ -1396,4 +1396,21 @@
public RenderSession getSession() {
return mScene;
}
+
+ public void dispose() {
+ AttachInfo_Accessor.detachFromWindow(mViewRoot);
+ if (mCanvas != null) {
+ mCanvas.release();
+ mCanvas = null;
+ }
+ if (mViewInfoList != null) {
+ mViewInfoList.clear();
+ }
+ if (mSystemViewInfoList != null) {
+ mSystemViewInfoList.clear();
+ }
+ mImage = null;
+ mViewRoot = null;
+ mContentRoot = null;
+ }
}
diff --git a/tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/Main.java b/tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/Main.java
index fe16a3e..6b23da7 100644
--- a/tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/Main.java
+++ b/tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/Main.java
@@ -291,7 +291,6 @@
@Test
public void testActivity() throws ClassNotFoundException {
renderAndVerify("activity.xml", "activity.png");
-
}
/** Test allwidgets.xml */
@@ -431,6 +430,8 @@
ImageUtils.requireSimilar(goldenImagePath, session.getImage());
} catch (IOException e) {
getLogger().error(e, e.getMessage());
+ } finally {
+ session.dispose();
}
}
diff --git a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java
index 9e390f6..8a23e4b 100644
--- a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java
+++ b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java
@@ -178,6 +178,7 @@
"android.view.Choreographer#scheduleVsyncLocked",
"android.view.Display#updateDisplayInfoLocked",
"android.view.Display#getWindowManager",
+ "android.view.HandlerActionQueue#postDelayed",
"android.view.LayoutInflater#rInflate",
"android.view.LayoutInflater#parseInclude",
"android.view.View#getWindowToken",
diff --git a/wifi/java/android/net/wifi/ScanResult.java b/wifi/java/android/net/wifi/ScanResult.java
index 31da670..ed12bdf 100644
--- a/wifi/java/android/net/wifi/ScanResult.java
+++ b/wifi/java/android/net/wifi/ScanResult.java
@@ -331,6 +331,7 @@
*/
public static class InformationElement {
public static final int EID_SSID = 0;
+ public static final int EID_TIM = 5;
public static final int EID_BSS_LOAD = 11;
public static final int EID_RSN = 48;
public static final int EID_HT_OPERATION = 61;
diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java
index cce8386..ddd8f43 100644
--- a/wifi/java/android/net/wifi/WifiConfiguration.java
+++ b/wifi/java/android/net/wifi/WifiConfiguration.java
@@ -403,6 +403,15 @@
/**
* @hide
+ * The number of beacon intervals between Delivery Traffic Indication Maps (DTIM)
+ * This value is populated from scan results that contain Beacon Frames, which are infrequent.
+ * The value is not guaranteed to be set or current (Although it SHOULDNT change once set)
+ * Valid values are from 1 - 255. Initialized here as 0, use this to check if set.
+ */
+ public int dtimInterval = 0;
+
+ /**
+ * @hide
* Uid of app creating the configuration
*/
@SystemApi
@@ -1298,6 +1307,7 @@
lastUpdateUid = -1;
creatorUid = -1;
shared = true;
+ dtimInterval = 0;
}
/**
@@ -2044,4 +2054,4 @@
config.allowedKeyManagement.set(in.readInt());
return config;
}
-}
\ No newline at end of file
+}