summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-10-07 17:22:41 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-10-07 17:22:41 +0000
commit1224b2983f8ba4e20676e73439f0fbf6252afb1b (patch)
treece938b6cc42b9dc5d91c2f583481d9e42e0b643f
parent80f582c944a8f7d1a75bf3f960d2d47b992b4a7d (diff)
parent20eecd2075aac3eecd88a81ece933ee3f79d8266 (diff)
downloadNfc-1224b2983f8ba4e20676e73439f0fbf6252afb1b.tar.gz
Change-Id: I9c0ebb9216fdd081bf9354897daf2ab73884922c
-rwxr-xr-xAndroidManifest.xml1
-rw-r--r--nci/jni/extns/pn54x/src/mifare/phNxpExtns_MifareStd.cpp9
-rw-r--r--src/com/android/nfc/handover/ConfirmConnectActivity.java6
3 files changed, 15 insertions, 1 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 17f68f2c..2e2e4262 100755
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -36,6 +36,7 @@
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
+ <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
diff --git a/nci/jni/extns/pn54x/src/mifare/phNxpExtns_MifareStd.cpp b/nci/jni/extns/pn54x/src/mifare/phNxpExtns_MifareStd.cpp
index 77a0dc1b..06934331 100644
--- a/nci/jni/extns/pn54x/src/mifare/phNxpExtns_MifareStd.cpp
+++ b/nci/jni/extns/pn54x/src/mifare/phNxpExtns_MifareStd.cpp
@@ -1132,6 +1132,10 @@ static NFCSTATUS phNciNfc_RecvMfResp(phNciNfc_Buff_t* RspBuffInfo,
NdefMap->State == PH_FRINFC_NDEFMAP_STATE_WRITE ||
NdefMap->State == PH_FRINFC_NDEFMAP_STATE_WR_NDEF_LEN ||
NdefMap->State == PH_FRINFC_NDEFMAP_STATE_INIT)) {
+ if (2 > RspBuffInfo->wLen) {
+ android_errorWriteLog(0x534e4554, "181346550");
+ return NFCSTATUS_FAILED;
+ }
uint8_t rspAck = RspBuffInfo->pBuff[RspBuffInfo->wLen - 2];
uint8_t rspAckMask = ((RspBuffInfo->pBuff[RspBuffInfo->wLen - 1]) &
MAX_NUM_VALID_BITS_FOR_ACK);
@@ -1145,6 +1149,11 @@ static NFCSTATUS phNciNfc_RecvMfResp(phNciNfc_Buff_t* RspBuffInfo,
status = NFCSTATUS_SUCCESS;
uint16_t wRecvDataSz = 0;
+ if ((PHNCINFC_EXTNID_SIZE + PHNCINFC_EXTNSTATUS_SIZE) >
+ RspBuffInfo->wLen) {
+ android_errorWriteLog(0x534e4554, "181346550");
+ return NFCSTATUS_FAILED;
+ }
/* DataLen = TotalRecvdLen - (sizeof(RspId) + sizeof(Status)) */
wPldDataSize = ((RspBuffInfo->wLen) -
(PHNCINFC_EXTNID_SIZE + PHNCINFC_EXTNSTATUS_SIZE));
diff --git a/src/com/android/nfc/handover/ConfirmConnectActivity.java b/src/com/android/nfc/handover/ConfirmConnectActivity.java
index c87fc36c..d029a3e2 100644
--- a/src/com/android/nfc/handover/ConfirmConnectActivity.java
+++ b/src/com/android/nfc/handover/ConfirmConnectActivity.java
@@ -16,6 +16,8 @@
package com.android.nfc.handover;
+import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
+
import android.app.Activity;
import android.app.AlertDialog;
import android.bluetooth.BluetoothDevice;
@@ -35,14 +37,16 @@ public class ConfirmConnectActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ getWindow().addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
AlertDialog.Builder builder = new AlertDialog.Builder(this,
AlertDialog.THEME_DEVICE_DEFAULT_LIGHT);
Intent launchIntent = getIntent();
mDevice = launchIntent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
if (mDevice == null) finish();
Resources res = getResources();
+ String btExtraName = launchIntent.getStringExtra(BluetoothDevice.EXTRA_NAME);
String confirmString = String.format(res.getString(R.string.confirm_pairing),
- launchIntent.getStringExtra(BluetoothDevice.EXTRA_NAME));
+ "\"" + btExtraName.replaceAll("\\r|\\n", "") + "\"");
builder.setMessage(confirmString)
.setCancelable(false)
.setPositiveButton(res.getString(R.string.pair_yes),