altosdroid: complete frequency change dialog
authorMike Beattie <mike@ethernal.org>
Fri, 31 Aug 2012 04:38:21 +0000 (16:38 +1200)
committerMike Beattie <mike@ethernal.org>
Fri, 31 Aug 2012 04:38:21 +0000 (16:38 +1200)
Also implement Service IPC to action request.

Signed-off-by: Mike Beattie <mike@ethernal.org>
altosdroid/res/menu/option_menu.xml
altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java
altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java

index 525541e190a0abe9908a5df9a378b51586b96436..d7ba8305766c3106bb6cc656a65885ce2200d77a 100644 (file)
@@ -18,6 +18,6 @@
           android:icon="@android:drawable/ic_menu_search"
           android:title="@string/connect_device" />
     <item android:id="@+id/select_freq"
           android:icon="@android:drawable/ic_menu_search"
           android:title="@string/connect_device" />
     <item android:id="@+id/select_freq"
-          android:icon="@android:drawable/ic_menu_search"
+          android:icon="@android:drawable/ic_menu_preferences"
           android:title="@string/select_freq" />
 </menu>
           android:title="@string/select_freq" />
 </menu>
index 2776016216beb9f4f3687ad6f2c80318aa44d27b..de0b02a6f24d26fd9b023e6621506c3008d78f0f 100644 (file)
@@ -355,7 +355,10 @@ public class AltosDroid extends Activity {
        }
 
        void setFrequency(double freq) {
        }
 
        void setFrequency(double freq) {
-               
+               try {
+                       mService.send(Message.obtain(null, TelemetryService.MSG_SETFREQUENCY, freq));
+               } catch (RemoteException e) {
+               }
        }
 
        void setFrequency(String freq) {
        }
 
        void setFrequency(String freq) {
@@ -399,6 +402,7 @@ public class AltosDroid extends Activity {
                                                 }
                                         });
                        AlertDialog alert = builder.create();
                                                 }
                                         });
                        AlertDialog alert = builder.create();
+                       alert.show();
                        return true;
                }
                return false;
                        return true;
                }
                return false;
index ffe96946772a114f92c770c1cfb768b09200244a..6a1f1c5aee73bcad5b5e58af21632e59d45ee371 100644 (file)
@@ -52,6 +52,7 @@ public class TelemetryService extends Service {
        static final int MSG_CONNECT_FAILED    = 5;
        static final int MSG_DISCONNECTED      = 6;
        static final int MSG_TELEMETRY         = 7;
        static final int MSG_CONNECT_FAILED    = 5;
        static final int MSG_DISCONNECTED      = 6;
        static final int MSG_TELEMETRY         = 7;
+       static final int MSG_SETFREQUENCY      = 8;
 
        public static final int STATE_NONE       = 0;
        public static final int STATE_READY      = 1;
 
        public static final int STATE_NONE       = 0;
        public static final int STATE_READY      = 1;
@@ -126,6 +127,15 @@ public class TelemetryService extends Service {
                        case MSG_TELEMETRY:
                                s.sendMessageToClients(Message.obtain(null, AltosDroid.MSG_TELEMETRY, msg.obj));
                                break;
                        case MSG_TELEMETRY:
                                s.sendMessageToClients(Message.obtain(null, AltosDroid.MSG_TELEMETRY, msg.obj));
                                break;
+                       case MSG_SETFREQUENCY:
+                               if (s.state == STATE_CONNECTED) {
+                                       try {
+                                               s.mAltosBluetooth.set_radio_frequency((Double) msg.obj);
+                                       } catch (InterruptedException e) {
+                                       } catch (TimeoutException e) {
+                                       }
+                               }
+                               break;
                        default:
                                super.handleMessage(msg);
                        }
                        default:
                                super.handleMessage(msg);
                        }