From 94ce3f20882a3038f253b6fccfa9eb820df13ad7 Mon Sep 17 00:00:00 2001 From: Joe Malin Date: Sat, 5 Jun 2010 14:03:42 -0700 Subject: [PATCH] Cherry pick from master: Sample app and test package for a Service --- samples/Alarm/AndroidManifest.xml | 54 +++++ samples/Alarm/_index.html | 29 +++ samples/Alarm/res/drawable/icon.png | Bin 0 -> 5198 bytes samples/Alarm/res/drawable/stat_sample.png | Bin 0 -> 364 bytes samples/Alarm/res/layout/main.xml | 44 ++++ samples/Alarm/res/values/strings.xml | 29 +++ .../android/newalarm/AlarmActivity.java | 133 +++++++++++ .../android/newalarm/AlarmService.java | 216 ++++++++++++++++++ samples/Alarm/tests/AndroidManifest.xml | 54 +++++ samples/Alarm/tests/_index.html | 50 ++++ .../android/newalarm/AlarmServiceTest.java | 86 +++++++ 11 files changed, 695 insertions(+) create mode 100644 samples/Alarm/AndroidManifest.xml create mode 100644 samples/Alarm/_index.html create mode 100644 samples/Alarm/res/drawable/icon.png create mode 100755 samples/Alarm/res/drawable/stat_sample.png create mode 100644 samples/Alarm/res/layout/main.xml create mode 100644 samples/Alarm/res/values/strings.xml create mode 100644 samples/Alarm/src/com/example/android/newalarm/AlarmActivity.java create mode 100644 samples/Alarm/src/com/example/android/newalarm/AlarmService.java create mode 100644 samples/Alarm/tests/AndroidManifest.xml create mode 100644 samples/Alarm/tests/_index.html create mode 100644 samples/Alarm/tests/src/com/example/android/newalarm/AlarmServiceTest.java diff --git a/samples/Alarm/AndroidManifest.xml b/samples/Alarm/AndroidManifest.xml new file mode 100644 index 000000000..6a7a831a8 --- /dev/null +++ b/samples/Alarm/AndroidManifest.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + diff --git a/samples/Alarm/_index.html b/samples/Alarm/_index.html new file mode 100644 index 000000000..dff51ce94 --- /dev/null +++ b/samples/Alarm/_index.html @@ -0,0 +1,29 @@ +

+ This sample is a revised version of the AlarmService functionality included in the + ApiDemos sample application. It is used as the application under test + for the Alarm Service Test + sample test application. +

+

+ This application demonstrates a simple Android service that is started when needed by + Context.startService(Intent) and stops itself when its work is done. You can + use this type of service to move long-running or periodic tasks into the background. For + example, you could use this type of service to perform data synchronization. +

+

+ In the sample, the service simply runs for 15 seconds and then stops itself. The wait is + implemented in a separate thread that uses a thread-safe object. This illustrates how to + set up a service that runs multiple threads that depend on one or more objects that must be + made thread-safe. +

+

+ The application also contains the AlarmActivity activity that is a client of the + service. You use the activity to control when the service starts and stops. By default, the + activity fires off the service every thirty seconds. In effect, the service starts after + thirty seconds, runs for 15 seconds, stops, and then runs again automatically in another + 15 seconds. You also use the client to stop this cycle. +

+

+ The test application AlarmServiceTest + shows you how to set up a test of this service. +

diff --git a/samples/Alarm/res/drawable/icon.png b/samples/Alarm/res/drawable/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae7701a8a852004ec21f3f584392dccda43929d GIT binary patch literal 5198 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 IM6N<$f@LhcdjJ3c literal 0 HcmV?d00001 diff --git a/samples/Alarm/res/drawable/stat_sample.png b/samples/Alarm/res/drawable/stat_sample.png new file mode 100755 index 0000000000000000000000000000000000000000..6c9ba0a979c194794699c3333d8e97e6fe6ca6ed GIT binary patch literal 364 zcmV-y0h9iTP)`iUM4S@I$k_A_Rn3_RdehBK*UxHlHVLHI2Y3sGt~ zC>YKo8Cn4i9vHu!QVY_M3DwqL&Sk$y5$)6`R+0I1Mj19=4IU<=@!*$Uzl|3G{2}tUmK;w-d*n*_# z7!m64k&~Nt2n+nslC3ncnW~Y5I73dhOK~ZRMaxtYBv@ciDA{tNWvVnX@=ZIw zxU0ZXpizROV1|pLrDtkkP>67XBDM#Jt!YpL@&WM|nzt$d0t^5URGT;xOZ`Xy0000< KMNUMnLSTa4GmKUM literal 0 HcmV?d00001 diff --git a/samples/Alarm/res/layout/main.xml b/samples/Alarm/res/layout/main.xml new file mode 100644 index 000000000..3d79e2ba5 --- /dev/null +++ b/samples/Alarm/res/layout/main.xml @@ -0,0 +1,44 @@ + + + + + + + + + +