From 4217584da929f62d5da2b0eb508172e8ae44a20c Mon Sep 17 00:00:00 2001 From: Hugh Chen Date: Thu, 3 Jun 2021 16:38:24 +0800 Subject: [PATCH 1/2] RESTRICT AUTOMERGE Update string 1. Replace "An untrusted Bluetooth device" to "A Bluetooth device". 2. Replace "Deny" to "Don't allow" https://docs.google.com/document/d/18bVSIAyX4MNpNeCvxqyZu7CXcBUcdV0pnh-gzVprjqU/edit?ts=60709637 Bug: 167403112 Test: send intent to test right prompts message is pop up. make -j42 RunSettingsRoboTests Change-Id: I38da15d4b1fb08671f6352458cbf3f735b4083bc (cherry picked from commit 38fc9a91b53e82c092c1324f5ba3085740e7dcdf) (cherry picked from commit f4f2fae30639266131b847260e7fc1b20c2dfa31) --- res/values/strings.xml | 11 +++++++---- .../bluetooth/BluetoothPermissionActivity.java | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 226398ea5eb..ad87e75f871 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -12198,15 +12198,18 @@ Unavailable because bedtime mode is on - Untrusted device wants to access your messages. Tap for details. + A device wants to access your messages. Tap for details. Allow access to messages? - An untrusted Bluetooth device, %1$s, wants to access your messages.\n\nYou haven\u2019t connected to %2$s before. + A Bluetooth device, %1$s, wants to access your messages.\n\nYou haven\u2019t connected to %2$s before. - Untrusted device wants to access your contacts and call log. Tap for details. + A device wants to access your contacts and call log. Tap for details. Allow access to contacts and call log? - An untrusted Bluetooth device, %1$s, wants to access your contacts and call log. This includes data about incoming and outgoing calls.\n\nYou haven\u2019t connected to %2$s before. + A Bluetooth device, %1$s, wants to access your contacts and call log. This includes data about incoming and outgoing calls.\n\nYou haven\u2019t connected to %2$s before. + + + Don\u2019t allow diff --git a/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java b/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java index 0cca4a4ec51..8794b08129b 100644 --- a/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java +++ b/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java @@ -135,7 +135,7 @@ public class BluetoothPermissionActivity extends AlertActivity implements } p.mPositiveButtonText = getString(R.string.allow); p.mPositiveButtonListener = this; - p.mNegativeButtonText = getString(R.string.deny); + p.mNegativeButtonText = getString(R.string.request_manage_bluetooth_permission_dont_allow); p.mNegativeButtonListener = this; mOkButton = mAlert.getButton(DialogInterface.BUTTON_POSITIVE); setupAlert(); From 18c83959b1aa7de8fce3d76d89c1ca9a286f487a Mon Sep 17 00:00:00 2001 From: Hugh Chen Date: Thu, 3 Jun 2021 16:38:24 +0800 Subject: [PATCH 2/2] RESTRICT AUTOMERGE Fix phishing attacks over Bluetooth due to unclear warning message This CL add more prompts presented for users to avoid phishing attacks. Screenshot: https://screenshot.googleplex.com/p5PZbphN46ddPFV.png https://screenshot.googleplex.com/6Q2wKfPbNQmTtx8.png https://screenshot.googleplex.com/987VpYgNUZL2K4T.png https://screenshot.googleplex.com/9eVg6SAGScVXU8U.png Bug: 167403112 Test: manually test Change-Id: Iadec059b662fd91754ad573bbe688702cdd3c9af (cherry picked from commit 10e459921953825d34e70cc4da846aac703d913c) (cherry picked from commit 80d8b03d027f3dffb85958f849be3b5316791107) --- res/values/strings.xml | 21 +++++++++++++++++ .../BluetoothPermissionActivity.java | 23 ++++++++++++------- .../bluetooth/BluetoothPermissionRequest.java | 12 ++++++---- 3 files changed, 44 insertions(+), 12 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index ad87e75f871..811a44c7c56 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -12212,4 +12212,25 @@ Don\u2019t allow + + + SIM card access request + + A device wants to access your SIM card. Tap for details. + + Allow access to SIM card? + + A Bluetooth device, %1$s, wants to access data on your SIM card. This includes your contacts.\n\nWhile connected, %2$s will receive all calls made to %3$s. + + Bluetooth device available + + A device wants to connect. Tap for details. + + Connect to Bluetooth device? + + %1$s wants to connect to this phone.\n\nYou haven\u2019t connected to %2$s before. + + Don\u2019t connect + + Connect diff --git a/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java b/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java index 8794b08129b..211bcc6f4b4 100644 --- a/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java +++ b/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java @@ -25,6 +25,7 @@ import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; +import android.telephony.TelephonyManager; import android.util.Log; import android.view.View; import android.widget.Button; @@ -94,13 +95,13 @@ public class BluetoothPermissionActivity extends AlertActivity implements if(DEBUG) Log.i(TAG, "onCreate() Request type: " + mRequestType); if (mRequestType == BluetoothDevice.REQUEST_TYPE_PROFILE_CONNECTION) { - showDialog(getString(R.string.bluetooth_connection_permission_request), mRequestType); + showDialog(getString(R.string.bluetooth_connect_access_dialog_title), mRequestType); } else if (mRequestType == BluetoothDevice.REQUEST_TYPE_PHONEBOOK_ACCESS) { showDialog(getString(R.string.bluetooth_phonebook_access_dialog_title), mRequestType); } else if (mRequestType == BluetoothDevice.REQUEST_TYPE_MESSAGE_ACCESS) { showDialog(getString(R.string.bluetooth_message_access_dialog_title), mRequestType); } else if (mRequestType == BluetoothDevice.REQUEST_TYPE_SIM_ACCESS) { - showDialog(getString(R.string.bluetooth_sap_request), mRequestType); + showDialog(getString(R.string.bluetooth_sim_card_access_dialog_title), mRequestType); } else { Log.e(TAG, "Error: bad request type: " + mRequestType); @@ -133,9 +134,14 @@ public class BluetoothPermissionActivity extends AlertActivity implements p.mView = createSapDialogView(); break; } - p.mPositiveButtonText = getString(R.string.allow); + p.mPositiveButtonText = getString( + requestType == BluetoothDevice.REQUEST_TYPE_PROFILE_CONNECTION + ? R.string.bluetooth_connect_access_dialog_positive : R.string.allow); p.mPositiveButtonListener = this; - p.mNegativeButtonText = getString(R.string.request_manage_bluetooth_permission_dont_allow); + p.mNegativeButtonText = getString( + requestType == BluetoothDevice.REQUEST_TYPE_PROFILE_CONNECTION + ? R.string.bluetooth_connect_access_dialog_negative + : R.string.request_manage_bluetooth_permission_dont_allow); p.mNegativeButtonListener = this; mOkButton = mAlert.getButton(DialogInterface.BUTTON_POSITIVE); setupAlert(); @@ -156,8 +162,8 @@ public class BluetoothPermissionActivity extends AlertActivity implements String mRemoteName = Utils.createRemoteName(this, mDevice); mView = getLayoutInflater().inflate(R.layout.bluetooth_access, null); messageView = (TextView)mView.findViewById(R.id.message); - messageView.setText(getString(R.string.bluetooth_connection_dialog_text, - mRemoteName)); + messageView.setText(getString(R.string.bluetooth_connect_access_dialog_content, + mRemoteName, mRemoteName)); return mView; } @@ -181,10 +187,11 @@ public class BluetoothPermissionActivity extends AlertActivity implements private View createSapDialogView() { String mRemoteName = Utils.createRemoteName(this, mDevice); + TelephonyManager tm = getSystemService(TelephonyManager.class); mView = getLayoutInflater().inflate(R.layout.bluetooth_access, null); messageView = (TextView)mView.findViewById(R.id.message); - messageView.setText(getString(R.string.bluetooth_sap_acceptance_dialog_text, - mRemoteName, mRemoteName)); + messageView.setText(getString(R.string.bluetooth_sim_card_access_dialog_content, + mRemoteName, mRemoteName, tm.getLine1Number())); return mView; } diff --git a/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java b/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java index de957a7eb91..791ade425be 100644 --- a/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java +++ b/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java @@ -144,13 +144,17 @@ public final class BluetoothPermissionRequest extends BroadcastReceiver { R.string.bluetooth_message_access_notification_content); break; case BluetoothDevice.REQUEST_TYPE_SIM_ACCESS: - title = context.getString(R.string.bluetooth_sap_request); - message = context.getString(R.string.bluetooth_sap_acceptance_dialog_text, + title = context.getString( + R.string.bluetooth_sim_card_access_notification_title); + message = context.getString( + R.string.bluetooth_sim_card_access_notification_content, deviceAlias, deviceAlias); break; default: - title = context.getString(R.string.bluetooth_connection_permission_request); - message = context.getString(R.string.bluetooth_connection_dialog_text, + title = context.getString( + R.string.bluetooth_connect_access_notification_title); + message = context.getString( + R.string.bluetooth_connect_access_notification_content, deviceAlias, deviceAlias); break; }