package com.jeztek.imok; import java.io.IOException; import java.text.DecimalFormat; import java.util.Map; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.app.PendingIntent; import android.app.ProgressDialog; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.location.Criteria; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.preference.PreferenceManager; import android.telephony.SmsManager; import android.text.Html; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class IMOkActivity extends Activity { public static final String TAG = "IMOk.IMOkActivity"; private static final int MENU_SETUP = 1; private static final int MENU_ABOUT = 2; private static final int DIALOG_ABOUT = 1; private Location mLocation = null; private boolean mHaveProvider = false; private LocationManager mLocationManager; private LocationListener mLocationListener = new LocationListener() { public void onLocationChanged(Location location) { IMOkActivity.this.mLocation = location; } public void onProviderDisabled(String provider) { } public void onProviderEnabled(String provider) { } public void onStatusChanged(String provider, int status, Bundle extras) { } }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mLocationManager = (LocationManager) getSystemService(LOCATION_SERVICE); final Button imokButton = (Button) findViewById(R.id.imok_button); imokButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent i = new Intent(IMOkActivity.this.getApplicationContext(), SmsActivity.class); i.setAction(Settings.SMS_ACTION_OK); IMOkActivity.this.startActivity(i); } }); final Button helpButton = (Button) findViewById(R.id.imok_help_button); helpButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // We need an Editor object to make preference changes. // All objects are from android.context.Context SharedPreferences settings = getSharedPreferences(Settings.SETTINGS_FILE, 0); SharedPreferences.Editor editor = settings.edit(); editor.putBoolean(Settings.SETTINGS_DISCLAIMER, false); // Commit the edits! editor.commit(); Intent i = new Intent(IMOkActivity.this.getApplicationContext(), SmsActivity.class); i.setAction(Settings.SMS_ACTION_HELP); IMOkActivity.this.startActivity(i); } }); final TextView message = (TextView) findViewById(R.id.imok_message); message.setText(Html.fromHtml(getResources().getString(R.string.imok_text))); } @Override protected void onStart() { super.onStart(); } @Override protected void onStop() { super.onStop(); } @Override protected void onResume() { super.onResume(); Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); String provider = mLocationManager.getBestProvider(criteria, true); if (provider != null) { mHaveProvider = true; mLocationManager.requestLocationUpdates(provider, 1000, 1, mLocationListener); } } @Override protected void onPause() { super.onPause(); if (mHaveProvider) mLocationManager.removeUpdates(mLocationListener); } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); MenuItem settingsItem = menu.add(0, MENU_SETUP, 0, R.string.imok_menu_setup); settingsItem.setIcon(android.R.drawable.ic_menu_preferences); MenuItem aboutItem = menu.add(1, MENU_ABOUT, 0, R.string.imok_menu_about); aboutItem.setIcon(android.R.drawable.ic_menu_info_details); return true; } @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { switch (item.getItemId()) { case MENU_ABOUT: showDialog(DIALOG_ABOUT); break; case MENU_SETUP: startActivity(new Intent(this, SettingsActivity.class)); break; } return super.onMenuItemSelected(featureId, item); } @Override protected Dialog onCreateDialog(int id) { switch (id) { case DIALOG_ABOUT: return new AlertDialog.Builder(this) .setTitle(getString(R.string.imok_about_dialog_title)) .setMessage(getString(R.string.imok_about_dialog_message)) .setPositiveButton(R.string.imok_about_dialog_ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { } }) .create(); } return null; } }