1 package org.iotivity.service.sample.container;
\r
3 import android.app.Activity;
\r
4 import android.content.Context;
\r
5 import android.graphics.Color;
\r
6 import android.os.Bundle;
\r
7 import android.os.PowerManager;
\r
8 import android.os.PowerManager.WakeLock;
\r
9 import android.util.Log;
\r
10 import android.view.KeyEvent;
\r
11 import android.view.SurfaceHolder;
\r
12 import android.view.View;
\r
13 import android.view.WindowManager;
\r
16 * Torch is an LED flashlight.
\r
18 public class OicLightActivity extends Activity implements SurfaceHolder.Callback {
\r
20 private static final String TAG = OicLightActivity.class.getSimpleName();
\r
22 private static final String WAKE_LOCK_TAG = "TORCH_WAKE_LOCK";
\r
24 private View button;
\r
25 private View lightText;
\r
27 private WakeLock wakeLock;
\r
28 private boolean lightOn = false;
\r
30 private static OicLightActivity torch;
\r
32 public OicLightActivity() {
\r
37 public static OicLightActivity getTorch() {
\r
42 * Called by the view (see main.xml)
\r
44 public void toggleLight(View view) {
\r
48 private void toggleLight() {
\r
49 Log.i(OicLightActivity.class.getName(), "Toggle light");
\r
57 private void turnLightOn() {
\r
59 Log.i(OicLightActivity.class.getName(), "Turn light on");
\r
60 lightText.setBackgroundColor(Color.WHITE);
\r
63 private void turnLightOff() {
\r
65 Log.i(OicLightActivity.class.getName(), "Turn light off");
\r
66 lightText.setBackgroundColor(Color.BLACK);
\r
69 private void startWakeLock() {
\r
70 if (wakeLock == null) {
\r
71 Log.d(TAG, "wakeLock is null, getting a new WakeLock");
\r
72 PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
\r
73 Log.d(TAG, "PowerManager acquired");
\r
74 wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, WAKE_LOCK_TAG);
\r
75 Log.d(TAG, "WakeLock set");
\r
78 Log.d(TAG, "WakeLock acquired");
\r
81 private void stopWakeLock() {
\r
82 if (wakeLock != null) {
\r
84 Log.d(TAG, "WakeLock released");
\r
88 /** Called when the activity is first created. */
\r
90 public void onCreate(Bundle savedInstanceState) {
\r
91 super.onCreate(savedInstanceState);
\r
92 button.setOnClickListener(new View.OnClickListener() {
\r
94 public void onClick(View view) {
\r
98 disablePhoneSleep();
\r
99 Log.i(TAG, "onCreate");
\r
102 private void disablePhoneSleep() {
\r
103 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
\r
107 public void onRestart() {
\r
109 Log.i(TAG, "onRestart");
\r
113 public void onStart() {
\r
115 Log.i(TAG, "onStart");
\r
119 public void onResume() {
\r
122 Log.i(TAG, "onResume");
\r
126 public void onPause() {
\r
129 Log.i(TAG, "onPause");
\r
133 public void onStop() {
\r
136 Log.i(TAG, "onStop");
\r
140 public void onDestroy() {
\r
142 Log.i(TAG, "onDestroy");
\r
146 public boolean onKeyLongPress(int keyCode, KeyEvent event) {
\r
147 // When the search button is long pressed, quit
\r
148 if (keyCode == KeyEvent.KEYCODE_SEARCH) {
\r
156 public void surfaceChanged(SurfaceHolder holder, int I, int J, int K) {
\r
157 Log.d(TAG, "surfaceChanged");
\r
161 public void surfaceCreated(SurfaceHolder holder) {
\r
162 Log.d(TAG, "surfaceCreated");
\r
166 public void surfaceDestroyed(SurfaceHolder holder) {
\r
167 Log.d(TAG, "surfaceDestroyed");
\r