altosdroid: whitespace (spaces to tabs) (part1)
[fw/altos] / altosdroid / src / org / altusmetrum / AltosDroid / TelemetryService.java
index 40dff3549dc74e19eee79a31ddbc0b99c4e9b373..a4e85ad07294c1b2687d828da66e59ade1b6a17a 100644 (file)
@@ -1,17 +1,18 @@
 /*
- * Copyright (C) 2007 The Android Open Source Project
+ * Copyright © 2012 Mike Beattie <mike@ethernal.org>
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
  *
- *      http://www.apache.org/licenses/LICENSE-2.0
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
 package org.altusmetrum.AltosDroid;
@@ -33,11 +34,6 @@ import org.altusmetrum.AltosDroid.R;
 
 
 public class TelemetryService extends Service {
-    private NotificationManager mNM;
-
-    // Unique Identification Number for the Notification.
-    // We use it on Notification start, and to cancel it.
-    private int NOTIFICATION = R.string.telemetry_service_started;
 
     /**
      * Class for clients to access.  Because we know this service always
@@ -49,61 +45,62 @@ public class TelemetryService extends Service {
             return TelemetryService.this;
         }
     }
+       // Unique Identification Number for the Notification.
+       // We use it on Notification start, and to cancel it.
+       private int NOTIFICATION = R.string.telemetry_service_label;
+       private NotificationManager mNM;
 
-    @Override
+       @Override
     public void onCreate() {
-        mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
-
-        // Display a notification about us starting.  We put an icon in the status bar.
-        showNotification();
-    }
+               // Create a reference to the NotificationManager so that we can update our notifcation text later
+               mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
+       }
 
-    @Override
+       @Override
     public int onStartCommand(Intent intent, int flags, int startId) {
-        Log.i("TelemetryService", "Received start id " + startId + ": " + intent);
-        // We want this service to continue running until it is explicitly
-        // stopped, so return sticky.
-        return START_STICKY;
-    }
+               Log.i("TelemetryService", "Received start id " + startId + ": " + intent);
+
+               CharSequence text = getText(R.string.telemetry_service_started);
+
+               // Create notification to be displayed while the service runs
+               Notification notification = new Notification(R.drawable.am_status_c, text, 0);
+
+               // The PendingIntent to launch our activity if the user selects this notification
+               PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
+                new Intent(this, TelemetryServiceActivities.Controller.class), 0);
+
+               // Set the info for the views that show in the notification panel.
+               notification.setLatestEventInfo(this, getText(R.string.telemetry_service_label), text, contentIntent);
+
+               // Set the notification to be in the "Ongoing" section.
+               notification.flags |= Notification.FLAG_ONGOING_EVENT;
+
+               // Move us into the foreground.
+               startForeground(NOTIFICATION, notification);
+
+               // We want this service to continue running until it is explicitly
+               // stopped, so return sticky.
+               return START_STICKY;
+       }
 
-    @Override
+       @Override
     public void onDestroy() {
-        // Cancel the persistent notification.
-        mNM.cancel(NOTIFICATION);
 
-        // Tell the user we stopped.
-        Toast.makeText(this, R.string.telemetry_service_stopped, Toast.LENGTH_SHORT).show();
-    }
 
-    @Override
+               // Demote us from the foreground, and cancel the persistent notification.
+               stopForeground(true);
+
+               // Tell the user we stopped.
+               Toast.makeText(this, R.string.telemetry_service_stopped, Toast.LENGTH_SHORT).show();
+       }
+
+       @Override
     public IBinder onBind(Intent intent) {
         return mBinder;
-    }
+       }
 
     // This is the object that receives interactions from clients.  See
     // RemoteService for a more complete example.
     private final IBinder mBinder = new TelemetryBinder();
 
-    /**
-     * Show a notification while this service is running.
-     */
-    private void showNotification() {
-        // In this sample, we'll use the same text for the ticker and the expanded notification
-        CharSequence text = getText(R.string.telemetry_service_started);
-
-        // Set the icon, scrolling text and timestamp
-        Notification notification = new Notification(R.drawable.am_status, text,
-                System.currentTimeMillis());
-
-        // The PendingIntent to launch our activity if the user selects this notification
-        PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
-                new Intent(this, TelemetryServiceActivities.Controller.class), 0);
-
-        // Set the info for the views that show in the notification panel.
-        notification.setLatestEventInfo(this, getText(R.string.telemetry_service_label),
-                       text, contentIntent);
-
-        // Send the notification.
-        mNM.notify(NOTIFICATION, notification);
-    }
 }