diff options
author | Herbert von Broeuschmeul <Herbert.Broeuschmeul@gmail.com> | 2010-12-03 01:32:55 +0100 |
---|---|---|
committer | Herbert von Broeuschmeul <Herbert.Broeuschmeul@gmail.com> | 2010-12-03 02:20:20 +0100 |
commit | 85c4ca20f2138107f51dbb0cc0119280f809d214 (patch) | |
tree | 8a710dfa6d56f1f7edf1655f377c440e146e8b66 /src/org/broeuschmeul/android | |
parent | c652ced262a08ade4e1545aeb7904949501e383d (diff) | |
download | BlueGPS-85c4ca20f2138107f51dbb0cc0119280f809d214.zip BlueGPS-85c4ca20f2138107f51dbb0cc0119280f809d214.tar.gz BlueGPS-85c4ca20f2138107f51dbb0cc0119280f809d214.tar.bz2 |
add an "About window"
Diffstat (limited to 'src/org/broeuschmeul/android')
-rw-r--r-- | src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsActivity.java | 30 | ||||
-rw-r--r-- | src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsProviderService.java | 1 |
2 files changed, 25 insertions, 6 deletions
diff --git a/src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsActivity.java b/src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsActivity.java index 1c1eac3..5665aa6 100644 --- a/src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsActivity.java +++ b/src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsActivity.java @@ -20,6 +20,7 @@ package org.broeuschmeul.android.gps.bluetooth.provider; +import java.util.HashSet; import java.util.Set; import android.app.AlertDialog; @@ -35,6 +36,7 @@ import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceManager; import android.preference.Preference.OnPreferenceChangeListener; +import android.text.method.LinkMovementMethod; import android.util.Log; import android.view.View; import android.widget.TextView; @@ -61,6 +63,14 @@ public class BluetoothGpsActivity extends PreferenceActivity implements OnPrefer sharedPref = PreferenceManager.getDefaultSharedPreferences(this); sharedPref.registerOnSharedPreferenceChangeListener(this); bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); + Preference pref = findPreference(BluetoothGpsProviderService.PREF_ABOUT); + pref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference preference) { + BluetoothGpsActivity.this.displayAboutDialog(); + return true; + } + }); } /* (non-Javadoc) @@ -88,7 +98,10 @@ public class BluetoothGpsActivity extends PreferenceActivity implements OnPrefer updateDevicePreferenceSummary(); // update bluetooth device list ListPreference prefDevices = (ListPreference)findPreference(BluetoothGpsProviderService.PREF_BLUETOOTH_DEVICE); - Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBondedDevices(); + Set<BluetoothDevice> pairedDevices = new HashSet<BluetoothDevice>(); + if (bluetoothAdapter != null){ + pairedDevices = bluetoothAdapter.getBondedDevices(); + } String[] entryValues = new String[pairedDevices.size()]; String[] entries = new String[pairedDevices.size()]; int i = 0; @@ -112,15 +125,22 @@ public class BluetoothGpsActivity extends PreferenceActivity implements OnPrefer private void displayAboutDialog(){ View messageView = getLayoutInflater().inflate(R.layout.about, null, false); + // we need this to enable html links + TextView textView = (TextView) messageView.findViewById(R.id.about_license); + textView.setMovementMethod(LinkMovementMethod.getInstance()); // When linking text, force to always use default color. This works // around a pressed color state bug. - TextView textView = (TextView) messageView.findViewById(R.id.about_sources); int defaultColor = textView.getTextColors().getDefaultColor(); textView.setTextColor(defaultColor); + textView = (TextView) messageView.findViewById(R.id.about_sources); + textView.setTextColor(defaultColor); + AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle(R.string.aboutTitle); + builder.setTitle(R.string.about_title); + builder.setIcon(R.drawable.gplv3_icon); builder.setView(messageView); + // CharSequence styledText = Html.fromHtml(getString(R.string.about)); // builder.setMessage(R.string.about); // builder.setMessage(styledText); @@ -134,9 +154,7 @@ public class BluetoothGpsActivity extends PreferenceActivity implements OnPrefer } @Override - public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, - String key) { - displayAboutDialog(); + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { if (BluetoothGpsProviderService.PREF_START_GPS_PROVIDER.equals(key)){ boolean val = false; if (val = sharedPreferences.getBoolean(key, false)){ diff --git a/src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsProviderService.java b/src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsProviderService.java index 242e30a..4f322c0 100644 --- a/src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsProviderService.java +++ b/src/org/broeuschmeul/android/gps/bluetooth/provider/BluetoothGpsProviderService.java @@ -66,6 +66,7 @@ public class BluetoothGpsProviderService extends Service implements NmeaListener public static final String PREF_TRACK_FILE_DIR = "trackFileDirectory";
public static final String PREF_TRACK_FILE_PREFIX = "trackFilePrefix";
public static final String PREF_BLUETOOTH_DEVICE = "bluetoothDevice";
+ public static final String PREF_ABOUT = "about";
private static final String LOG_TAG = "BlueGPS";
// private static final String LOG_TAG = BluetoothGpsProviderService.class.getSimpleName();
|