package ru.shutoff.cgstarter;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentResolver;
import android.content.DialogInterface;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.BaseColumns;
import android.provider.ContactsContract;
public class SmsDialog extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String number = getIntent().getStringExtra(State.INFO);
Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number));
ContentResolver contentResolver = getContentResolver();
Cursor contactLookup = contentResolver.query(uri, new String[]{BaseColumns._ID,
ContactsContract.PhoneLookup.DISPLAY_NAME}, null, null, null);
final String lat = getIntent().getStringExtra(State.LATITUDE);
final String lon = getIntent().getStringExtra(State.LONGITUDE);
try {
if (contactLookup != null && contactLookup.getCount() > 0) {
contactLookup.moveToNext();
number = contactLookup.getString(contactLookup.getColumnIndex(ContactsContract.Data.DISPLAY_NAME));
}
} finally {
if (contactLookup != null) {
contactLookup.close();
}
}
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle(number)
.setMessage(getIntent().getStringExtra(State.TEXT))
.setPositiveButton(R.string.go, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (OnExitService.isRunCG(SmsDialog.this))
CarMonitor.killCG(SmsDialog.this);
CarMonitor.startCG(SmsDialog.this, lat + "|" + lon, null, null);
}
})
.setNegativeButton(R.string.cancel, null)
.create();
dialog.show();
dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
finish();
}
});
}
}