Fix problems and wait a bit for ant+ pairing

This commit is contained in:
Chet Henry
2014-11-28 19:49:58 -07:00
parent 3f3bbf521c
commit f37d9e8516
4 changed files with 31 additions and 31 deletions

View File

@@ -3,7 +3,7 @@
<PreferenceCategory
android:title="@string/PREFS_NAME">
<com.ridelogger.DynamicMultiSelectListPreference
<MultiSelectListPreference
android:key="@string/PREF_PAIRED_ANTS"
android:title="@string/ant_pair_dialog_title"
android:summary="@string/ant_pair_dialog_button_note"

View File

@@ -1,24 +0,0 @@
package com.ridelogger;
import android.preference.MultiSelectListPreference;
import android.util.AttributeSet;
import android.app.Dialog;
import android.content.Context;
public class DynamicMultiSelectListPreference extends MultiSelectListPreference {
public DynamicMultiSelectListPreference(Context context) {
super(context);
}
public DynamicMultiSelectListPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
public void refresh() {
Dialog test = getDialog();
if(test != null && test.isShowing()) {
test.dismiss();
showDialog(null);
}
}
}

View File

@@ -231,7 +231,7 @@ public class RideService extends Service
sensors.put("GPS", new Gps(this));
sensors.put("AndroidSensors", new Sensors(this));
if(!pairedAnts.isEmpty()){
if(pairedAnts != null && !pairedAnts.isEmpty()){
mCallback = new MultiDeviceSearch.SearchCallbacks(){
public void onDeviceFound(final MultiDeviceSearchResult deviceFound)
{

View File

@@ -1,8 +1,11 @@
package com.ridelogger;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import com.dsi.ant.plugins.antplus.pcc.defines.DeviceType;
import com.dsi.ant.plugins.antplus.pcc.defines.RequestAccessResult;
@@ -10,6 +13,10 @@ import com.dsi.ant.plugins.antplus.pccbase.MultiDeviceSearch;
import com.dsi.ant.plugins.antplus.pccbase.MultiDeviceSearch.MultiDeviceSearchResult;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.RemoteException;
import android.preference.MultiSelectListPreference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceFragment;
@@ -40,7 +47,7 @@ public class SettingsActivity extends PreferenceActivity {
*/
public static class AntFragment extends PreferenceFragment {
private MultiDeviceSearch mSearch;
private DynamicMultiSelectListPreference mMultiSelectListPreference;
private MultiSelectListPreference mMultiSelectListPreference;
@Override
@@ -48,9 +55,28 @@ public class SettingsActivity extends PreferenceActivity {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.ant_settings);
mMultiSelectListPreference = (DynamicMultiSelectListPreference) findPreference(getString(R.string.PREF_PAIRED_ANTS));
mMultiSelectListPreference = (MultiSelectListPreference) findPreference(getString(R.string.PREF_PAIRED_ANTS));
mMultiSelectListPreference.setEnabled(false);
setupAnt();
Timer timer = new Timer();
final Handler handler = new Handler();
timer.schedule(
new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
public void run() {
mMultiSelectListPreference.setEnabled(true);
}
});
}
},
5000
);
}
/**
@@ -110,8 +136,6 @@ public class SettingsActivity extends PreferenceActivity {
foundDevicesValues.toArray(new CharSequence[foundDevicesValues.size()])
);
}
mMultiSelectListPreference.refresh();
}
@Override