178705adb33530d58f6b25bd3976ef36df196af55Martijn Coenenpackage com.android.nfc.handover; 278705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen 378705adb33530d58f6b25bd3976ef36df196af55Martijn Coenenimport android.app.Activity; 478705adb33530d58f6b25bd3976ef36df196af55Martijn Coenenimport android.app.AlertDialog; 578705adb33530d58f6b25bd3976ef36df196af55Martijn Coenenimport android.bluetooth.BluetoothDevice; 678705adb33530d58f6b25bd3976ef36df196af55Martijn Coenenimport android.content.DialogInterface; 778705adb33530d58f6b25bd3976ef36df196af55Martijn Coenenimport android.content.Intent; 878705adb33530d58f6b25bd3976ef36df196af55Martijn Coenenimport android.content.res.Resources; 978705adb33530d58f6b25bd3976ef36df196af55Martijn Coenenimport android.os.Bundle; 1078705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen 1178705adb33530d58f6b25bd3976ef36df196af55Martijn Coenenimport com.android.nfc.R; 1278705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen 1378705adb33530d58f6b25bd3976ef36df196af55Martijn Coenenpublic class ConfirmConnectActivity extends Activity { 1478705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen BluetoothDevice mDevice; 1578705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen @Override 1678705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen protected void onCreate(Bundle savedInstanceState) { 1778705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen super.onCreate(savedInstanceState); 1878705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen AlertDialog.Builder builder = new AlertDialog.Builder(this, AlertDialog.THEME_HOLO_DARK); 1978705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen Intent launchIntent = getIntent(); 2078705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen mDevice = launchIntent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 2178705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen if (mDevice == null) finish(); 2278705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen Resources res = getResources(); 2378705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen String deviceName = mDevice.getName() != null ? mDevice.getName() : ""; 2478705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen String confirmString = String.format(res.getString(R.string.confirm_pairing), deviceName); 2578705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen builder.setMessage(confirmString) 2678705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen .setCancelable(false) 2778705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen .setPositiveButton(res.getString(R.string.pair_yes), 2878705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen new DialogInterface.OnClickListener() { 2978705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen public void onClick(DialogInterface dialog, int id) { 3078705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen Intent allowIntent = new Intent(BluetoothHeadsetHandover.ACTION_ALLOW_CONNECT); 3178705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen allowIntent.putExtra(BluetoothDevice.EXTRA_DEVICE, mDevice); 3278705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen sendBroadcast(allowIntent); 3378705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen ConfirmConnectActivity.this.finish(); 3478705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen } 3578705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen }) 3678705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen .setNegativeButton(res.getString(R.string.pair_no), 3778705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen new DialogInterface.OnClickListener() { 3878705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen public void onClick(DialogInterface dialog, int id) { 3978705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen Intent denyIntent = new Intent(BluetoothHeadsetHandover.ACTION_DENY_CONNECT); 4078705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen denyIntent.putExtra(BluetoothDevice.EXTRA_DEVICE, mDevice); 4178705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen sendBroadcast(denyIntent); 4278705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen ConfirmConnectActivity.this.finish(); 4378705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen } 4478705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen }); 4578705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen AlertDialog alert = builder.create(); 4678705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen alert.show(); 4778705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen } 4878705adb33530d58f6b25bd3976ef36df196af55Martijn Coenen} 49