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