mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2024-10-01 01:35:54 -04:00
17.1 October ASB work
Signed-off-by: Tad <tad@spotco.us>
This commit is contained in:
parent
d90bcb8ad3
commit
27066c202f
123
Patches/LineageOS-17.1/android_external_libxml2/368053.patch
Normal file
123
Patches/LineageOS-17.1/android_external_libxml2/368053.patch
Normal file
@ -0,0 +1,123 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||
Date: Fri, 17 Feb 2023 15:53:07 +0100
|
||||
Subject: [PATCH] malloc-fail: Fix OOB read after xmlRegGetCounter
|
||||
|
||||
Found with libFuzzer, see #344.
|
||||
|
||||
(cherry picked from commit 1743c4c3fc58cf38ecce68db9de51d0f3651e033)
|
||||
|
||||
I also copied the error label from
|
||||
e64653c0e7975594e27d7de2ed4be062c1e4ad03 to fix the build failure.
|
||||
|
||||
Bug: http://b/274231102
|
||||
Test: TreeHugger
|
||||
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:381160fc2a293d50a627c9e35bb34485bf97b6e7)
|
||||
Merged-In: I3bad3e03092e17a761cb6e299aff848ebd35b6f4
|
||||
Change-Id: I3bad3e03092e17a761cb6e299aff848ebd35b6f4
|
||||
---
|
||||
xmlregexp.c | 28 ++++++++++++++++++++++++++++
|
||||
1 file changed, 28 insertions(+)
|
||||
|
||||
diff --git a/xmlregexp.c b/xmlregexp.c
|
||||
index d255fbf0..6234a879 100644
|
||||
--- a/xmlregexp.c
|
||||
+++ b/xmlregexp.c
|
||||
@@ -1641,6 +1641,8 @@ xmlFAGenerateTransitions(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr from,
|
||||
return(-1);
|
||||
inter = ctxt->state;
|
||||
counter = xmlRegGetCounter(ctxt);
|
||||
+ if (counter < 0)
|
||||
+ return(-1);
|
||||
ctxt->counters[counter].min = atom->min - 1;
|
||||
ctxt->counters[counter].max = atom->max - 1;
|
||||
/* count the number of times we see it again */
|
||||
@@ -1659,6 +1661,8 @@ xmlFAGenerateTransitions(xmlRegParserCtxtPtr ctxt, xmlRegStatePtr from,
|
||||
* epsilon transition.
|
||||
*/
|
||||
counter = xmlRegGetCounter(ctxt);
|
||||
+ if (counter < 0)
|
||||
+ return(-1);
|
||||
ctxt->counters[counter].min = atom->min - 1;
|
||||
ctxt->counters[counter].max = atom->max - 1;
|
||||
/* count the number of times we see it again */
|
||||
@@ -5924,6 +5928,8 @@ xmlAutomataNewCountTrans2(xmlAutomataPtr am, xmlAutomataStatePtr from,
|
||||
* associate a counter to the transition.
|
||||
*/
|
||||
counter = xmlRegGetCounter(am);
|
||||
+ if (counter < 0)
|
||||
+ goto error;
|
||||
am->counters[counter].min = min;
|
||||
am->counters[counter].max = max;
|
||||
|
||||
@@ -5943,6 +5949,10 @@ xmlAutomataNewCountTrans2(xmlAutomataPtr am, xmlAutomataStatePtr from,
|
||||
if (min == 0)
|
||||
xmlFAGenerateEpsilonTransition(am, from, to);
|
||||
return(to);
|
||||
+
|
||||
+error:
|
||||
+ xmlRegFreeAtom(atom);
|
||||
+ return(NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -5990,6 +6000,8 @@ xmlAutomataNewCountTrans(xmlAutomataPtr am, xmlAutomataStatePtr from,
|
||||
* associate a counter to the transition.
|
||||
*/
|
||||
counter = xmlRegGetCounter(am);
|
||||
+ if (counter < 0)
|
||||
+ goto error;
|
||||
am->counters[counter].min = min;
|
||||
am->counters[counter].max = max;
|
||||
|
||||
@@ -6009,6 +6021,10 @@ xmlAutomataNewCountTrans(xmlAutomataPtr am, xmlAutomataStatePtr from,
|
||||
if (min == 0)
|
||||
xmlFAGenerateEpsilonTransition(am, from, to);
|
||||
return(to);
|
||||
+
|
||||
+error:
|
||||
+ xmlRegFreeAtom(atom);
|
||||
+ return(NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -6076,6 +6092,8 @@ xmlAutomataNewOnceTrans2(xmlAutomataPtr am, xmlAutomataStatePtr from,
|
||||
* associate a counter to the transition.
|
||||
*/
|
||||
counter = xmlRegGetCounter(am);
|
||||
+ if (counter < 0)
|
||||
+ goto error;
|
||||
am->counters[counter].min = 1;
|
||||
am->counters[counter].max = 1;
|
||||
|
||||
@@ -6088,6 +6106,10 @@ xmlAutomataNewOnceTrans2(xmlAutomataPtr am, xmlAutomataStatePtr from,
|
||||
xmlRegAtomPush(am, atom);
|
||||
am->state = to;
|
||||
return(to);
|
||||
+
|
||||
+error:
|
||||
+ xmlRegFreeAtom(atom);
|
||||
+ return(NULL);
|
||||
}
|
||||
|
||||
|
||||
@@ -6135,6 +6157,8 @@ xmlAutomataNewOnceTrans(xmlAutomataPtr am, xmlAutomataStatePtr from,
|
||||
* associate a counter to the transition.
|
||||
*/
|
||||
counter = xmlRegGetCounter(am);
|
||||
+ if (counter < 0)
|
||||
+ goto error;
|
||||
am->counters[counter].min = 1;
|
||||
am->counters[counter].max = 1;
|
||||
|
||||
@@ -6147,6 +6171,10 @@ xmlAutomataNewOnceTrans(xmlAutomataPtr am, xmlAutomataStatePtr from,
|
||||
xmlRegAtomPush(am, atom);
|
||||
am->state = to;
|
||||
return(to);
|
||||
+
|
||||
+error:
|
||||
+ xmlRegFreeAtom(atom);
|
||||
+ return(NULL);
|
||||
}
|
||||
|
||||
/**
|
@ -10,7 +10,7 @@ requiring the READ_PHONE_STATE permission.
|
||||
1 file changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
|
||||
index 4f3dd3449fae..d0fef3427b65 100644
|
||||
index ec8841debb7a..c9d3d44beb02 100644
|
||||
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
|
||||
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
|
||||
@@ -5010,12 +5010,7 @@ public class ActivityManagerService extends IActivityManager.Stub
|
||||
|
60
Patches/LineageOS-17.1/android_frameworks_base/368055.patch
Normal file
60
Patches/LineageOS-17.1/android_frameworks_base/368055.patch
Normal file
@ -0,0 +1,60 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Jean-Michel Trivi <jmtrivi@google.com>
|
||||
Date: Wed, 7 Dec 2022 04:36:46 +0000
|
||||
Subject: [PATCH] RingtoneManager: verify default ringtone is audio
|
||||
|
||||
When a ringtone picker tries to set a ringtone through
|
||||
RingtoneManager.setActualDefaultRingtoneUri (also
|
||||
called by com.android.settings.DefaultRingtonePreference),
|
||||
verify the mimeType can be obtained (not found when caller
|
||||
doesn't have access to it) and it is an audio resource.
|
||||
|
||||
Bug: 205837340
|
||||
Test: atest android.media.audio.cts.RingtoneManagerTest
|
||||
(cherry picked from commit 38618f9fb16d3b5617e2289354d47abe5af17dad)
|
||||
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:377144b64325dadad102f5233ecb50a4446b205b)
|
||||
Merged-In: I3f2c487ded405c0c1a83ef0a2fe99cff7cc9328e
|
||||
Change-Id: I3f2c487ded405c0c1a83ef0a2fe99cff7cc9328e
|
||||
---
|
||||
media/java/android/media/RingtoneManager.java | 19 +++++++++++++++++--
|
||||
1 file changed, 17 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/media/java/android/media/RingtoneManager.java b/media/java/android/media/RingtoneManager.java
|
||||
index 05b96ad016a8..ad4751165d30 100644
|
||||
--- a/media/java/android/media/RingtoneManager.java
|
||||
+++ b/media/java/android/media/RingtoneManager.java
|
||||
@@ -792,10 +792,10 @@ public class RingtoneManager {
|
||||
|
||||
return ringtoneUri;
|
||||
}
|
||||
-
|
||||
+
|
||||
/**
|
||||
* Sets the {@link Uri} of the default sound for a given sound type.
|
||||
- *
|
||||
+ *
|
||||
* @param context A context used for querying.
|
||||
* @param type The type whose default sound should be set. One of
|
||||
* {@link #TYPE_RINGTONE}, {@link #TYPE_NOTIFICATION}, or
|
||||
@@ -816,6 +816,21 @@ public class RingtoneManager {
|
||||
if(!isInternalRingtoneUri(ringtoneUri)) {
|
||||
ringtoneUri = ContentProvider.maybeAddUserId(ringtoneUri, context.getUserId());
|
||||
}
|
||||
+
|
||||
+ if (ringtoneUri != null) {
|
||||
+ final String mimeType = resolver.getType(ringtoneUri);
|
||||
+ if (mimeType == null) {
|
||||
+ Log.e(TAG, "setActualDefaultRingtoneUri for URI:" + ringtoneUri
|
||||
+ + " ignored: failure to find mimeType (no access from this context?)");
|
||||
+ return;
|
||||
+ }
|
||||
+ if (!(mimeType.startsWith("audio/") || mimeType.equals("application/ogg"))) {
|
||||
+ Log.e(TAG, "setActualDefaultRingtoneUri for URI:" + ringtoneUri
|
||||
+ + " ignored: associated mimeType:" + mimeType + " is not an audio type");
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
Settings.System.putStringForUser(resolver, setting,
|
||||
ringtoneUri != null ? ringtoneUri.toString() : null, context.getUserId());
|
||||
|
52
Patches/LineageOS-17.1/android_frameworks_base/368059.patch
Normal file
52
Patches/LineageOS-17.1/android_frameworks_base/368059.patch
Normal file
@ -0,0 +1,52 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Josep del Rio <joseprio@google.com>
|
||||
Date: Mon, 26 Jun 2023 11:16:37 +0000
|
||||
Subject: [PATCH] Do not share key mappings with JNI object
|
||||
|
||||
The key mapping information between the native key mappings and
|
||||
the KeyCharacterMap object available in Java is currently shared,
|
||||
which means that a read can be attempted while it's being modified.
|
||||
|
||||
Because the code changed between R and S, this CL fixes it just
|
||||
for R; the patch for versions S+ is ag/23785419
|
||||
|
||||
Bug: 274058082
|
||||
Test: Presubmit
|
||||
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:4b3c4620166071561ec44961fb08a56676b4fd6c)
|
||||
Merged-In: I3be94534dcda365da473f82347ae2e3f57bb1b42
|
||||
Change-Id: I3be94534dcda365da473f82347ae2e3f57bb1b42
|
||||
---
|
||||
core/jni/android_view_InputDevice.cpp | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/core/jni/android_view_InputDevice.cpp b/core/jni/android_view_InputDevice.cpp
|
||||
index 9f4e3e516ada..81ada6ad535c 100644
|
||||
--- a/core/jni/android_view_InputDevice.cpp
|
||||
+++ b/core/jni/android_view_InputDevice.cpp
|
||||
@@ -14,6 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
+#include <binder/Parcel.h>
|
||||
#include <input/Input.h>
|
||||
|
||||
#include <android_runtime/AndroidRuntime.h>
|
||||
@@ -48,9 +49,16 @@ jobject android_view_InputDevice_create(JNIEnv* env, const InputDeviceInfo& devi
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+ sp<KeyCharacterMap> map = deviceInfo.getKeyCharacterMap();
|
||||
+ if (map != nullptr) {
|
||||
+ Parcel parcel;
|
||||
+ map->writeToParcel(&parcel);
|
||||
+ map = map->readFromParcel(&parcel);
|
||||
+ }
|
||||
+
|
||||
ScopedLocalRef<jobject> kcmObj(env,
|
||||
- android_view_KeyCharacterMap_create(env, deviceInfo.getId(),
|
||||
- deviceInfo.getKeyCharacterMap()));
|
||||
+ android_view_KeyCharacterMap_create(env, deviceInfo.getId(),
|
||||
+ map));
|
||||
if (!kcmObj.get()) {
|
||||
return NULL;
|
||||
}
|
@ -0,0 +1,152 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Tim Yu <yunicorn@google.com>
|
||||
Date: Tue, 20 Jun 2023 21:24:36 +0000
|
||||
Subject: [PATCH] Verify URI Permissions in Autofill RemoteViews
|
||||
|
||||
Check permissions of URI inside of FillResponse's RemoteViews. If the
|
||||
current user does not have the required permissions to view the URI, the
|
||||
RemoteView is dropped from displaying.
|
||||
|
||||
This fixes a security spill in which a user can view content of another
|
||||
user through a malicious Autofill provider.
|
||||
|
||||
Bug: 283137865
|
||||
Fixes: b/283264674 b/281666022 b/281665050 b/281848557 b/281533566
|
||||
b/281534749 b/283101289
|
||||
Test: Verified by POC app attached in bugs
|
||||
Test: atest CtsAutoFillServiceTestCases (added new tests)
|
||||
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:26beceb9a252a50374d056b162fa7e8ea55051b3)
|
||||
Merged-In: I6f4d2a35e89bbed7bd9e07bf5cd3e2d68b20af9a
|
||||
Change-Id: I6f4d2a35e89bbed7bd9e07bf5cd3e2d68b20af9a
|
||||
---
|
||||
.../com/android/server/autofill/Helper.java | 45 +++++++++++++++++++
|
||||
.../android/server/autofill/ui/FillUi.java | 11 +++--
|
||||
.../android/server/autofill/ui/SaveUi.java | 2 +-
|
||||
3 files changed, 54 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/services/autofill/java/com/android/server/autofill/Helper.java b/services/autofill/java/com/android/server/autofill/Helper.java
|
||||
index 80b0375a229d..8954a0c39091 100644
|
||||
--- a/services/autofill/java/com/android/server/autofill/Helper.java
|
||||
+++ b/services/autofill/java/com/android/server/autofill/Helper.java
|
||||
@@ -18,6 +18,8 @@ package com.android.server.autofill;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
+import android.annotation.UserIdInt;
|
||||
+import android.app.ActivityManager;
|
||||
import android.app.assist.AssistStructure;
|
||||
import android.app.assist.AssistStructure.ViewNode;
|
||||
import android.app.assist.AssistStructure.WindowNode;
|
||||
@@ -31,13 +33,18 @@ import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.view.autofill.AutofillId;
|
||||
import android.view.autofill.AutofillValue;
|
||||
+import android.widget.RemoteViews;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.internal.util.ArrayUtils;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
+
|
||||
+import java.util.Arrays;
|
||||
import java.util.ArrayDeque;
|
||||
import java.util.ArrayList;
|
||||
+import java.util.concurrent.atomic.AtomicBoolean;
|
||||
+
|
||||
|
||||
public final class Helper {
|
||||
|
||||
@@ -71,6 +78,44 @@ public final class Helper {
|
||||
throw new UnsupportedOperationException("contains static members only");
|
||||
}
|
||||
|
||||
+ private static boolean checkRemoteViewUriPermissions(
|
||||
+ @UserIdInt int userId, @NonNull RemoteViews rView) {
|
||||
+ final AtomicBoolean permissionsOk = new AtomicBoolean(true);
|
||||
+
|
||||
+ rView.visitUris(uri -> {
|
||||
+ int uriOwnerId = android.content.ContentProvider.getUserIdFromUri(uri);
|
||||
+ boolean allowed = uriOwnerId == userId;
|
||||
+ permissionsOk.set(allowed && permissionsOk.get());
|
||||
+ });
|
||||
+
|
||||
+ return permissionsOk.get();
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Checks the URI permissions of the remote view,
|
||||
+ * to see if the current userId is able to access it.
|
||||
+ *
|
||||
+ * Returns the RemoteView that is passed if user is able, null otherwise.
|
||||
+ *
|
||||
+ * TODO: instead of returning a null remoteview when
|
||||
+ * the current userId cannot access an URI,
|
||||
+ * return a new RemoteView with the URI removed.
|
||||
+ */
|
||||
+ public static @Nullable RemoteViews sanitizeRemoteView(RemoteViews rView) {
|
||||
+ if (rView == null) return null;
|
||||
+
|
||||
+ int userId = ActivityManager.getCurrentUser();
|
||||
+
|
||||
+ boolean ok = checkRemoteViewUriPermissions(userId, rView);
|
||||
+ if (!ok) {
|
||||
+ Slog.w(TAG,
|
||||
+ "sanitizeRemoteView() user: " + userId
|
||||
+ + " tried accessing resource that does not belong to them");
|
||||
+ }
|
||||
+ return (ok ? rView : null);
|
||||
+ }
|
||||
+
|
||||
+
|
||||
@Nullable
|
||||
static AutofillId[] toArray(@Nullable ArraySet<AutofillId> set) {
|
||||
if (set == null) return null;
|
||||
diff --git a/services/autofill/java/com/android/server/autofill/ui/FillUi.java b/services/autofill/java/com/android/server/autofill/ui/FillUi.java
|
||||
index dbd4d8c168ba..e728a6b91e11 100644
|
||||
--- a/services/autofill/java/com/android/server/autofill/ui/FillUi.java
|
||||
+++ b/services/autofill/java/com/android/server/autofill/ui/FillUi.java
|
||||
@@ -140,8 +140,9 @@ final class FillUi {
|
||||
|
||||
final LayoutInflater inflater = LayoutInflater.from(mContext);
|
||||
|
||||
- final RemoteViews headerPresentation = response.getHeader();
|
||||
- final RemoteViews footerPresentation = response.getFooter();
|
||||
+ final RemoteViews headerPresentation = Helper.sanitizeRemoteView(response.getHeader());
|
||||
+ final RemoteViews footerPresentation = Helper.sanitizeRemoteView(response.getFooter());
|
||||
+
|
||||
final ViewGroup decor;
|
||||
if (mFullScreen) {
|
||||
decor = (ViewGroup) inflater.inflate(R.layout.autofill_dataset_picker_fullscreen, null);
|
||||
@@ -219,6 +220,9 @@ final class FillUi {
|
||||
ViewGroup container = decor.findViewById(R.id.autofill_dataset_picker);
|
||||
final View content;
|
||||
try {
|
||||
+ if (Helper.sanitizeRemoteView(response.getPresentation()) == null) {
|
||||
+ throw new RuntimeException("Permission error accessing RemoteView");
|
||||
+ }
|
||||
content = response.getPresentation().applyWithTheme(
|
||||
mContext, decor, interceptionHandler, mThemeId);
|
||||
container.addView(content);
|
||||
@@ -295,7 +299,8 @@ final class FillUi {
|
||||
final Dataset dataset = response.getDatasets().get(i);
|
||||
final int index = dataset.getFieldIds().indexOf(focusedViewId);
|
||||
if (index >= 0) {
|
||||
- final RemoteViews presentation = dataset.getFieldPresentation(index);
|
||||
+ final RemoteViews presentation = Helper.sanitizeRemoteView(
|
||||
+ dataset.getFieldPresentation(index));
|
||||
if (presentation == null) {
|
||||
Slog.w(TAG, "not displaying UI on field " + focusedViewId + " because "
|
||||
+ "service didn't provide a presentation for it on " + dataset);
|
||||
diff --git a/services/autofill/java/com/android/server/autofill/ui/SaveUi.java b/services/autofill/java/com/android/server/autofill/ui/SaveUi.java
|
||||
index 73f5cb8326ea..6ae9a8b55c1e 100644
|
||||
--- a/services/autofill/java/com/android/server/autofill/ui/SaveUi.java
|
||||
+++ b/services/autofill/java/com/android/server/autofill/ui/SaveUi.java
|
||||
@@ -288,7 +288,7 @@ final class SaveUi {
|
||||
final int type = info.getType();
|
||||
writeLog(MetricsEvent.AUTOFILL_SAVE_CUSTOM_DESCRIPTION, type);
|
||||
|
||||
- final RemoteViews template = customDescription.getPresentation();
|
||||
+ final RemoteViews template = Helper.sanitizeRemoteView(customDescription.getPresentation());
|
||||
if (template == null) {
|
||||
Slog.w(TAG, "No remote view on custom description");
|
||||
return false;
|
29
Patches/LineageOS-17.1/android_frameworks_base/368061.patch
Normal file
29
Patches/LineageOS-17.1/android_frameworks_base/368061.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Josep del Rio <joseprio@google.com>
|
||||
Date: Wed, 12 Jul 2023 16:32:05 +0000
|
||||
Subject: [PATCH] Fix KCM key mapping cloning
|
||||
|
||||
ag/23792288 tried to fix a security issue by cloning the key
|
||||
mappings, but unfortunately the parcel was not being rewinded.
|
||||
|
||||
Bug: 274058082
|
||||
Test: Confirmed change works in newer Android versions
|
||||
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:aaaba6cf190d976efdc5db6c78997dbdc9214c15)
|
||||
Merged-In: I6f75b9202e20d82ebf81a35a2916e653ee1b8372
|
||||
Change-Id: I6f75b9202e20d82ebf81a35a2916e653ee1b8372
|
||||
---
|
||||
core/jni/android_view_InputDevice.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/core/jni/android_view_InputDevice.cpp b/core/jni/android_view_InputDevice.cpp
|
||||
index 81ada6ad535c..87102d3359a7 100644
|
||||
--- a/core/jni/android_view_InputDevice.cpp
|
||||
+++ b/core/jni/android_view_InputDevice.cpp
|
||||
@@ -53,6 +53,7 @@ jobject android_view_InputDevice_create(JNIEnv* env, const InputDeviceInfo& devi
|
||||
if (map != nullptr) {
|
||||
Parcel parcel;
|
||||
map->writeToParcel(&parcel);
|
||||
+ parcel.setDataPosition(0);
|
||||
map = map->readFromParcel(&parcel);
|
||||
}
|
||||
|
@ -0,0 +1,49 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Hongwei Wang <hwwang@google.com>
|
||||
Date: Wed, 24 May 2023 19:35:44 -0700
|
||||
Subject: [PATCH] Disallow loading icon from content URI to PipMenu
|
||||
|
||||
Bug: 278246904
|
||||
Test: manually, with the PoC app attached to the bug
|
||||
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:5f5a87d8a0dc9190327ba0e6113d5b80ee96abae)
|
||||
Merged-In: Iecfc1fb962de611cbe3c51a44ba4fded53925a7d
|
||||
Change-Id: Iecfc1fb962de611cbe3c51a44ba4fded53925a7d
|
||||
---
|
||||
.../systemui/pip/phone/PipMenuActivity.java | 17 ++++++++++++-----
|
||||
1 file changed, 12 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivity.java b/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivity.java
|
||||
index ec6d7ffaedb0..08658694c5b8 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivity.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivity.java
|
||||
@@ -51,6 +51,7 @@ import android.graphics.Color;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
+import android.graphics.drawable.Icon;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
@@ -457,11 +458,17 @@ public class PipMenuActivity extends Activity {
|
||||
final RemoteAction action = mActions.get(i);
|
||||
final ImageView actionView = (ImageView) mActionsGroup.getChildAt(i);
|
||||
|
||||
- // TODO: Check if the action drawable has changed before we reload it
|
||||
- action.getIcon().loadDrawableAsync(this, d -> {
|
||||
- d.setTint(Color.WHITE);
|
||||
- actionView.setImageDrawable(d);
|
||||
- }, mHandler);
|
||||
+ final int iconType = action.getIcon().getType();
|
||||
+ if (iconType == Icon.TYPE_URI /* || iconType == Icon.TYPE_URI_ADAPTIVE_BITMAP*/) {
|
||||
+ // Disallow loading icon from content URI
|
||||
+ actionView.setImageDrawable(null);
|
||||
+ } else {
|
||||
+ // TODO: Check if the action drawable has changed before we reload it
|
||||
+ action.getIcon().loadDrawableAsync(this, d -> {
|
||||
+ d.setTint(Color.WHITE);
|
||||
+ actionView.setImageDrawable(d);
|
||||
+ }, mHandler);
|
||||
+ }
|
||||
actionView.setContentDescription(action.getContentDescription());
|
||||
if (action.isEnabled()) {
|
||||
actionView.setOnClickListener(v -> {
|
59
Patches/LineageOS-17.1/android_frameworks_base/368063.patch
Normal file
59
Patches/LineageOS-17.1/android_frameworks_base/368063.patch
Normal file
@ -0,0 +1,59 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Kunal Malhotra <malhk@google.com>
|
||||
Date: Fri, 2 Jun 2023 23:32:02 +0000
|
||||
Subject: [PATCH] Fixing DatabaseUtils to detect malformed UTF-16 strings
|
||||
|
||||
Test: tested with POC in bug, also using atest
|
||||
Bug: 224771621
|
||||
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:fb4a72e3943d166088407e61aa4439ac349f3f12)
|
||||
Merged-In: Ide65205b83063801971c5778af3154bcf3f0e530
|
||||
Change-Id: Ide65205b83063801971c5778af3154bcf3f0e530
|
||||
---
|
||||
core/java/android/database/DatabaseUtils.java | 32 +++++++++++++------
|
||||
1 file changed, 23 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/core/java/android/database/DatabaseUtils.java b/core/java/android/database/DatabaseUtils.java
|
||||
index 171fc8270d37..648b50877b61 100644
|
||||
--- a/core/java/android/database/DatabaseUtils.java
|
||||
+++ b/core/java/android/database/DatabaseUtils.java
|
||||
@@ -463,17 +463,31 @@ public class DatabaseUtils {
|
||||
*/
|
||||
public static void appendEscapedSQLString(StringBuilder sb, String sqlString) {
|
||||
sb.append('\'');
|
||||
- if (sqlString.indexOf('\'') != -1) {
|
||||
- int length = sqlString.length();
|
||||
- for (int i = 0; i < length; i++) {
|
||||
- char c = sqlString.charAt(i);
|
||||
- if (c == '\'') {
|
||||
- sb.append('\'');
|
||||
+ int length = sqlString.length();
|
||||
+ for (int i = 0; i < length; i++) {
|
||||
+ char c = sqlString.charAt(i);
|
||||
+ if (Character.isHighSurrogate(c)) {
|
||||
+ if (i == length - 1) {
|
||||
+ continue;
|
||||
+ }
|
||||
+ if (Character.isLowSurrogate(sqlString.charAt(i + 1))) {
|
||||
+ // add them both
|
||||
+ sb.append(c);
|
||||
+ sb.append(sqlString.charAt(i + 1));
|
||||
+ continue;
|
||||
+ } else {
|
||||
+ // this is a lone surrogate, skip it
|
||||
+ continue;
|
||||
}
|
||||
- sb.append(c);
|
||||
}
|
||||
- } else
|
||||
- sb.append(sqlString);
|
||||
+ if (Character.isLowSurrogate(c)) {
|
||||
+ continue;
|
||||
+ }
|
||||
+ if (c == '\'') {
|
||||
+ sb.append('\'');
|
||||
+ }
|
||||
+ sb.append(c);
|
||||
+ }
|
||||
sb.append('\'');
|
||||
}
|
||||
|
@ -0,0 +1,136 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Biggers <ebiggers@google.com>
|
||||
Date: Fri, 28 Jul 2023 22:03:03 +0000
|
||||
Subject: [PATCH] RESTRICT AUTOMERGE: SettingsProvider: exclude secure_frp_mode
|
||||
from resets
|
||||
|
||||
When RescueParty detects that a system process is crashing frequently,
|
||||
it tries to recover in various ways, such as by resetting all settings.
|
||||
Unfortunately, this included resetting the secure_frp_mode setting,
|
||||
which is the means by which the system keeps track of whether the
|
||||
Factory Reset Protection (FRP) challenge has been passed yet. With this
|
||||
setting reset, some FRP restrictions went away and it became possible to
|
||||
bypass FRP by setting a new lockscreen credential.
|
||||
|
||||
Fix this by excluding secure_frp_mode from resets.
|
||||
|
||||
Note: currently this bug isn't reproducible on 'main' due to ag/23727749
|
||||
disabling much of RescueParty, but that is a temporary change.
|
||||
|
||||
Bug: 253043065
|
||||
Test: With ag/23727749 reverted and with my fix to prevent
|
||||
com.android.settings from crashing *not* applied, tried repeatedly
|
||||
setting lockscreen credential while in FRP mode, using the
|
||||
smartlock setup activity launched by intent via adb. Verified
|
||||
that although RescueParty is still triggered after 5 attempts,
|
||||
secure_frp_mode is no longer reset (its value remains "1").
|
||||
Test: Verified that secure_frp_mode still gets changed from 1 to 0 when
|
||||
FRP is passed legitimately.
|
||||
Test: atest com.android.providers.settings.SettingsProviderTest
|
||||
Test: atest android.provider.SettingsProviderTest
|
||||
(cherry picked from commit 9890dd7f15c091f7d1a09e4fddb9f85d32015955)
|
||||
(changed Global.SECURE_FRP_MODE to Secure.SECURE_FRP_MODE,
|
||||
needed because this setting was moved in U)
|
||||
(removed static keyword from shouldExcludeSettingFromReset(),
|
||||
needed for compatibility with Java 15 and earlier)
|
||||
(resolved conflict in resetSettingsLocked())
|
||||
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f0f020c21fd29d8076733e07847e6314172a312e)
|
||||
Merged-In: Id95ed43b9cc2208090064392bcd5dc012710af93
|
||||
Change-Id: Id95ed43b9cc2208090064392bcd5dc012710af93
|
||||
---
|
||||
.../providers/settings/SettingsProvider.java | 17 ++++++++++---
|
||||
.../settings/SettingsProviderTest.java | 25 +++++++++++++++++++
|
||||
2 files changed, 38 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
||||
index 760b0604a604..1569129c3797 100644
|
||||
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
||||
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
|
||||
@@ -2737,6 +2737,15 @@ public class SettingsProvider extends ContentProvider {
|
||||
return settingsState.getSettingLocked(name);
|
||||
}
|
||||
|
||||
+ private boolean shouldExcludeSettingFromReset(Setting setting, String prefix) {
|
||||
+ // If a prefix was specified, exclude settings whose names don't start with it.
|
||||
+ if (prefix != null && !setting.getName().startsWith(prefix)) {
|
||||
+ return true;
|
||||
+ }
|
||||
+ // Never reset SECURE_FRP_MODE, as it could be abused to bypass FRP via RescueParty.
|
||||
+ return Secure.SECURE_FRP_MODE.equals(setting.getName());
|
||||
+ }
|
||||
+
|
||||
public void resetSettingsLocked(int type, int userId, String packageName, int mode,
|
||||
String tag) {
|
||||
resetSettingsLocked(type, userId, packageName, mode, tag, null);
|
||||
@@ -2757,7 +2766,7 @@ public class SettingsProvider extends ContentProvider {
|
||||
Setting setting = settingsState.getSettingLocked(name);
|
||||
if (packageName.equals(setting.getPackageName())) {
|
||||
if ((tag != null && !tag.equals(setting.getTag()))
|
||||
- || (prefix != null && !setting.getName().startsWith(prefix))) {
|
||||
+ || shouldExcludeSettingFromReset(setting, prefix)) {
|
||||
continue;
|
||||
}
|
||||
if (settingsState.resetSettingLocked(name)) {
|
||||
@@ -2777,7 +2786,7 @@ public class SettingsProvider extends ContentProvider {
|
||||
Setting setting = settingsState.getSettingLocked(name);
|
||||
if (!SettingsState.isSystemPackage(getContext(),
|
||||
setting.getPackageName(), INVALID_UID, userId)) {
|
||||
- if (prefix != null && !setting.getName().startsWith(prefix)) {
|
||||
+ if (shouldExcludeSettingFromReset(setting, prefix)) {
|
||||
continue;
|
||||
}
|
||||
if (settingsState.resetSettingLocked(name)) {
|
||||
@@ -2797,7 +2806,7 @@ public class SettingsProvider extends ContentProvider {
|
||||
Setting setting = settingsState.getSettingLocked(name);
|
||||
if (!SettingsState.isSystemPackage(getContext(),
|
||||
setting.getPackageName(), INVALID_UID, userId)) {
|
||||
- if (prefix != null && !setting.getName().startsWith(prefix)) {
|
||||
+ if (shouldExcludeSettingFromReset(setting, prefix)) {
|
||||
continue;
|
||||
}
|
||||
if (setting.isDefaultFromSystem()) {
|
||||
@@ -2820,7 +2829,7 @@ public class SettingsProvider extends ContentProvider {
|
||||
for (String name : settingsState.getSettingNamesLocked()) {
|
||||
Setting setting = settingsState.getSettingLocked(name);
|
||||
boolean someSettingChanged = false;
|
||||
- if (prefix != null && !setting.getName().startsWith(prefix)) {
|
||||
+ if (shouldExcludeSettingFromReset(setting, prefix)) {
|
||||
continue;
|
||||
}
|
||||
if (setting.isDefaultFromSystem()) {
|
||||
diff --git a/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsProviderTest.java b/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsProviderTest.java
|
||||
index 183f5997a6b5..47c15d257ded 100644
|
||||
--- a/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsProviderTest.java
|
||||
+++ b/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsProviderTest.java
|
||||
@@ -463,6 +463,31 @@ public class SettingsProviderTest extends BaseSettingsProviderTest {
|
||||
}
|
||||
}
|
||||
|
||||
+ // To prevent FRP bypasses, the SECURE_FRP_MODE setting should not be reset when all other
|
||||
+ // settings are reset. But it should still be possible to explicitly set its value.
|
||||
+ @Test
|
||||
+ public void testSecureFrpModeSettingCannotBeReset() throws Exception {
|
||||
+ final String name = Settings.Secure.SECURE_FRP_MODE;
|
||||
+ final String origValue = getSetting(SETTING_TYPE_GLOBAL, name);
|
||||
+ setSettingViaShell(SETTING_TYPE_GLOBAL, name, "1", false);
|
||||
+ try {
|
||||
+ assertEquals("1", getSetting(SETTING_TYPE_GLOBAL, name));
|
||||
+ for (int type : new int[] { SETTING_TYPE_GLOBAL, SETTING_TYPE_SECURE }) {
|
||||
+ resetSettingsViaShell(type, Settings.RESET_MODE_UNTRUSTED_DEFAULTS);
|
||||
+ resetSettingsViaShell(type, Settings.RESET_MODE_UNTRUSTED_CHANGES);
|
||||
+ resetSettingsViaShell(type, Settings.RESET_MODE_TRUSTED_DEFAULTS);
|
||||
+ }
|
||||
+ // The value should still be "1". It should not have been reset to null.
|
||||
+ assertEquals("1", getSetting(SETTING_TYPE_GLOBAL, name));
|
||||
+ // It should still be possible to explicitly set the value to "0".
|
||||
+ setSettingViaShell(SETTING_TYPE_GLOBAL, name, "0", false);
|
||||
+ assertEquals("0", getSetting(SETTING_TYPE_GLOBAL, name));
|
||||
+ } finally {
|
||||
+ setSettingViaShell(SETTING_TYPE_GLOBAL, name, origValue, false);
|
||||
+ assertEquals(origValue, getSetting(SETTING_TYPE_GLOBAL, name));
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
private void doTestQueryStringInBracketsViaProviderApiForType(int type) {
|
||||
// Make sure we have a clean slate.
|
||||
deleteStringViaProviderApi(type, FAKE_SETTING_NAME);
|
31
Patches/LineageOS-17.1/android_frameworks_base/368067.patch
Normal file
31
Patches/LineageOS-17.1/android_frameworks_base/368067.patch
Normal file
@ -0,0 +1,31 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Aaron Liu <aaronjli@google.com>
|
||||
Date: Thu, 10 Aug 2023 15:37:24 +0000
|
||||
Subject: [PATCH] Revert "DO NOT MERGE Dismiss keyguard when simpin auth'd
|
||||
and..."
|
||||
|
||||
This reverts commit 09f004722284ef6b9790ddf9338a1708b3f0833c.
|
||||
|
||||
Reason for revert: causing a partner bug
|
||||
Fixes: 295205456
|
||||
Bug: 222446076
|
||||
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:8df038265475bb062ead9eec1749ee92a0f5eb4e)
|
||||
Merged-In: Ida11d98117727f63547b096617a4778bea429e22
|
||||
Change-Id: Ida11d98117727f63547b096617a4778bea429e22
|
||||
---
|
||||
.../src/com/android/keyguard/KeyguardSecurityContainer.java | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
|
||||
index bd555e7360d8..89514a52d0bd 100644
|
||||
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
|
||||
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
|
||||
@@ -529,7 +529,7 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe
|
||||
case SimPuk:
|
||||
// Shortcut for SIM PIN/PUK to go to directly to user's security screen or home
|
||||
SecurityMode securityMode = mSecurityModel.getSecurityMode(targetUserId);
|
||||
- if (securityMode == SecurityMode.None || mLockPatternUtils.isLockScreenDisabled(
|
||||
+ if (securityMode == SecurityMode.None && mLockPatternUtils.isLockScreenDisabled(
|
||||
KeyguardUpdateMonitor.getCurrentUser())) {
|
||||
finish = true;
|
||||
eventSubtype = BOUNCER_DISMISS_SIM;
|
@ -29,7 +29,7 @@ Change-Id: Ibbffdb5f3930df74ca8b4ba93d451f7fad086989
|
||||
create mode 100644 src/com/android/settings/network/CaptivePortalWarningDialogHost.java
|
||||
|
||||
diff --git a/res/values-de/cm_strings.xml b/res/values-de/cm_strings.xml
|
||||
index d1ed0c6863..7ab4de0561 100644
|
||||
index d1ed0c68631..7ab4de05610 100644
|
||||
--- a/res/values-de/cm_strings.xml
|
||||
+++ b/res/values-de/cm_strings.xml
|
||||
@@ -112,4 +112,7 @@
|
||||
@ -41,7 +41,7 @@ index d1ed0c6863..7ab4de0561 100644
|
||||
+ <string name="captive_portal_switch_warning">Nach dem Ausschalten der Captive-Portal-Erkennung empfangen Sie keine Verbindungs-Rückmeldung mehr. Wirklich fortfahren?</string>
|
||||
</resources>
|
||||
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
|
||||
index 12ad48e683..44fad8e762 100644
|
||||
index 12ad48e6834..44fad8e762a 100644
|
||||
--- a/res/values/cm_strings.xml
|
||||
+++ b/res/values/cm_strings.xml
|
||||
@@ -197,4 +197,9 @@
|
||||
@ -55,7 +55,7 @@ index 12ad48e683..44fad8e762 100644
|
||||
+ <string name="captive_portal_switch_warning">If you switch off the captive portal, you will not receive connectivity informations any longer. Really switch off?</string>
|
||||
</resources>
|
||||
diff --git a/res/xml/network_and_internet.xml b/res/xml/network_and_internet.xml
|
||||
index 32b51d48fc..456f169e8f 100644
|
||||
index 32b51d48fca..456f169e8fa 100644
|
||||
--- a/res/xml/network_and_internet.xml
|
||||
+++ b/res/xml/network_and_internet.xml
|
||||
@@ -97,4 +97,10 @@
|
||||
@ -70,7 +70,7 @@ index 32b51d48fc..456f169e8f 100644
|
||||
+
|
||||
</PreferenceScreen>
|
||||
diff --git a/res/xml/network_and_internet_v2.xml b/res/xml/network_and_internet_v2.xml
|
||||
index 36044803d1..e2a271f63a 100644
|
||||
index 36044803d1f..e2a271f63a8 100644
|
||||
--- a/res/xml/network_and_internet_v2.xml
|
||||
+++ b/res/xml/network_and_internet_v2.xml
|
||||
@@ -107,4 +107,10 @@
|
||||
@ -85,7 +85,7 @@ index 36044803d1..e2a271f63a 100644
|
||||
+
|
||||
</PreferenceScreen>
|
||||
diff --git a/src/com/android/settings/ResetNetworkConfirm.java b/src/com/android/settings/ResetNetworkConfirm.java
|
||||
index beb0528f6a..e24cbfc424 100644
|
||||
index beb0528f6a9..e24cbfc424d 100644
|
||||
--- a/src/com/android/settings/ResetNetworkConfirm.java
|
||||
+++ b/src/com/android/settings/ResetNetworkConfirm.java
|
||||
@@ -35,6 +35,7 @@ import android.os.Bundle;
|
||||
@ -108,7 +108,7 @@ index beb0528f6a..e24cbfc424 100644
|
||||
restoreDefaultApn(mContext);
|
||||
diff --git a/src/com/android/settings/network/CaptivePortalModePreferenceController.java b/src/com/android/settings/network/CaptivePortalModePreferenceController.java
|
||||
new file mode 100644
|
||||
index 0000000000..ae21b29292
|
||||
index 00000000000..ae21b292922
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/network/CaptivePortalModePreferenceController.java
|
||||
@@ -0,0 +1,82 @@
|
||||
@ -196,7 +196,7 @@ index 0000000000..ae21b29292
|
||||
+}
|
||||
diff --git a/src/com/android/settings/network/CaptivePortalWarningDialog.java b/src/com/android/settings/network/CaptivePortalWarningDialog.java
|
||||
new file mode 100644
|
||||
index 0000000000..d27bd7d2f0
|
||||
index 00000000000..d27bd7d2f06
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/network/CaptivePortalWarningDialog.java
|
||||
@@ -0,0 +1,74 @@
|
||||
@ -276,7 +276,7 @@ index 0000000000..d27bd7d2f0
|
||||
+}
|
||||
diff --git a/src/com/android/settings/network/CaptivePortalWarningDialogHost.java b/src/com/android/settings/network/CaptivePortalWarningDialogHost.java
|
||||
new file mode 100644
|
||||
index 0000000000..7a04d1f831
|
||||
index 00000000000..7a04d1f8311
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/network/CaptivePortalWarningDialogHost.java
|
||||
@@ -0,0 +1,32 @@
|
||||
@ -313,7 +313,7 @@ index 0000000000..7a04d1f831
|
||||
+ void onCaptivePortalSwitchOffDialogDismissed();
|
||||
+}
|
||||
diff --git a/src/com/android/settings/network/NetworkDashboardFragment.java b/src/com/android/settings/network/NetworkDashboardFragment.java
|
||||
index 8c686a54aa..f16d489331 100644
|
||||
index 8c686a54aae..f16d4893317 100644
|
||||
--- a/src/com/android/settings/network/NetworkDashboardFragment.java
|
||||
+++ b/src/com/android/settings/network/NetworkDashboardFragment.java
|
||||
@@ -44,7 +44,7 @@ import java.util.List;
|
||||
|
@ -11,7 +11,7 @@ Change-Id: Ic1dce1c0fffc3c3f6459c4c85e0a64d480d3315a
|
||||
2 files changed, 53 deletions(-)
|
||||
|
||||
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
|
||||
index c7c55d381e..fd6f4178bd 100644
|
||||
index c7c55d381e1..fd6f4178bd8 100644
|
||||
--- a/AndroidManifest.xml
|
||||
+++ b/AndroidManifest.xml
|
||||
@@ -3080,17 +3080,6 @@
|
||||
@ -33,7 +33,7 @@ index c7c55d381e..fd6f4178bd 100644
|
||||
android:name=".HelpTrampoline"
|
||||
android:exported="true"
|
||||
diff --git a/src/com/android/settings/development/qstile/DevelopmentTiles.java b/src/com/android/settings/development/qstile/DevelopmentTiles.java
|
||||
index bb791abef8..2fdb410150 100644
|
||||
index bb791abef81..2fdb410150e 100644
|
||||
--- a/src/com/android/settings/development/qstile/DevelopmentTiles.java
|
||||
+++ b/src/com/android/settings/development/qstile/DevelopmentTiles.java
|
||||
@@ -20,7 +20,6 @@ import android.app.settings.SettingsEnums;
|
||||
|
@ -21,7 +21,7 @@ Change-Id: I423ad5a3c360a687a226e61df3f75b5550f851c0
|
||||
4 files changed, 249 insertions(+)
|
||||
|
||||
diff --git a/res/layout/private_dns_mode_dialog.xml b/res/layout/private_dns_mode_dialog.xml
|
||||
index 641905dc01..3614dd7cd8 100644
|
||||
index 641905dc010..3614dd7cd8f 100644
|
||||
--- a/res/layout/private_dns_mode_dialog.xml
|
||||
+++ b/res/layout/private_dns_mode_dialog.xml
|
||||
@@ -38,6 +38,110 @@
|
||||
@ -136,7 +136,7 @@ index 641905dc01..3614dd7cd8 100644
|
||||
android:id="@+id/private_dns_mode_opportunistic"
|
||||
android:text="@string/private_dns_mode_opportunistic"
|
||||
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
|
||||
index 44fad8e762..fb2c7377cd 100644
|
||||
index 44fad8e762a..fb2c7377cdc 100644
|
||||
--- a/res/values/cm_strings.xml
|
||||
+++ b/res/values/cm_strings.xml
|
||||
@@ -104,6 +104,21 @@
|
||||
@ -162,7 +162,7 @@ index 44fad8e762..fb2c7377cd 100644
|
||||
<string name="volume_link_notification_title">Link ring & notification volumes</string>
|
||||
|
||||
diff --git a/src/com/android/settings/network/PrivateDnsModeDialogPreference.java b/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
|
||||
index 1655c69cea..0beef5fc13 100644
|
||||
index 1655c69cea4..0beef5fc13a 100644
|
||||
--- a/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
|
||||
+++ b/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
|
||||
@@ -17,6 +17,19 @@ package com.android.settings.network;
|
||||
@ -252,7 +252,7 @@ index 1655c69cea..0beef5fc13 100644
|
||||
mMode = PRIVATE_DNS_MODE_OPPORTUNISTIC;
|
||||
break;
|
||||
diff --git a/src/com/android/settings/network/PrivateDnsPreferenceController.java b/src/com/android/settings/network/PrivateDnsPreferenceController.java
|
||||
index b74345170c..0cbb9d52de 100644
|
||||
index b74345170c0..0cbb9d52de8 100644
|
||||
--- a/src/com/android/settings/network/PrivateDnsPreferenceController.java
|
||||
+++ b/src/com/android/settings/network/PrivateDnsPreferenceController.java
|
||||
@@ -17,6 +17,19 @@
|
||||
|
@ -13,7 +13,7 @@ Subject: [PATCH] add auto-reboot setting
|
||||
create mode 100644 src/com/android/settings/security/AutoRebootPreferenceController.java
|
||||
|
||||
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
|
||||
index b983f467df..5813bb18db 100644
|
||||
index b983f467df0..5813bb18dbb 100644
|
||||
--- a/res/values/arrays.xml
|
||||
+++ b/res/values/arrays.xml
|
||||
@@ -144,6 +144,37 @@
|
||||
@ -55,7 +55,7 @@ index b983f467df..5813bb18db 100644
|
||||
<item msgid="6490061470416867723">Small</item>
|
||||
<item msgid="3579015730662088893">Default</item>
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index f6e3b0f62d..8f4a3c6115 100644
|
||||
index f6e3b0f62df..8f4a3c61157 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -810,6 +810,9 @@
|
||||
@ -69,7 +69,7 @@ index f6e3b0f62d..8f4a3c6115 100644
|
||||
<string name="trust_agents_extend_unlock_title">Trust agents only extend unlock</string>
|
||||
<!-- Text shown for the description of the extend unlock mode option [CHAR LIMIT=NONE] -->
|
||||
diff --git a/res/xml/security_dashboard_settings.xml b/res/xml/security_dashboard_settings.xml
|
||||
index 6a896ced42..1667943ba4 100644
|
||||
index 6a896ced42c..1667943ba41 100644
|
||||
--- a/res/xml/security_dashboard_settings.xml
|
||||
+++ b/res/xml/security_dashboard_settings.xml
|
||||
@@ -55,6 +55,14 @@
|
||||
@ -89,7 +89,7 @@ index 6a896ced42..1667943ba4 100644
|
||||
<!-- work profile security section -->
|
||||
diff --git a/src/com/android/settings/security/AutoRebootPreferenceController.java b/src/com/android/settings/security/AutoRebootPreferenceController.java
|
||||
new file mode 100644
|
||||
index 0000000000..c7a75219a5
|
||||
index 00000000000..c7a75219a5e
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/security/AutoRebootPreferenceController.java
|
||||
@@ -0,0 +1,82 @@
|
||||
@ -176,7 +176,7 @@ index 0000000000..c7a75219a5
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/com/android/settings/security/SecuritySettings.java b/src/com/android/settings/security/SecuritySettings.java
|
||||
index ecf3359e20..b5d7814e4a 100644
|
||||
index ecf3359e200..b5d7814e4a9 100644
|
||||
--- a/src/com/android/settings/security/SecuritySettings.java
|
||||
+++ b/src/com/android/settings/security/SecuritySettings.java
|
||||
@@ -120,6 +120,7 @@ public class SecuritySettings extends DashboardFragment {
|
||||
|
@ -12,7 +12,7 @@ Subject: [PATCH] add bluetooth auto-turn-off setting
|
||||
create mode 100644 src/com/android/settings/bluetooth/BluetoothTimeoutPreferenceController.java
|
||||
|
||||
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
|
||||
index 5813bb18db..40d01907a4 100644
|
||||
index 5813bb18dbb..40d01907a43 100644
|
||||
--- a/res/values/arrays.xml
|
||||
+++ b/res/values/arrays.xml
|
||||
@@ -39,6 +39,50 @@
|
||||
@ -67,7 +67,7 @@ index 5813bb18db..40d01907a4 100644
|
||||
<string-array name="screen_timeout_entries">
|
||||
<item>15 seconds</item>
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index 8f4a3c6115..ef517e8503 100644
|
||||
index 8f4a3c61157..ef517e8503c 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -25,6 +25,25 @@
|
||||
@ -97,7 +97,7 @@ index 8f4a3c6115..ef517e8503 100644
|
||||
<string name="device_info_default">Unknown</string>
|
||||
<!-- [CHAR LIMIT=NONE] Device Info screen. Countdown for user taps to enable development settings -->
|
||||
diff --git a/res/xml/connected_devices.xml b/res/xml/connected_devices.xml
|
||||
index da55fe33f4..d0f9dcc507 100644
|
||||
index da55fe33f4f..d0f9dcc507e 100644
|
||||
--- a/res/xml/connected_devices.xml
|
||||
+++ b/res/xml/connected_devices.xml
|
||||
@@ -52,6 +52,14 @@
|
||||
@ -117,7 +117,7 @@ index da55fe33f4..d0f9dcc507 100644
|
||||
android:title="@string/connected_device_previously_connected_title"
|
||||
diff --git a/src/com/android/settings/bluetooth/BluetoothTimeoutPreferenceController.java b/src/com/android/settings/bluetooth/BluetoothTimeoutPreferenceController.java
|
||||
new file mode 100644
|
||||
index 0000000000..244147948a
|
||||
index 00000000000..244147948aa
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/bluetooth/BluetoothTimeoutPreferenceController.java
|
||||
@@ -0,0 +1,115 @@
|
||||
|
@ -12,7 +12,7 @@ Subject: [PATCH] add Wi-Fi timeout feature
|
||||
create mode 100644 src/com/android/settings/wifi/WifiTimeoutPreferenceController.java
|
||||
|
||||
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
|
||||
index 40d01907a4..0a9a9a31e8 100644
|
||||
index 40d01907a43..0a9a9a31e82 100644
|
||||
--- a/res/values/arrays.xml
|
||||
+++ b/res/values/arrays.xml
|
||||
@@ -83,6 +83,50 @@
|
||||
@ -67,7 +67,7 @@ index 40d01907a4..0a9a9a31e8 100644
|
||||
<string-array name="screen_timeout_entries">
|
||||
<item>15 seconds</item>
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index ef517e8503..228d9570dd 100644
|
||||
index ef517e8503c..228d9570dd7 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -44,6 +44,25 @@
|
||||
@ -97,7 +97,7 @@ index ef517e8503..228d9570dd 100644
|
||||
<string name="device_info_default">Unknown</string>
|
||||
<!-- [CHAR LIMIT=NONE] Device Info screen. Countdown for user taps to enable development settings -->
|
||||
diff --git a/res/xml/wifi_configure_settings.xml b/res/xml/wifi_configure_settings.xml
|
||||
index c6214662d3..27e913949e 100644
|
||||
index c6214662d35..27e913949e6 100644
|
||||
--- a/res/xml/wifi_configure_settings.xml
|
||||
+++ b/res/xml/wifi_configure_settings.xml
|
||||
@@ -26,6 +26,14 @@
|
||||
@ -117,7 +117,7 @@ index c6214662d3..27e913949e 100644
|
||||
android:icon="@drawable/ic_open_wifi_autoconnect"
|
||||
diff --git a/src/com/android/settings/wifi/WifiTimeoutPreferenceController.java b/src/com/android/settings/wifi/WifiTimeoutPreferenceController.java
|
||||
new file mode 100644
|
||||
index 0000000000..7116c90519
|
||||
index 00000000000..7116c905190
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/wifi/WifiTimeoutPreferenceController.java
|
||||
@@ -0,0 +1,115 @@
|
||||
|
@ -12,7 +12,7 @@ Subject: [PATCH] add native debugging setting
|
||||
create mode 100644 src/com/android/settings/security/NativeDebugPreferenceController.java
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index 228d9570dd..d965a63b0d 100644
|
||||
index 228d9570dd7..d965a63b0d5 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -11316,6 +11316,9 @@
|
||||
@ -26,7 +26,7 @@ index 228d9570dd..d965a63b0d 100644
|
||||
<string name="privacy_dashboard_title">Privacy</string>
|
||||
<!-- Summary for the top level Privacy Settings [CHAR LIMIT=NONE]-->
|
||||
diff --git a/res/xml/security_dashboard_settings.xml b/res/xml/security_dashboard_settings.xml
|
||||
index 1667943ba4..2c7b006f8b 100644
|
||||
index 1667943ba41..2c7b006f8bb 100644
|
||||
--- a/res/xml/security_dashboard_settings.xml
|
||||
+++ b/res/xml/security_dashboard_settings.xml
|
||||
@@ -63,6 +63,12 @@
|
||||
@ -44,7 +44,7 @@ index 1667943ba4..2c7b006f8b 100644
|
||||
<!-- work profile security section -->
|
||||
diff --git a/src/com/android/settings/security/NativeDebugPreferenceController.java b/src/com/android/settings/security/NativeDebugPreferenceController.java
|
||||
new file mode 100644
|
||||
index 0000000000..9271e6e21c
|
||||
index 00000000000..9271e6e21cf
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/security/NativeDebugPreferenceController.java
|
||||
@@ -0,0 +1,106 @@
|
||||
@ -155,7 +155,7 @@ index 0000000000..9271e6e21c
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/com/android/settings/security/SecuritySettings.java b/src/com/android/settings/security/SecuritySettings.java
|
||||
index b5d7814e4a..7aa126b75c 100644
|
||||
index b5d7814e4a9..7aa126b75c7 100644
|
||||
--- a/src/com/android/settings/security/SecuritySettings.java
|
||||
+++ b/src/com/android/settings/security/SecuritySettings.java
|
||||
@@ -121,6 +121,7 @@ public class SecuritySettings extends DashboardFragment {
|
||||
|
@ -12,7 +12,7 @@ Subject: [PATCH] add exec spawning toggle
|
||||
create mode 100644 src/com/android/settings/security/ExecSpawnPreferenceController.java
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index d965a63b0d..e7dcf62ddc 100644
|
||||
index d965a63b0d5..e7dcf62ddc3 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -11316,6 +11316,8 @@
|
||||
@ -25,7 +25,7 @@ index d965a63b0d..e7dcf62ddc 100644
|
||||
<string name="native_debug_summary">Generate useful logs / bug reports from crashes and permit debugging native code.</string>
|
||||
|
||||
diff --git a/res/xml/security_dashboard_settings.xml b/res/xml/security_dashboard_settings.xml
|
||||
index 2c7b006f8b..08328ad7b6 100644
|
||||
index 2c7b006f8bb..08328ad7b62 100644
|
||||
--- a/res/xml/security_dashboard_settings.xml
|
||||
+++ b/res/xml/security_dashboard_settings.xml
|
||||
@@ -64,6 +64,12 @@
|
||||
@ -43,7 +43,7 @@ index 2c7b006f8b..08328ad7b6 100644
|
||||
android:title="@string/native_debug_title"
|
||||
diff --git a/src/com/android/settings/security/ExecSpawnPreferenceController.java b/src/com/android/settings/security/ExecSpawnPreferenceController.java
|
||||
new file mode 100644
|
||||
index 0000000000..98cc3c29e1
|
||||
index 00000000000..98cc3c29e12
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/security/ExecSpawnPreferenceController.java
|
||||
@@ -0,0 +1,106 @@
|
||||
@ -154,7 +154,7 @@ index 0000000000..98cc3c29e1
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/com/android/settings/security/SecuritySettings.java b/src/com/android/settings/security/SecuritySettings.java
|
||||
index 7aa126b75c..a5e0add739 100644
|
||||
index 7aa126b75c7..a5e0add739b 100644
|
||||
--- a/src/com/android/settings/security/SecuritySettings.java
|
||||
+++ b/src/com/android/settings/security/SecuritySettings.java
|
||||
@@ -121,6 +121,7 @@ public class SecuritySettings extends DashboardFragment {
|
||||
|
@ -11,7 +11,7 @@ RANDOMIZATION_ALWAYS is set as the default option
|
||||
3 files changed, 29 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
|
||||
index 0a9a9a31e8..6d95bcc58b 100644
|
||||
index 0a9a9a31e82..6d95bcc58b0 100644
|
||||
--- a/res/values/arrays.xml
|
||||
+++ b/res/values/arrays.xml
|
||||
@@ -1239,7 +1239,8 @@
|
||||
@ -33,7 +33,7 @@ index 0a9a9a31e8..6d95bcc58b 100644
|
||||
<item>0</item>
|
||||
</string-array>
|
||||
diff --git a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
|
||||
index afcf883fb6..ce45108f22 100644
|
||||
index afcf883fb68..ce45108f22e 100644
|
||||
--- a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
|
||||
+++ b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
|
||||
@@ -700,7 +700,8 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
@ -47,7 +47,7 @@ index afcf883fb6..ce45108f22 100644
|
||||
}
|
||||
|
||||
diff --git a/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java b/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java
|
||||
index 950cc131f4..1ed9646a7f 100644
|
||||
index 950cc131f4a..1ed9646a7f3 100644
|
||||
--- a/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java
|
||||
+++ b/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java
|
||||
@@ -112,11 +112,12 @@ public class WifiPrivacyPreferenceController extends BasePreferenceController im
|
||||
|
@ -92,7 +92,7 @@ Subject: [PATCH] removed all translations for wifi MAC privacy setting
|
||||
85 files changed, 340 deletions(-)
|
||||
|
||||
diff --git a/res/values-af/arrays.xml b/res/values-af/arrays.xml
|
||||
index c8b0d47563..1ab2da3cc3 100644
|
||||
index c8b0d47563b..1ab2da3cc3b 100644
|
||||
--- a/res/values-af/arrays.xml
|
||||
+++ b/res/values-af/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -107,7 +107,7 @@ index c8b0d47563..1ab2da3cc3 100644
|
||||
<item msgid="342232116597649254">"Nee"</item>
|
||||
<item msgid="2163015208097377388">"Ja"</item>
|
||||
diff --git a/res/values-am/arrays.xml b/res/values-am/arrays.xml
|
||||
index 722b48c403..a89588e031 100644
|
||||
index 722b48c403b..a89588e0311 100644
|
||||
--- a/res/values-am/arrays.xml
|
||||
+++ b/res/values-am/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -122,7 +122,7 @@ index 722b48c403..a89588e031 100644
|
||||
<item msgid="342232116597649254">"አይ"</item>
|
||||
<item msgid="2163015208097377388">"አዎ"</item>
|
||||
diff --git a/res/values-ar/arrays.xml b/res/values-ar/arrays.xml
|
||||
index f6e693ff1c..97c0a846f2 100644
|
||||
index f6e693ff1cb..97c0a846f24 100644
|
||||
--- a/res/values-ar/arrays.xml
|
||||
+++ b/res/values-ar/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -137,7 +137,7 @@ index f6e693ff1c..97c0a846f2 100644
|
||||
<item msgid="342232116597649254">"لا"</item>
|
||||
<item msgid="2163015208097377388">"نعم"</item>
|
||||
diff --git a/res/values-as/arrays.xml b/res/values-as/arrays.xml
|
||||
index 07c7b3d6f6..7f17397335 100644
|
||||
index 07c7b3d6f6a..7f173973350 100644
|
||||
--- a/res/values-as/arrays.xml
|
||||
+++ b/res/values-as/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -152,7 +152,7 @@ index 07c7b3d6f6..7f17397335 100644
|
||||
<item msgid="342232116597649254">"নহয়"</item>
|
||||
<item msgid="2163015208097377388">"হয়"</item>
|
||||
diff --git a/res/values-az/arrays.xml b/res/values-az/arrays.xml
|
||||
index 1e8758f029..fb99ada256 100644
|
||||
index 1e8758f0292..fb99ada2567 100644
|
||||
--- a/res/values-az/arrays.xml
|
||||
+++ b/res/values-az/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -167,7 +167,7 @@ index 1e8758f029..fb99ada256 100644
|
||||
<item msgid="342232116597649254">"Xeyr"</item>
|
||||
<item msgid="2163015208097377388">"Bəli"</item>
|
||||
diff --git a/res/values-b+sr+Latn/arrays.xml b/res/values-b+sr+Latn/arrays.xml
|
||||
index b355390ac1..de326aec49 100644
|
||||
index b355390ac1e..de326aec49a 100644
|
||||
--- a/res/values-b+sr+Latn/arrays.xml
|
||||
+++ b/res/values-b+sr+Latn/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -182,7 +182,7 @@ index b355390ac1..de326aec49 100644
|
||||
<item msgid="342232116597649254">"Ne"</item>
|
||||
<item msgid="2163015208097377388">"Da"</item>
|
||||
diff --git a/res/values-be/arrays.xml b/res/values-be/arrays.xml
|
||||
index e1038b94fd..b455b0ea48 100644
|
||||
index e1038b94fd6..b455b0ea483 100644
|
||||
--- a/res/values-be/arrays.xml
|
||||
+++ b/res/values-be/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -197,7 +197,7 @@ index e1038b94fd..b455b0ea48 100644
|
||||
<item msgid="342232116597649254">"Не"</item>
|
||||
<item msgid="2163015208097377388">"Так"</item>
|
||||
diff --git a/res/values-bg/arrays.xml b/res/values-bg/arrays.xml
|
||||
index f37eceaf6d..c651876a73 100644
|
||||
index f37eceaf6d4..c651876a731 100644
|
||||
--- a/res/values-bg/arrays.xml
|
||||
+++ b/res/values-bg/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -212,7 +212,7 @@ index f37eceaf6d..c651876a73 100644
|
||||
<item msgid="342232116597649254">"Не"</item>
|
||||
<item msgid="2163015208097377388">"Да"</item>
|
||||
diff --git a/res/values-bn/arrays.xml b/res/values-bn/arrays.xml
|
||||
index f14398a328..d4a3e68637 100644
|
||||
index f14398a3284..d4a3e68637a 100644
|
||||
--- a/res/values-bn/arrays.xml
|
||||
+++ b/res/values-bn/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -227,7 +227,7 @@ index f14398a328..d4a3e68637 100644
|
||||
<item msgid="342232116597649254">"না"</item>
|
||||
<item msgid="2163015208097377388">"হ্যাঁ"</item>
|
||||
diff --git a/res/values-bs/arrays.xml b/res/values-bs/arrays.xml
|
||||
index 365473e269..52ecd63c5c 100644
|
||||
index 365473e2690..52ecd63c5c0 100644
|
||||
--- a/res/values-bs/arrays.xml
|
||||
+++ b/res/values-bs/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -242,7 +242,7 @@ index 365473e269..52ecd63c5c 100644
|
||||
<item msgid="342232116597649254">"Ne"</item>
|
||||
<item msgid="2163015208097377388">"Da"</item>
|
||||
diff --git a/res/values-ca/arrays.xml b/res/values-ca/arrays.xml
|
||||
index 81e9f83fef..24b886f213 100644
|
||||
index 81e9f83fef8..24b886f213b 100644
|
||||
--- a/res/values-ca/arrays.xml
|
||||
+++ b/res/values-ca/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -257,7 +257,7 @@ index 81e9f83fef..24b886f213 100644
|
||||
<item msgid="342232116597649254">"No"</item>
|
||||
<item msgid="2163015208097377388">"Sí"</item>
|
||||
diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml
|
||||
index f44b947198..652f2bbf9c 100644
|
||||
index f44b947198e..652f2bbf9cb 100644
|
||||
--- a/res/values-cs/arrays.xml
|
||||
+++ b/res/values-cs/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -272,7 +272,7 @@ index f44b947198..652f2bbf9c 100644
|
||||
<item msgid="342232116597649254">"Ne"</item>
|
||||
<item msgid="2163015208097377388">"Ano"</item>
|
||||
diff --git a/res/values-da/arrays.xml b/res/values-da/arrays.xml
|
||||
index fd4e58d030..692ef9c8b4 100644
|
||||
index fd4e58d030b..692ef9c8b4d 100644
|
||||
--- a/res/values-da/arrays.xml
|
||||
+++ b/res/values-da/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -287,7 +287,7 @@ index fd4e58d030..692ef9c8b4 100644
|
||||
<item msgid="342232116597649254">"Nej"</item>
|
||||
<item msgid="2163015208097377388">"Ja"</item>
|
||||
diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml
|
||||
index 886c9f68f4..3524eb9ccd 100644
|
||||
index 886c9f68f42..3524eb9ccd5 100644
|
||||
--- a/res/values-de/arrays.xml
|
||||
+++ b/res/values-de/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -302,7 +302,7 @@ index 886c9f68f4..3524eb9ccd 100644
|
||||
<item msgid="342232116597649254">"Nein"</item>
|
||||
<item msgid="2163015208097377388">"Ja"</item>
|
||||
diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml
|
||||
index 6b4a697877..d7cbe3f017 100644
|
||||
index 6b4a6978773..d7cbe3f017e 100644
|
||||
--- a/res/values-el/arrays.xml
|
||||
+++ b/res/values-el/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -317,7 +317,7 @@ index 6b4a697877..d7cbe3f017 100644
|
||||
<item msgid="342232116597649254">"Όχι"</item>
|
||||
<item msgid="2163015208097377388">"Ναι"</item>
|
||||
diff --git a/res/values-en-rAU/arrays.xml b/res/values-en-rAU/arrays.xml
|
||||
index 62498e8cbf..3684d540c4 100644
|
||||
index 62498e8cbf7..3684d540c4a 100644
|
||||
--- a/res/values-en-rAU/arrays.xml
|
||||
+++ b/res/values-en-rAU/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -332,7 +332,7 @@ index 62498e8cbf..3684d540c4 100644
|
||||
<item msgid="342232116597649254">"No"</item>
|
||||
<item msgid="2163015208097377388">"Yes"</item>
|
||||
diff --git a/res/values-en-rCA/arrays.xml b/res/values-en-rCA/arrays.xml
|
||||
index 62498e8cbf..3684d540c4 100644
|
||||
index 62498e8cbf7..3684d540c4a 100644
|
||||
--- a/res/values-en-rCA/arrays.xml
|
||||
+++ b/res/values-en-rCA/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -347,7 +347,7 @@ index 62498e8cbf..3684d540c4 100644
|
||||
<item msgid="342232116597649254">"No"</item>
|
||||
<item msgid="2163015208097377388">"Yes"</item>
|
||||
diff --git a/res/values-en-rGB/arrays.xml b/res/values-en-rGB/arrays.xml
|
||||
index 62498e8cbf..3684d540c4 100644
|
||||
index 62498e8cbf7..3684d540c4a 100644
|
||||
--- a/res/values-en-rGB/arrays.xml
|
||||
+++ b/res/values-en-rGB/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -362,7 +362,7 @@ index 62498e8cbf..3684d540c4 100644
|
||||
<item msgid="342232116597649254">"No"</item>
|
||||
<item msgid="2163015208097377388">"Yes"</item>
|
||||
diff --git a/res/values-en-rIN/arrays.xml b/res/values-en-rIN/arrays.xml
|
||||
index 62498e8cbf..3684d540c4 100644
|
||||
index 62498e8cbf7..3684d540c4a 100644
|
||||
--- a/res/values-en-rIN/arrays.xml
|
||||
+++ b/res/values-en-rIN/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -377,7 +377,7 @@ index 62498e8cbf..3684d540c4 100644
|
||||
<item msgid="342232116597649254">"No"</item>
|
||||
<item msgid="2163015208097377388">"Yes"</item>
|
||||
diff --git a/res/values-en-rXC/arrays.xml b/res/values-en-rXC/arrays.xml
|
||||
index 1faec9168a..3762c105b5 100644
|
||||
index 1faec9168ad..3762c105b58 100644
|
||||
--- a/res/values-en-rXC/arrays.xml
|
||||
+++ b/res/values-en-rXC/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -392,7 +392,7 @@ index 1faec9168a..3762c105b5 100644
|
||||
<item msgid="342232116597649254">"No"</item>
|
||||
<item msgid="2163015208097377388">"Yes"</item>
|
||||
diff --git a/res/values-es-rUS/arrays.xml b/res/values-es-rUS/arrays.xml
|
||||
index b5cee26ce1..8052f71290 100644
|
||||
index b5cee26ce1d..8052f71290c 100644
|
||||
--- a/res/values-es-rUS/arrays.xml
|
||||
+++ b/res/values-es-rUS/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -407,7 +407,7 @@ index b5cee26ce1..8052f71290 100644
|
||||
<item msgid="342232116597649254">"No"</item>
|
||||
<item msgid="2163015208097377388">"Sí"</item>
|
||||
diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml
|
||||
index d60f164a55..24021bc2f0 100644
|
||||
index d60f164a55f..24021bc2f04 100644
|
||||
--- a/res/values-es/arrays.xml
|
||||
+++ b/res/values-es/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -422,7 +422,7 @@ index d60f164a55..24021bc2f0 100644
|
||||
<item msgid="342232116597649254">"No"</item>
|
||||
<item msgid="2163015208097377388">"Sí"</item>
|
||||
diff --git a/res/values-et/arrays.xml b/res/values-et/arrays.xml
|
||||
index 0836f3a438..17e9768f60 100644
|
||||
index 0836f3a4380..17e9768f609 100644
|
||||
--- a/res/values-et/arrays.xml
|
||||
+++ b/res/values-et/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -437,7 +437,7 @@ index 0836f3a438..17e9768f60 100644
|
||||
<item msgid="342232116597649254">"Ei"</item>
|
||||
<item msgid="2163015208097377388">"Jah"</item>
|
||||
diff --git a/res/values-eu/arrays.xml b/res/values-eu/arrays.xml
|
||||
index 5924a7c5f7..628c00ffd8 100644
|
||||
index 5924a7c5f7c..628c00ffd86 100644
|
||||
--- a/res/values-eu/arrays.xml
|
||||
+++ b/res/values-eu/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -452,7 +452,7 @@ index 5924a7c5f7..628c00ffd8 100644
|
||||
<item msgid="342232116597649254">"Ez"</item>
|
||||
<item msgid="2163015208097377388">"Bai"</item>
|
||||
diff --git a/res/values-fa/arrays.xml b/res/values-fa/arrays.xml
|
||||
index a44cefd482..4e4e7f30c5 100644
|
||||
index a44cefd4822..4e4e7f30c57 100644
|
||||
--- a/res/values-fa/arrays.xml
|
||||
+++ b/res/values-fa/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -467,7 +467,7 @@ index a44cefd482..4e4e7f30c5 100644
|
||||
<item msgid="342232116597649254">"نه"</item>
|
||||
<item msgid="2163015208097377388">"بله"</item>
|
||||
diff --git a/res/values-fi/arrays.xml b/res/values-fi/arrays.xml
|
||||
index 98f0d4db0f..91728473d2 100644
|
||||
index 98f0d4db0f0..91728473d26 100644
|
||||
--- a/res/values-fi/arrays.xml
|
||||
+++ b/res/values-fi/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -482,7 +482,7 @@ index 98f0d4db0f..91728473d2 100644
|
||||
<item msgid="342232116597649254">"Ei"</item>
|
||||
<item msgid="2163015208097377388">"Kyllä"</item>
|
||||
diff --git a/res/values-fr-rCA/arrays.xml b/res/values-fr-rCA/arrays.xml
|
||||
index ea4cb2d274..36d8a77dfa 100644
|
||||
index ea4cb2d2749..36d8a77dfa0 100644
|
||||
--- a/res/values-fr-rCA/arrays.xml
|
||||
+++ b/res/values-fr-rCA/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -497,7 +497,7 @@ index ea4cb2d274..36d8a77dfa 100644
|
||||
<item msgid="342232116597649254">"Non"</item>
|
||||
<item msgid="2163015208097377388">"Oui"</item>
|
||||
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
|
||||
index 2673a8f532..7bfea30840 100644
|
||||
index 2673a8f5329..7bfea30840d 100644
|
||||
--- a/res/values-fr/arrays.xml
|
||||
+++ b/res/values-fr/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -512,7 +512,7 @@ index 2673a8f532..7bfea30840 100644
|
||||
<item msgid="342232116597649254">"Non"</item>
|
||||
<item msgid="2163015208097377388">"Oui"</item>
|
||||
diff --git a/res/values-gl/arrays.xml b/res/values-gl/arrays.xml
|
||||
index eab6c49f03..5085226822 100644
|
||||
index eab6c49f03e..5085226822c 100644
|
||||
--- a/res/values-gl/arrays.xml
|
||||
+++ b/res/values-gl/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -527,7 +527,7 @@ index eab6c49f03..5085226822 100644
|
||||
<item msgid="342232116597649254">"Non"</item>
|
||||
<item msgid="2163015208097377388">"Si"</item>
|
||||
diff --git a/res/values-gu/arrays.xml b/res/values-gu/arrays.xml
|
||||
index ece9976bcf..51ea73284d 100644
|
||||
index ece9976bcfd..51ea73284d9 100644
|
||||
--- a/res/values-gu/arrays.xml
|
||||
+++ b/res/values-gu/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -542,7 +542,7 @@ index ece9976bcf..51ea73284d 100644
|
||||
<item msgid="342232116597649254">"ના"</item>
|
||||
<item msgid="2163015208097377388">"હા"</item>
|
||||
diff --git a/res/values-hi/arrays.xml b/res/values-hi/arrays.xml
|
||||
index b0b1aedaba..a3eb3167a9 100644
|
||||
index b0b1aedaba0..a3eb3167a9f 100644
|
||||
--- a/res/values-hi/arrays.xml
|
||||
+++ b/res/values-hi/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -557,7 +557,7 @@ index b0b1aedaba..a3eb3167a9 100644
|
||||
<item msgid="342232116597649254">"नहीं"</item>
|
||||
<item msgid="2163015208097377388">"हां"</item>
|
||||
diff --git a/res/values-hr/arrays.xml b/res/values-hr/arrays.xml
|
||||
index 2a865b6e30..1fd6bd79c8 100644
|
||||
index 2a865b6e306..1fd6bd79c8a 100644
|
||||
--- a/res/values-hr/arrays.xml
|
||||
+++ b/res/values-hr/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -572,7 +572,7 @@ index 2a865b6e30..1fd6bd79c8 100644
|
||||
<item msgid="342232116597649254">"Ne"</item>
|
||||
<item msgid="2163015208097377388">"Da"</item>
|
||||
diff --git a/res/values-hu/arrays.xml b/res/values-hu/arrays.xml
|
||||
index 1cee4db941..fb7893d70e 100644
|
||||
index 1cee4db9416..fb7893d70e2 100644
|
||||
--- a/res/values-hu/arrays.xml
|
||||
+++ b/res/values-hu/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -587,7 +587,7 @@ index 1cee4db941..fb7893d70e 100644
|
||||
<item msgid="342232116597649254">"Nem"</item>
|
||||
<item msgid="2163015208097377388">"Igen"</item>
|
||||
diff --git a/res/values-hy/arrays.xml b/res/values-hy/arrays.xml
|
||||
index a31975ca6b..8815456dec 100644
|
||||
index a31975ca6bc..8815456dec9 100644
|
||||
--- a/res/values-hy/arrays.xml
|
||||
+++ b/res/values-hy/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -602,7 +602,7 @@ index a31975ca6b..8815456dec 100644
|
||||
<item msgid="342232116597649254">"Ոչ"</item>
|
||||
<item msgid="2163015208097377388">"Այո"</item>
|
||||
diff --git a/res/values-in/arrays.xml b/res/values-in/arrays.xml
|
||||
index 5cad411615..a9a4803355 100644
|
||||
index 5cad4116156..a9a48033550 100644
|
||||
--- a/res/values-in/arrays.xml
|
||||
+++ b/res/values-in/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -617,7 +617,7 @@ index 5cad411615..a9a4803355 100644
|
||||
<item msgid="342232116597649254">"Tidak"</item>
|
||||
<item msgid="2163015208097377388">"Ya"</item>
|
||||
diff --git a/res/values-is/arrays.xml b/res/values-is/arrays.xml
|
||||
index 135aee5854..07f5265219 100644
|
||||
index 135aee58543..07f52652190 100644
|
||||
--- a/res/values-is/arrays.xml
|
||||
+++ b/res/values-is/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -632,7 +632,7 @@ index 135aee5854..07f5265219 100644
|
||||
<item msgid="342232116597649254">"Nei"</item>
|
||||
<item msgid="2163015208097377388">"Já"</item>
|
||||
diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml
|
||||
index fa9f8a5c7e..43e0493159 100644
|
||||
index fa9f8a5c7e3..43e04931595 100644
|
||||
--- a/res/values-it/arrays.xml
|
||||
+++ b/res/values-it/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -647,7 +647,7 @@ index fa9f8a5c7e..43e0493159 100644
|
||||
<item msgid="342232116597649254">"No"</item>
|
||||
<item msgid="2163015208097377388">"Sì"</item>
|
||||
diff --git a/res/values-iw/arrays.xml b/res/values-iw/arrays.xml
|
||||
index 6e699a5943..d5b6c1bb18 100644
|
||||
index 6e699a59438..d5b6c1bb18c 100644
|
||||
--- a/res/values-iw/arrays.xml
|
||||
+++ b/res/values-iw/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -662,7 +662,7 @@ index 6e699a5943..d5b6c1bb18 100644
|
||||
<item msgid="342232116597649254">"לא"</item>
|
||||
<item msgid="2163015208097377388">"כן"</item>
|
||||
diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml
|
||||
index ec6032a37b..0eed2ba98f 100644
|
||||
index ec6032a37be..0eed2ba98fb 100644
|
||||
--- a/res/values-ja/arrays.xml
|
||||
+++ b/res/values-ja/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -677,7 +677,7 @@ index ec6032a37b..0eed2ba98f 100644
|
||||
<item msgid="342232116597649254">"いいえ"</item>
|
||||
<item msgid="2163015208097377388">"はい"</item>
|
||||
diff --git a/res/values-ka/arrays.xml b/res/values-ka/arrays.xml
|
||||
index 5a5ddf40dc..26c952765c 100644
|
||||
index 5a5ddf40dca..26c952765cd 100644
|
||||
--- a/res/values-ka/arrays.xml
|
||||
+++ b/res/values-ka/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -692,7 +692,7 @@ index 5a5ddf40dc..26c952765c 100644
|
||||
<item msgid="342232116597649254">"არა"</item>
|
||||
<item msgid="2163015208097377388">"დიახ"</item>
|
||||
diff --git a/res/values-kk/arrays.xml b/res/values-kk/arrays.xml
|
||||
index 296f53f2c0..17eb66ed83 100644
|
||||
index 296f53f2c00..17eb66ed83f 100644
|
||||
--- a/res/values-kk/arrays.xml
|
||||
+++ b/res/values-kk/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -707,7 +707,7 @@ index 296f53f2c0..17eb66ed83 100644
|
||||
<item msgid="342232116597649254">"Жоқ"</item>
|
||||
<item msgid="2163015208097377388">"Иә"</item>
|
||||
diff --git a/res/values-km/arrays.xml b/res/values-km/arrays.xml
|
||||
index c8ccd75d46..0f3e9543e7 100644
|
||||
index c8ccd75d46f..0f3e9543e79 100644
|
||||
--- a/res/values-km/arrays.xml
|
||||
+++ b/res/values-km/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -722,7 +722,7 @@ index c8ccd75d46..0f3e9543e7 100644
|
||||
<item msgid="342232116597649254">"ទេ"</item>
|
||||
<item msgid="2163015208097377388">"បាទ/ចាស"</item>
|
||||
diff --git a/res/values-kn/arrays.xml b/res/values-kn/arrays.xml
|
||||
index 4cf184bc0e..84e36ff71f 100644
|
||||
index 4cf184bc0ec..84e36ff71f4 100644
|
||||
--- a/res/values-kn/arrays.xml
|
||||
+++ b/res/values-kn/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -737,7 +737,7 @@ index 4cf184bc0e..84e36ff71f 100644
|
||||
<item msgid="342232116597649254">"ಇಲ್ಲ"</item>
|
||||
<item msgid="2163015208097377388">"ಹೌದು"</item>
|
||||
diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml
|
||||
index ebaf3c0ba3..c4156fe1a4 100644
|
||||
index ebaf3c0ba30..c4156fe1a4d 100644
|
||||
--- a/res/values-ko/arrays.xml
|
||||
+++ b/res/values-ko/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -752,7 +752,7 @@ index ebaf3c0ba3..c4156fe1a4 100644
|
||||
<item msgid="342232116597649254">"아니요"</item>
|
||||
<item msgid="2163015208097377388">"예"</item>
|
||||
diff --git a/res/values-ky/arrays.xml b/res/values-ky/arrays.xml
|
||||
index 165f2c6b33..17e8bae37e 100644
|
||||
index 165f2c6b338..17e8bae37e2 100644
|
||||
--- a/res/values-ky/arrays.xml
|
||||
+++ b/res/values-ky/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -767,7 +767,7 @@ index 165f2c6b33..17e8bae37e 100644
|
||||
<item msgid="342232116597649254">"Жок"</item>
|
||||
<item msgid="2163015208097377388">"Ооба"</item>
|
||||
diff --git a/res/values-lo/arrays.xml b/res/values-lo/arrays.xml
|
||||
index 48d3bd9b83..f1373922b6 100644
|
||||
index 48d3bd9b838..f1373922b68 100644
|
||||
--- a/res/values-lo/arrays.xml
|
||||
+++ b/res/values-lo/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -782,7 +782,7 @@ index 48d3bd9b83..f1373922b6 100644
|
||||
<item msgid="342232116597649254">"ບໍ່"</item>
|
||||
<item msgid="2163015208097377388">"ແມ່ນ"</item>
|
||||
diff --git a/res/values-lt/arrays.xml b/res/values-lt/arrays.xml
|
||||
index bf9dbe19a2..324451d99b 100644
|
||||
index bf9dbe19a22..324451d99b4 100644
|
||||
--- a/res/values-lt/arrays.xml
|
||||
+++ b/res/values-lt/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -797,7 +797,7 @@ index bf9dbe19a2..324451d99b 100644
|
||||
<item msgid="342232116597649254">"Ne"</item>
|
||||
<item msgid="2163015208097377388">"Taip"</item>
|
||||
diff --git a/res/values-lv/arrays.xml b/res/values-lv/arrays.xml
|
||||
index 0463c08d65..c3c2cdd6a2 100644
|
||||
index 0463c08d65d..c3c2cdd6a2e 100644
|
||||
--- a/res/values-lv/arrays.xml
|
||||
+++ b/res/values-lv/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -812,7 +812,7 @@ index 0463c08d65..c3c2cdd6a2 100644
|
||||
<item msgid="342232116597649254">"Nē"</item>
|
||||
<item msgid="2163015208097377388">"Jā"</item>
|
||||
diff --git a/res/values-mk/arrays.xml b/res/values-mk/arrays.xml
|
||||
index f4fb3d37d2..6614a5dd30 100644
|
||||
index f4fb3d37d2a..6614a5dd300 100644
|
||||
--- a/res/values-mk/arrays.xml
|
||||
+++ b/res/values-mk/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -827,7 +827,7 @@ index f4fb3d37d2..6614a5dd30 100644
|
||||
<item msgid="342232116597649254">"Не"</item>
|
||||
<item msgid="2163015208097377388">"Да"</item>
|
||||
diff --git a/res/values-ml/arrays.xml b/res/values-ml/arrays.xml
|
||||
index 90f5e2de07..48bef28038 100644
|
||||
index 90f5e2de07f..48bef28038c 100644
|
||||
--- a/res/values-ml/arrays.xml
|
||||
+++ b/res/values-ml/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -842,7 +842,7 @@ index 90f5e2de07..48bef28038 100644
|
||||
<item msgid="342232116597649254">"ഇല്ല"</item>
|
||||
<item msgid="2163015208097377388">"ഉവ്വ്"</item>
|
||||
diff --git a/res/values-mn/arrays.xml b/res/values-mn/arrays.xml
|
||||
index 0fc94feb47..29aa5258f9 100644
|
||||
index 0fc94feb47e..29aa5258f9d 100644
|
||||
--- a/res/values-mn/arrays.xml
|
||||
+++ b/res/values-mn/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -857,7 +857,7 @@ index 0fc94feb47..29aa5258f9 100644
|
||||
<item msgid="342232116597649254">"Үгүй"</item>
|
||||
<item msgid="2163015208097377388">"Тийм"</item>
|
||||
diff --git a/res/values-mr/arrays.xml b/res/values-mr/arrays.xml
|
||||
index 19eed5bd5b..dfd860952c 100644
|
||||
index 19eed5bd5be..dfd860952c7 100644
|
||||
--- a/res/values-mr/arrays.xml
|
||||
+++ b/res/values-mr/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -872,7 +872,7 @@ index 19eed5bd5b..dfd860952c 100644
|
||||
<item msgid="342232116597649254">"नाही"</item>
|
||||
<item msgid="2163015208097377388">"होय"</item>
|
||||
diff --git a/res/values-ms/arrays.xml b/res/values-ms/arrays.xml
|
||||
index 7a61cb0473..e9db095279 100644
|
||||
index 7a61cb0473d..e9db0952792 100644
|
||||
--- a/res/values-ms/arrays.xml
|
||||
+++ b/res/values-ms/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -887,7 +887,7 @@ index 7a61cb0473..e9db095279 100644
|
||||
<item msgid="342232116597649254">"Tidak"</item>
|
||||
<item msgid="2163015208097377388">"Ya"</item>
|
||||
diff --git a/res/values-my/arrays.xml b/res/values-my/arrays.xml
|
||||
index 60eb09db46..0a48a4fdcf 100644
|
||||
index 60eb09db465..0a48a4fdcf0 100644
|
||||
--- a/res/values-my/arrays.xml
|
||||
+++ b/res/values-my/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -902,7 +902,7 @@ index 60eb09db46..0a48a4fdcf 100644
|
||||
<item msgid="342232116597649254">"No"</item>
|
||||
<item msgid="2163015208097377388">"Yes"</item>
|
||||
diff --git a/res/values-nb/arrays.xml b/res/values-nb/arrays.xml
|
||||
index 73f2b60d75..0a848af8c2 100644
|
||||
index 73f2b60d75f..0a848af8c2b 100644
|
||||
--- a/res/values-nb/arrays.xml
|
||||
+++ b/res/values-nb/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -917,7 +917,7 @@ index 73f2b60d75..0a848af8c2 100644
|
||||
<item msgid="342232116597649254">"Nei"</item>
|
||||
<item msgid="2163015208097377388">"Ja"</item>
|
||||
diff --git a/res/values-ne/arrays.xml b/res/values-ne/arrays.xml
|
||||
index 3f4810694d..f7d966ac45 100644
|
||||
index 3f4810694d7..f7d966ac450 100644
|
||||
--- a/res/values-ne/arrays.xml
|
||||
+++ b/res/values-ne/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -932,7 +932,7 @@ index 3f4810694d..f7d966ac45 100644
|
||||
<item msgid="342232116597649254">"होइन"</item>
|
||||
<item msgid="2163015208097377388">"हो"</item>
|
||||
diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml
|
||||
index ae3fbb3286..fc48746a6a 100644
|
||||
index ae3fbb32869..fc48746a6a3 100644
|
||||
--- a/res/values-nl/arrays.xml
|
||||
+++ b/res/values-nl/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -947,7 +947,7 @@ index ae3fbb3286..fc48746a6a 100644
|
||||
<item msgid="342232116597649254">"Nee"</item>
|
||||
<item msgid="2163015208097377388">"Ja"</item>
|
||||
diff --git a/res/values-or/arrays.xml b/res/values-or/arrays.xml
|
||||
index cb53759887..11469a960e 100644
|
||||
index cb53759887f..11469a960e5 100644
|
||||
--- a/res/values-or/arrays.xml
|
||||
+++ b/res/values-or/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -962,7 +962,7 @@ index cb53759887..11469a960e 100644
|
||||
<item msgid="342232116597649254">"ନା"</item>
|
||||
<item msgid="2163015208097377388">"ହଁ"</item>
|
||||
diff --git a/res/values-pa/arrays.xml b/res/values-pa/arrays.xml
|
||||
index 9ab1d808bc..19a251fb80 100644
|
||||
index 9ab1d808bc8..19a251fb80d 100644
|
||||
--- a/res/values-pa/arrays.xml
|
||||
+++ b/res/values-pa/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -977,7 +977,7 @@ index 9ab1d808bc..19a251fb80 100644
|
||||
<item msgid="342232116597649254">"ਨਹੀਂ"</item>
|
||||
<item msgid="2163015208097377388">"ਹਾਂ"</item>
|
||||
diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml
|
||||
index 1b0f899fcb..ca2b43b031 100644
|
||||
index 1b0f899fcbd..ca2b43b0313 100644
|
||||
--- a/res/values-pl/arrays.xml
|
||||
+++ b/res/values-pl/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -992,7 +992,7 @@ index 1b0f899fcb..ca2b43b031 100644
|
||||
<item msgid="342232116597649254">"Nie"</item>
|
||||
<item msgid="2163015208097377388">"Tak"</item>
|
||||
diff --git a/res/values-pt-rBR/arrays.xml b/res/values-pt-rBR/arrays.xml
|
||||
index 0cb0d0c1ee..6bbd0c3d35 100644
|
||||
index 0cb0d0c1ee6..6bbd0c3d35c 100644
|
||||
--- a/res/values-pt-rBR/arrays.xml
|
||||
+++ b/res/values-pt-rBR/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1007,7 +1007,7 @@ index 0cb0d0c1ee..6bbd0c3d35 100644
|
||||
<item msgid="342232116597649254">"Não"</item>
|
||||
<item msgid="2163015208097377388">"Sim"</item>
|
||||
diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml
|
||||
index aec6985e28..953ce83cb7 100644
|
||||
index aec6985e280..953ce83cb71 100644
|
||||
--- a/res/values-pt-rPT/arrays.xml
|
||||
+++ b/res/values-pt-rPT/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1022,7 +1022,7 @@ index aec6985e28..953ce83cb7 100644
|
||||
<item msgid="342232116597649254">"Não"</item>
|
||||
<item msgid="2163015208097377388">"Sim"</item>
|
||||
diff --git a/res/values-pt/arrays.xml b/res/values-pt/arrays.xml
|
||||
index 0cb0d0c1ee..6bbd0c3d35 100644
|
||||
index 0cb0d0c1ee6..6bbd0c3d35c 100644
|
||||
--- a/res/values-pt/arrays.xml
|
||||
+++ b/res/values-pt/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1037,7 +1037,7 @@ index 0cb0d0c1ee..6bbd0c3d35 100644
|
||||
<item msgid="342232116597649254">"Não"</item>
|
||||
<item msgid="2163015208097377388">"Sim"</item>
|
||||
diff --git a/res/values-ro/arrays.xml b/res/values-ro/arrays.xml
|
||||
index f12e145e4d..d31680423b 100644
|
||||
index f12e145e4dc..d31680423b6 100644
|
||||
--- a/res/values-ro/arrays.xml
|
||||
+++ b/res/values-ro/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1052,7 +1052,7 @@ index f12e145e4d..d31680423b 100644
|
||||
<item msgid="342232116597649254">"Nu"</item>
|
||||
<item msgid="2163015208097377388">"Da"</item>
|
||||
diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml
|
||||
index ac5e085dc1..4f3f001d52 100644
|
||||
index ac5e085dc10..4f3f001d52f 100644
|
||||
--- a/res/values-ru/arrays.xml
|
||||
+++ b/res/values-ru/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1067,7 +1067,7 @@ index ac5e085dc1..4f3f001d52 100644
|
||||
<item msgid="342232116597649254">"Нет"</item>
|
||||
<item msgid="2163015208097377388">"Да"</item>
|
||||
diff --git a/res/values-si/arrays.xml b/res/values-si/arrays.xml
|
||||
index 67c9a97f09..967ab1847a 100644
|
||||
index 67c9a97f091..967ab1847ab 100644
|
||||
--- a/res/values-si/arrays.xml
|
||||
+++ b/res/values-si/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1082,7 +1082,7 @@ index 67c9a97f09..967ab1847a 100644
|
||||
<item msgid="342232116597649254">"නැත"</item>
|
||||
<item msgid="2163015208097377388">"ඔව්"</item>
|
||||
diff --git a/res/values-sk/arrays.xml b/res/values-sk/arrays.xml
|
||||
index 639e8faafa..b4bceee991 100644
|
||||
index 639e8faafa7..b4bceee9912 100644
|
||||
--- a/res/values-sk/arrays.xml
|
||||
+++ b/res/values-sk/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1097,7 +1097,7 @@ index 639e8faafa..b4bceee991 100644
|
||||
<item msgid="342232116597649254">"Nie"</item>
|
||||
<item msgid="2163015208097377388">"Áno"</item>
|
||||
diff --git a/res/values-sl/arrays.xml b/res/values-sl/arrays.xml
|
||||
index 31ff81fef9..4bc9cf638e 100644
|
||||
index 31ff81fef93..4bc9cf638e7 100644
|
||||
--- a/res/values-sl/arrays.xml
|
||||
+++ b/res/values-sl/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1112,7 +1112,7 @@ index 31ff81fef9..4bc9cf638e 100644
|
||||
<item msgid="342232116597649254">"Ne"</item>
|
||||
<item msgid="2163015208097377388">"Da"</item>
|
||||
diff --git a/res/values-sq/arrays.xml b/res/values-sq/arrays.xml
|
||||
index 5a9fde5c17..fe8b19cf2b 100644
|
||||
index 5a9fde5c178..fe8b19cf2bb 100644
|
||||
--- a/res/values-sq/arrays.xml
|
||||
+++ b/res/values-sq/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1127,7 +1127,7 @@ index 5a9fde5c17..fe8b19cf2b 100644
|
||||
<item msgid="342232116597649254">"Jo"</item>
|
||||
<item msgid="2163015208097377388">"Po"</item>
|
||||
diff --git a/res/values-sr/arrays.xml b/res/values-sr/arrays.xml
|
||||
index 1c975e04c8..8308828975 100644
|
||||
index 1c975e04c8e..83088289757 100644
|
||||
--- a/res/values-sr/arrays.xml
|
||||
+++ b/res/values-sr/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1142,7 +1142,7 @@ index 1c975e04c8..8308828975 100644
|
||||
<item msgid="342232116597649254">"Не"</item>
|
||||
<item msgid="2163015208097377388">"Да"</item>
|
||||
diff --git a/res/values-sv/arrays.xml b/res/values-sv/arrays.xml
|
||||
index 00c54a0cb6..95a2a40c9c 100644
|
||||
index 00c54a0cb6a..95a2a40c9ca 100644
|
||||
--- a/res/values-sv/arrays.xml
|
||||
+++ b/res/values-sv/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1157,7 +1157,7 @@ index 00c54a0cb6..95a2a40c9c 100644
|
||||
<item msgid="342232116597649254">"Nej"</item>
|
||||
<item msgid="2163015208097377388">"Ja"</item>
|
||||
diff --git a/res/values-sw/arrays.xml b/res/values-sw/arrays.xml
|
||||
index 6eed66078e..d9bffc9693 100644
|
||||
index 6eed66078e1..d9bffc96938 100644
|
||||
--- a/res/values-sw/arrays.xml
|
||||
+++ b/res/values-sw/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1172,7 +1172,7 @@ index 6eed66078e..d9bffc9693 100644
|
||||
<item msgid="342232116597649254">"Hapana"</item>
|
||||
<item msgid="2163015208097377388">"Ndiyo"</item>
|
||||
diff --git a/res/values-ta/arrays.xml b/res/values-ta/arrays.xml
|
||||
index 9135fffcfa..f894b9247d 100644
|
||||
index 9135fffcfad..f894b9247d0 100644
|
||||
--- a/res/values-ta/arrays.xml
|
||||
+++ b/res/values-ta/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1187,7 +1187,7 @@ index 9135fffcfa..f894b9247d 100644
|
||||
<item msgid="342232116597649254">"வேண்டாம்"</item>
|
||||
<item msgid="2163015208097377388">"ஆம்"</item>
|
||||
diff --git a/res/values-te/arrays.xml b/res/values-te/arrays.xml
|
||||
index 7c9270691b..fd2f4ce74f 100644
|
||||
index 7c9270691b3..fd2f4ce74f7 100644
|
||||
--- a/res/values-te/arrays.xml
|
||||
+++ b/res/values-te/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1202,7 +1202,7 @@ index 7c9270691b..fd2f4ce74f 100644
|
||||
<item msgid="342232116597649254">"లేదు"</item>
|
||||
<item msgid="2163015208097377388">"అవును"</item>
|
||||
diff --git a/res/values-th/arrays.xml b/res/values-th/arrays.xml
|
||||
index 33fbe3bb8c..723d88c59c 100644
|
||||
index 33fbe3bb8c1..723d88c59c7 100644
|
||||
--- a/res/values-th/arrays.xml
|
||||
+++ b/res/values-th/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1217,7 +1217,7 @@ index 33fbe3bb8c..723d88c59c 100644
|
||||
<item msgid="342232116597649254">"ไม่"</item>
|
||||
<item msgid="2163015208097377388">"ใช่"</item>
|
||||
diff --git a/res/values-tl/arrays.xml b/res/values-tl/arrays.xml
|
||||
index 3d439a67e6..62d500b96f 100644
|
||||
index 3d439a67e6e..62d500b96fb 100644
|
||||
--- a/res/values-tl/arrays.xml
|
||||
+++ b/res/values-tl/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1232,7 +1232,7 @@ index 3d439a67e6..62d500b96f 100644
|
||||
<item msgid="342232116597649254">"Hindi"</item>
|
||||
<item msgid="2163015208097377388">"Oo"</item>
|
||||
diff --git a/res/values-tr/arrays.xml b/res/values-tr/arrays.xml
|
||||
index 080847c4cb..e4f388e05c 100644
|
||||
index 080847c4cb8..e4f388e05c5 100644
|
||||
--- a/res/values-tr/arrays.xml
|
||||
+++ b/res/values-tr/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1247,7 +1247,7 @@ index 080847c4cb..e4f388e05c 100644
|
||||
<item msgid="342232116597649254">"Hayır"</item>
|
||||
<item msgid="2163015208097377388">"Evet"</item>
|
||||
diff --git a/res/values-uk/arrays.xml b/res/values-uk/arrays.xml
|
||||
index 850a400846..c001d9a2a3 100644
|
||||
index 850a4008464..c001d9a2a34 100644
|
||||
--- a/res/values-uk/arrays.xml
|
||||
+++ b/res/values-uk/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1262,7 +1262,7 @@ index 850a400846..c001d9a2a3 100644
|
||||
<item msgid="342232116597649254">"Ні"</item>
|
||||
<item msgid="2163015208097377388">"Так"</item>
|
||||
diff --git a/res/values-ur/arrays.xml b/res/values-ur/arrays.xml
|
||||
index 8b13cf953d..4b377bfc5a 100644
|
||||
index 8b13cf953da..4b377bfc5a6 100644
|
||||
--- a/res/values-ur/arrays.xml
|
||||
+++ b/res/values-ur/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1277,7 +1277,7 @@ index 8b13cf953d..4b377bfc5a 100644
|
||||
<item msgid="342232116597649254">"نہیں"</item>
|
||||
<item msgid="2163015208097377388">"ہاں"</item>
|
||||
diff --git a/res/values-uz/arrays.xml b/res/values-uz/arrays.xml
|
||||
index abe944c792..775149e27c 100644
|
||||
index abe944c792d..775149e27ce 100644
|
||||
--- a/res/values-uz/arrays.xml
|
||||
+++ b/res/values-uz/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1292,7 +1292,7 @@ index abe944c792..775149e27c 100644
|
||||
<item msgid="342232116597649254">"Yo‘q"</item>
|
||||
<item msgid="2163015208097377388">"Ha"</item>
|
||||
diff --git a/res/values-vi/arrays.xml b/res/values-vi/arrays.xml
|
||||
index e54b3bc05c..d988e368a5 100644
|
||||
index e54b3bc05ce..d988e368a5d 100644
|
||||
--- a/res/values-vi/arrays.xml
|
||||
+++ b/res/values-vi/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1307,7 +1307,7 @@ index e54b3bc05c..d988e368a5 100644
|
||||
<item msgid="342232116597649254">"Không"</item>
|
||||
<item msgid="2163015208097377388">"Có"</item>
|
||||
diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml
|
||||
index fffcf47ae6..1b4a951c70 100644
|
||||
index fffcf47ae62..1b4a951c701 100644
|
||||
--- a/res/values-zh-rCN/arrays.xml
|
||||
+++ b/res/values-zh-rCN/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1322,7 +1322,7 @@ index fffcf47ae6..1b4a951c70 100644
|
||||
<item msgid="342232116597649254">"否"</item>
|
||||
<item msgid="2163015208097377388">"是"</item>
|
||||
diff --git a/res/values-zh-rHK/arrays.xml b/res/values-zh-rHK/arrays.xml
|
||||
index 7055620562..9de09cd360 100644
|
||||
index 7055620562f..9de09cd360e 100644
|
||||
--- a/res/values-zh-rHK/arrays.xml
|
||||
+++ b/res/values-zh-rHK/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1337,7 +1337,7 @@ index 7055620562..9de09cd360 100644
|
||||
<item msgid="342232116597649254">"否"</item>
|
||||
<item msgid="2163015208097377388">"是"</item>
|
||||
diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml
|
||||
index 2dd50e6cc8..932faf2958 100644
|
||||
index 2dd50e6cc83..932faf2958b 100644
|
||||
--- a/res/values-zh-rTW/arrays.xml
|
||||
+++ b/res/values-zh-rTW/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
@ -1352,7 +1352,7 @@ index 2dd50e6cc8..932faf2958 100644
|
||||
<item msgid="342232116597649254">"否"</item>
|
||||
<item msgid="2163015208097377388">"是"</item>
|
||||
diff --git a/res/values-zu/arrays.xml b/res/values-zu/arrays.xml
|
||||
index 9a31ab4a07..aa7ae71e02 100644
|
||||
index 9a31ab4a07b..aa7ae71e02b 100644
|
||||
--- a/res/values-zu/arrays.xml
|
||||
+++ b/res/values-zu/arrays.xml
|
||||
@@ -475,10 +475,6 @@
|
||||
|
@ -15,7 +15,7 @@ Closes https://github.com/GrapheneOS/os_issue_tracker/issues/107
|
||||
4 files changed, 26 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
|
||||
index 6d95bcc58b..072004e447 100644
|
||||
index 6d95bcc58b0..072004e4474 100644
|
||||
--- a/res/values/arrays.xml
|
||||
+++ b/res/values/arrays.xml
|
||||
@@ -1301,16 +1301,19 @@
|
||||
@ -106,7 +106,7 @@ index 6d95bcc58b..072004e447 100644
|
||||
<item>"18"</item>
|
||||
<item>"1"</item>
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index e7dcf62ddc..fedb9f3fde 100644
|
||||
index e7dcf62ddc3..fedb9f3fdea 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -10942,6 +10942,8 @@
|
||||
@ -132,7 +132,7 @@ index e7dcf62ddc..fedb9f3fde 100644
|
||||
<string name="network_3G" translatable="false">3G</string>
|
||||
<!-- Text for Network 2g [CHAR LIMIT=NONE] -->
|
||||
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
|
||||
index b9be4c2f10..d577f9ac55 100644
|
||||
index b9be4c2f107..d577f9ac559 100644
|
||||
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
|
||||
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
|
||||
@@ -438,7 +438,6 @@ public class EnabledNetworkModePreferenceController extends
|
||||
@ -157,7 +157,7 @@ index b9be4c2f10..d577f9ac55 100644
|
||||
if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
|
||||
preference.setSummary(
|
||||
diff --git a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
|
||||
index 965fc729d3..3a7261b5b8 100644
|
||||
index 965fc729d31..3a7261b5b8f 100644
|
||||
--- a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
|
||||
+++ b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
|
||||
@@ -143,7 +143,7 @@ public class PreferredNetworkModePreferenceController extends TelephonyBasePrefe
|
||||
|
@ -16,7 +16,7 @@ Change-Id: Ic01a142722372d9d57f52947025cd9db23e58ef4
|
||||
create mode 100644 src/com/android/settings/security/HostsPreferenceController.java
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index fedb9f3fde..b5dbdc7d81 100644
|
||||
index fedb9f3fdea..b5dbdc7d81f 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -11327,6 +11327,9 @@
|
||||
@ -30,7 +30,7 @@ index fedb9f3fde..b5dbdc7d81 100644
|
||||
<string name="privacy_dashboard_title">Privacy</string>
|
||||
<!-- Summary for the top level Privacy Settings [CHAR LIMIT=NONE]-->
|
||||
diff --git a/res/xml/security_dashboard_settings.xml b/res/xml/security_dashboard_settings.xml
|
||||
index 08328ad7b6..23a39d3106 100644
|
||||
index 08328ad7b62..23a39d31067 100644
|
||||
--- a/res/xml/security_dashboard_settings.xml
|
||||
+++ b/res/xml/security_dashboard_settings.xml
|
||||
@@ -75,6 +75,12 @@
|
||||
@ -48,7 +48,7 @@ index 08328ad7b6..23a39d3106 100644
|
||||
<!-- work profile security section -->
|
||||
diff --git a/src/com/android/settings/security/HostsPreferenceController.java b/src/com/android/settings/security/HostsPreferenceController.java
|
||||
new file mode 100644
|
||||
index 0000000000..d8af6d2649
|
||||
index 00000000000..d8af6d26490
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/security/HostsPreferenceController.java
|
||||
@@ -0,0 +1,106 @@
|
||||
@ -159,7 +159,7 @@ index 0000000000..d8af6d2649
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/com/android/settings/security/SecuritySettings.java b/src/com/android/settings/security/SecuritySettings.java
|
||||
index a5e0add739..88ba2ece3a 100644
|
||||
index a5e0add739b..88ba2ece3a2 100644
|
||||
--- a/src/com/android/settings/security/SecuritySettings.java
|
||||
+++ b/src/com/android/settings/security/SecuritySettings.java
|
||||
@@ -123,6 +123,7 @@ public class SecuritySettings extends DashboardFragment {
|
||||
|
@ -11,7 +11,7 @@ Subject: [PATCH] add a toggle for forcibly disabling SUPL
|
||||
create mode 100644 src/com/android/settings/location/ForceDisableSuplPrefController.java
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index b5dbdc7d81..a5aab8e5d0 100644
|
||||
index b5dbdc7d81f..a5aab8e5d08 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -11517,4 +11517,7 @@
|
||||
@ -23,7 +23,7 @@ index b5dbdc7d81..a5aab8e5d0 100644
|
||||
+ <string name="force_disable_supl_summary">Always disable SUPL assisted location support regardless of carrier configuration or emergency call status (does not disable control plane A-GNSS and DivestOS does not send IMSI to the SUPL)</string>
|
||||
</resources>
|
||||
diff --git a/res/xml/location_settings.xml b/res/xml/location_settings.xml
|
||||
index 136e6ab619..ae1a0e0f3e 100644
|
||||
index 136e6ab6195..ae1a0e0f3e2 100644
|
||||
--- a/res/xml/location_settings.xml
|
||||
+++ b/res/xml/location_settings.xml
|
||||
@@ -68,6 +68,12 @@
|
||||
@ -41,7 +41,7 @@ index 136e6ab619..ae1a0e0f3e 100644
|
||||
<PreferenceCategory
|
||||
diff --git a/src/com/android/settings/location/ForceDisableSuplPrefController.java b/src/com/android/settings/location/ForceDisableSuplPrefController.java
|
||||
new file mode 100644
|
||||
index 0000000000..1cfae3f3a6
|
||||
index 00000000000..1cfae3f3a65
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/location/ForceDisableSuplPrefController.java
|
||||
@@ -0,0 +1,41 @@
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: Tad <tad@spotco.us>
|
||||
create mode 100644 src/com/android/settings/security/SigSpoofPreferenceController.java
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index a5aab8e5d0..85985433c4 100644
|
||||
index a5aab8e5d08..85985433c4a 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -11330,6 +11330,9 @@
|
||||
@ -30,7 +30,7 @@ index a5aab8e5d0..85985433c4 100644
|
||||
<string name="privacy_dashboard_title">Privacy</string>
|
||||
<!-- Summary for the top level Privacy Settings [CHAR LIMIT=NONE]-->
|
||||
diff --git a/res/xml/security_dashboard_settings.xml b/res/xml/security_dashboard_settings.xml
|
||||
index 23a39d3106..c5a6c8cada 100644
|
||||
index 23a39d31067..c5a6c8cadad 100644
|
||||
--- a/res/xml/security_dashboard_settings.xml
|
||||
+++ b/res/xml/security_dashboard_settings.xml
|
||||
@@ -81,6 +81,12 @@
|
||||
@ -47,7 +47,7 @@ index 23a39d3106..c5a6c8cada 100644
|
||||
|
||||
<!-- work profile security section -->
|
||||
diff --git a/src/com/android/settings/security/SecuritySettings.java b/src/com/android/settings/security/SecuritySettings.java
|
||||
index 88ba2ece3a..3ba3f518b0 100644
|
||||
index 88ba2ece3a2..3ba3f518b08 100644
|
||||
--- a/src/com/android/settings/security/SecuritySettings.java
|
||||
+++ b/src/com/android/settings/security/SecuritySettings.java
|
||||
@@ -124,6 +124,7 @@ public class SecuritySettings extends DashboardFragment {
|
||||
@ -60,7 +60,7 @@ index 88ba2ece3a..3ba3f518b0 100644
|
||||
controllers.addAll(securityPreferenceControllers);
|
||||
diff --git a/src/com/android/settings/security/SigSpoofPreferenceController.java b/src/com/android/settings/security/SigSpoofPreferenceController.java
|
||||
new file mode 100644
|
||||
index 0000000000..258b59b0b0
|
||||
index 00000000000..258b59b0b07
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/security/SigSpoofPreferenceController.java
|
||||
@@ -0,0 +1,106 @@
|
||||
|
@ -0,0 +1,129 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Weng Su <wengsu@google.com>
|
||||
Date: Fri, 7 Jul 2023 19:52:04 +0800
|
||||
Subject: [PATCH] Restrict ApnEditor settings
|
||||
|
||||
- Finish ApnEditor settings if user is not an admin
|
||||
|
||||
- Finish ApnEditor settings if user has DISALLOW_CONFIG_MOBILE_NETWORKS restriction
|
||||
|
||||
Bug: 279902472
|
||||
Test: manual test
|
||||
make RunSettingsRoboTests ROBOTEST_FILTER=ApnEditorTest
|
||||
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:5c2d727b8f9198bf758a4896eda7c9e5385435ff)
|
||||
Merged-In: Iecdbbff7e21dfb11e3ba385858747a220cfd3e04
|
||||
Change-Id: Iecdbbff7e21dfb11e3ba385858747a220cfd3e04
|
||||
---
|
||||
.../android/settings/network/ApnEditor.java | 23 +++++++++++++++
|
||||
.../settings/network/ApnEditorTest.java | 29 +++++++++++++++++++
|
||||
2 files changed, 52 insertions(+)
|
||||
|
||||
diff --git a/src/com/android/settings/network/ApnEditor.java b/src/com/android/settings/network/ApnEditor.java
|
||||
index 92e689ddd16..cb1c5cce242 100644
|
||||
--- a/src/com/android/settings/network/ApnEditor.java
|
||||
+++ b/src/com/android/settings/network/ApnEditor.java
|
||||
@@ -27,6 +27,7 @@ import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.PersistableBundle;
|
||||
+import android.os.UserManager;
|
||||
import android.provider.Telephony;
|
||||
import android.telephony.CarrierConfigManager;
|
||||
import android.telephony.ServiceState;
|
||||
@@ -209,6 +210,11 @@ public class ApnEditor extends SettingsPreferenceFragment
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
super.onCreate(icicle);
|
||||
+ if (isUserRestricted()) {
|
||||
+ Log.e(TAG, "This setting isn't available due to user restriction.");
|
||||
+ finish();
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
addPreferencesFromResource(R.xml.apn_editor);
|
||||
|
||||
@@ -1203,6 +1209,23 @@ public class ApnEditor extends SettingsPreferenceFragment
|
||||
return userEnteredApnType;
|
||||
}
|
||||
|
||||
+ @VisibleForTesting
|
||||
+ boolean isUserRestricted() {
|
||||
+ UserManager userManager = getContext().getSystemService(UserManager.class);
|
||||
+ if (userManager == null) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ if (!userManager.isAdminUser()) {
|
||||
+ Log.e(TAG, "User is not an admin");
|
||||
+ return true;
|
||||
+ }
|
||||
+ if (userManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS)) {
|
||||
+ Log.e(TAG, "User is not allowed to configure mobile network");
|
||||
+ return true;
|
||||
+ }
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
public static class ErrorDialog extends InstrumentedDialogFragment {
|
||||
|
||||
public static void showError(ApnEditor editor) {
|
||||
diff --git a/tests/robotests/src/com/android/settings/network/ApnEditorTest.java b/tests/robotests/src/com/android/settings/network/ApnEditorTest.java
|
||||
index dc14418b596..6251484aad9 100644
|
||||
--- a/tests/robotests/src/com/android/settings/network/ApnEditorTest.java
|
||||
+++ b/tests/robotests/src/com/android/settings/network/ApnEditorTest.java
|
||||
@@ -33,6 +33,7 @@ import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
+import android.os.UserManager;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
@@ -101,6 +102,8 @@ public class ApnEditorTest {
|
||||
|
||||
private ApnEditor mApnEditorUT;
|
||||
private FragmentActivity mActivity;
|
||||
+ @Mock
|
||||
+ private UserManager mUserManager;
|
||||
private Resources mResources;
|
||||
|
||||
@Before
|
||||
@@ -116,6 +119,11 @@ public class ApnEditorTest {
|
||||
doNothing().when(mApnEditorUT).showError();
|
||||
when(mApnEditorUT.getContext()).thenReturn(RuntimeEnvironment.application);
|
||||
|
||||
+ doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
|
||||
+ doReturn(true).when(mUserManager).isAdminUser();
|
||||
+ doReturn(false).when(mUserManager)
|
||||
+ .hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
|
||||
+
|
||||
setMockPreference(mActivity);
|
||||
mApnEditorUT.mApnData = new FakeApnData(APN_DATA);
|
||||
mApnEditorUT.sNotSet = "Not Set";
|
||||
@@ -454,6 +462,27 @@ public class ApnEditorTest {
|
||||
assertThat(ApnEditor.formatInteger("not an int")).isEqualTo("not an int");
|
||||
}
|
||||
|
||||
+ @Test
|
||||
+ @Config(shadows = ShadowFragment.class)
|
||||
+ public void onCreate_notAdminUser_shouldFinish() {
|
||||
+ doReturn(false).when(mUserManager).isAdminUser();
|
||||
+
|
||||
+ mApnEditorUT.onCreate(null);
|
||||
+
|
||||
+ verify(mApnEditorUT).finish();
|
||||
+ }
|
||||
+
|
||||
+ @Test
|
||||
+ @Config(shadows = ShadowFragment.class)
|
||||
+ public void onCreate_hasUserRestriction_shouldFinish() {
|
||||
+ doReturn(true).when(mUserManager)
|
||||
+ .hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
|
||||
+
|
||||
+ mApnEditorUT.onCreate(null);
|
||||
+
|
||||
+ verify(mApnEditorUT).finish();
|
||||
+ }
|
||||
+
|
||||
@Test
|
||||
public void onCreate_noAction_shouldFinishAndNoCrash() {
|
||||
doNothing().when(mApnEditorUT).addPreferencesFromResource(anyInt());
|
@ -0,0 +1,48 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Grace Jia <xiaotonj@google.com>
|
||||
Date: Thu, 20 Jul 2023 13:42:50 -0700
|
||||
Subject: [PATCH] Fix vulnerability in CallRedirectionService.
|
||||
|
||||
Currently when the CallRedirectionService binding died, we didn't do
|
||||
anything, which cause malicious app start activities even not run in the
|
||||
background by implementing a CallRedirectionService and overriding the
|
||||
onPlaceCall method to schedule a activity start job in an independent
|
||||
process and then kill itself. In that way, the activity can still
|
||||
start after the CallRedirectionService died. Fix this by unbinding the
|
||||
service when the binding died.
|
||||
|
||||
Bug: b/289809991
|
||||
Test: Using testapp provided in bug to make sure the test activity can't
|
||||
be started
|
||||
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:29b52e3cd027da2d8644450a4dee3a7d95dc0043)
|
||||
Merged-In: I065d361b83700474a1efab2a75928427ee0a14ba
|
||||
Change-Id: I065d361b83700474a1efab2a75928427ee0a14ba
|
||||
---
|
||||
.../callredirection/CallRedirectionProcessor.java | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/src/com/android/server/telecom/callredirection/CallRedirectionProcessor.java b/src/com/android/server/telecom/callredirection/CallRedirectionProcessor.java
|
||||
index 5de576ccb..b7c719689 100644
|
||||
--- a/src/com/android/server/telecom/callredirection/CallRedirectionProcessor.java
|
||||
+++ b/src/com/android/server/telecom/callredirection/CallRedirectionProcessor.java
|
||||
@@ -164,6 +164,20 @@ public class CallRedirectionProcessor implements CallRedirectionCallback {
|
||||
Log.endSession();
|
||||
}
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public void onBindingDied(ComponentName componentName) {
|
||||
+ // Make sure we unbind the service if binding died to avoid background stating
|
||||
+ // activity leaks
|
||||
+ Log.startSession("CRSC.oBD");
|
||||
+ try {
|
||||
+ synchronized (mTelecomLock) {
|
||||
+ finishCallRedirection();
|
||||
+ }
|
||||
+ } finally {
|
||||
+ Log.endSession();
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
private class CallRedirectionAdapter extends ICallRedirectionAdapter.Stub {
|
@ -98,6 +98,7 @@ sed -i '75i$(my_res_package): PRIVATE_AAPT_FLAGS += --auto-add-overlay' core/aap
|
||||
awk -i inplace '!/updatable_apex.mk/' target/product/mainline_system.mk; #Disable APEX
|
||||
sed -i 's/PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION := 23/PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION := 28/' core/version_defaults.mk; #Set the minimum supported target SDK to Pie (GrapheneOS)
|
||||
#sed -i 's/PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := true/PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false/' core/product_config.mk; #broken by hardenDefconfig
|
||||
sed -i 's/2023-09-05/2023-10-05/' core/version_defaults.mk; #Bump Security String #Q_asb_2023-10 #XXX
|
||||
fi;
|
||||
|
||||
if enterAndClear "build/soong"; then
|
||||
@ -129,6 +130,10 @@ if enterAndClear "external/libvpx"; then
|
||||
applyPatch "$DOS_PATCHES_COMMON/android_external_libvpx/CVE-2023-5217.patch"; #VP8: disallow thread count changes
|
||||
fi;
|
||||
|
||||
if enterAndClear "external/libxml2"; then
|
||||
applyPatch "$DOS_PATCHES/android_external_libxml2/368053.patch"; #R_asb_2023-10 malloc-fail: Fix OOB read after xmlRegGetCounter
|
||||
fi;
|
||||
|
||||
if enterAndClear "external/svox"; then
|
||||
git revert --no-edit 1419d63b4889a26d22443fd8df1f9073bf229d3d; #Add back Makefiles
|
||||
sed -i '12iLOCAL_SDK_VERSION := current' pico/Android.mk; #Fix build under Pie
|
||||
@ -141,6 +146,14 @@ git fetch https://github.com/LineageOS/android_external_zlib refs/changes/70/352
|
||||
fi;
|
||||
|
||||
if enterAndClear "frameworks/base"; then
|
||||
applyPatch "$DOS_PATCHES/android_frameworks_base/368055.patch"; #R_asb_2023-10 RingtoneManager: verify default ringtone is audio
|
||||
applyPatch "$DOS_PATCHES/android_frameworks_base/368059.patch"; #R_asb_2023-10 Do not share key mappings with JNI object
|
||||
applyPatch "$DOS_PATCHES/android_frameworks_base/368060-backport.patch"; #R_asb_2023-10 Verify URI Permissions in Autofill RemoteViews
|
||||
applyPatch "$DOS_PATCHES/android_frameworks_base/368061.patch"; #R_asb_2023-10 Fix KCM key mapping cloning
|
||||
applyPatch "$DOS_PATCHES/android_frameworks_base/368062-backport.patch"; #R_asb_2023-10 Disallow loading icon from content URI to PipMenu
|
||||
applyPatch "$DOS_PATCHES/android_frameworks_base/368063.patch"; #R_asb_2023-10 Fixing DatabaseUtils to detect malformed UTF-16 strings
|
||||
#applyPatch "$DOS_PATCHES/android_frameworks_base/368065-backport.patch"; #R_asb_2023-10 SettingsProvider: exclude secure_frp_mode from resets
|
||||
applyPatch "$DOS_PATCHES/android_frameworks_base/368067.patch"; #R_asb_2023-10 Revert "DO NOT MERGE Dismiss keyguard when simpin auth'd and..."
|
||||
#applyPatch "$DOS_PATCHES/android_frameworks_base/272645.patch"; #ten-bt-sbc-hd-dualchannel: Add CHANNEL_MODE_DUAL_CHANNEL constant (ValdikSS)
|
||||
#applyPatch "$DOS_PATCHES/android_frameworks_base/272646-forwardport.patch"; #ten-bt-sbc-hd-dualchannel: Add Dual Channel into Bluetooth Audio Channel Mode developer options menu (ValdikSS)
|
||||
#applyPatch "$DOS_PATCHES/android_frameworks_base/272647.patch"; #ten-bt-sbc-hd-dualchannel: Allow SBC as HD audio codec in Bluetooth device configuration (ValdikSS)
|
||||
@ -316,6 +329,7 @@ fi;
|
||||
|
||||
if enterAndClear "packages/apps/Settings"; then
|
||||
git revert --no-edit 486980cfecce2ca64267f41462f9371486308e9d; #Don't hide OEM unlock
|
||||
applyPatch "$DOS_PATCHES/android_packages_apps_Settings/368069-backport.patch"; #R_asb_2023-10 Restrict ApnEditor settings
|
||||
#applyPatch "$DOS_PATCHES/android_packages_apps_Settings/272651.patch"; #ten-bt-sbc-hd-dualchannel: Add Dual Channel into Bluetooth Audio Channel Mode developer options menu (ValdikSS)
|
||||
applyPatch "$DOS_PATCHES/android_packages_apps_Settings/0001-Captive_Portal_Toggle.patch"; #Add option to disable captive portal checks (MSe1969)
|
||||
#applyPatch "$DOS_PATCHES/android_packages_apps_Settings/0001-Captive_Portal_Toggle-gos.patch"; #Add option to disable captive portal checks (GrapheneOS) #FIXME: needs work
|
||||
@ -369,6 +383,10 @@ fi;
|
||||
#cp $DOS_PATCHES_COMMON/android_packages_providers_TelephonyProvider/carrier_list.* assets/;
|
||||
#fi;
|
||||
|
||||
if enterAndClear "packages/services/Telecomm"; then
|
||||
applyPatch "$DOS_PATCHES/android_packages_services_Telecomm/368072.patch"; #R_asb_2023-10 Fix vulnerability in CallRedirectionService.
|
||||
fi;
|
||||
|
||||
if enterAndClear "prebuilts/abi-dumps/vndk"; then
|
||||
applyPatch "$DOS_PATCHES/android_prebuilts_abi-dumps_vndk/0001-protobuf-avi.patch"; #Work around ABI changes from compiler hardening (GrapheneOS)
|
||||
fi;
|
||||
|
Loading…
Reference in New Issue
Block a user