From b0d48bef527ea17154343092da4976772101735f Mon Sep 17 00:00:00 2001 From: Victor Date: Thu, 11 Jul 2013 14:54:56 +0300 Subject: [PATCH] Ability to change brightness of laptop screen --- .../src/main/AndroidManifest.xml | 34 +++++++++++-------- .../BrightnessActivity.java | 34 +++++++++++++++++++ .../socketfiletransfer/MainActivity.java | 5 +++ .../socketfiletransfer/OperationListener.java | 7 +++- .../socketfiletransfer/OperationManager.java | 4 +++ .../operations/BrightnessOperation.java | 33 ++++++++++++++++++ .../main/res/layout/activity_brightness.xml | 19 +++++++++++ .../src/main/res/values/strings.xml | 4 ++- 8 files changed, 123 insertions(+), 17 deletions(-) create mode 100644 SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/BrightnessActivity.java create mode 100644 SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/operations/BrightnessOperation.java create mode 100644 SocketFileTransfer/src/main/res/layout/activity_brightness.xml diff --git a/SocketFileTransfer/src/main/AndroidManifest.xml b/SocketFileTransfer/src/main/AndroidManifest.xml index 930d4de..aed84f4 100644 --- a/SocketFileTransfer/src/main/AndroidManifest.xml +++ b/SocketFileTransfer/src/main/AndroidManifest.xml @@ -1,25 +1,25 @@ + package="com.annimon.socketfiletransfer" + android:versionCode="1" + android:versionName="1.0" > + android:minSdkVersion="7" + android:targetSdkVersion="17" /> + android:allowBackup="true" + android:icon="@drawable/ic_launcher" + android:label="@string/app_name" + android:theme="@style/AppTheme" > + android:name="com.annimon.socketfiletransfer.MainActivity" + android:label="@string/app_name" > @@ -42,12 +42,16 @@ + android:name="com.annimon.socketfiletransfer.MessagesActivity" + android:label="@string/title_activity_messages" > + android:name="com.annimon.socketfiletransfer.CursorActivity" + android:label="@string/title_activity_cursor" > + + diff --git a/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/BrightnessActivity.java b/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/BrightnessActivity.java new file mode 100644 index 0000000..42cf9a8 --- /dev/null +++ b/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/BrightnessActivity.java @@ -0,0 +1,34 @@ +package com.annimon.socketfiletransfer; + +import android.os.Bundle; +import android.app.Activity; +import android.widget.SeekBar; + +public class BrightnessActivity extends Activity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_brightness); + + SeekBar brightnessBar = (SeekBar) findViewById(R.id.brightness_bar); + brightnessBar.setOnSeekBarChangeListener( new SeekBar.OnSeekBarChangeListener() { + @Override + public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { + String value = String.valueOf(progress * 10); + new SocketTransferTask(OperationListener.MODE_BRIGHTNESS_CHANGE).execute(value); + } + + @Override + public void onStartTrackingTouch(SeekBar seekBar) { + + } + + @Override + public void onStopTrackingTouch(SeekBar seekBar) { + + } + }); + } + +} diff --git a/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/MainActivity.java b/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/MainActivity.java index feaab22..e52b272 100644 --- a/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/MainActivity.java +++ b/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/MainActivity.java @@ -78,6 +78,11 @@ public class MainActivity extends Activity implements View.OnClickListener { Intent curIntent = new Intent(this, CursorActivity.class); startActivity(curIntent); break; + + case OperationListener.MODE_BRIGHTNESS_CHANGE: + Intent brIntent = new Intent(this, BrightnessActivity.class); + startActivity(brIntent); + break; } } diff --git a/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/OperationListener.java b/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/OperationListener.java index ee1a30d..e340750 100644 --- a/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/OperationListener.java +++ b/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/OperationListener.java @@ -1,5 +1,6 @@ package com.annimon.socketfiletransfer; +import com.annimon.socketfiletransfer.operations.BrightnessOperation; import com.annimon.socketfiletransfer.operations.MessageOperation; import com.annimon.socketfiletransfer.operations.FileOperation; import com.annimon.socketfiletransfer.operations.Operation; @@ -19,7 +20,8 @@ public class OperationListener { MODE_SERVER = 0, MODE_FILE_TRANSFER = 1, MODE_MESSAGE_TRANSFER = 2, - MODE_CURSOR_CONTROL = 3; + MODE_CURSOR_CONTROL = 3, + MODE_BRIGHTNESS_CHANGE = 4; protected DataInputStream dis; protected DataOutputStream dos; @@ -46,6 +48,9 @@ public class OperationListener { // case MODE_CURSOR_CONTROL: // operation = new CursorOperation(dis); // break; + case MODE_BRIGHTNESS_CHANGE: + operation = new BrightnessOperation(dis); + break; default: return; } diff --git a/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/OperationManager.java b/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/OperationManager.java index 60c3f17..9763a65 100644 --- a/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/OperationManager.java +++ b/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/OperationManager.java @@ -1,5 +1,6 @@ package com.annimon.socketfiletransfer; +import com.annimon.socketfiletransfer.operations.BrightnessOperation; import com.annimon.socketfiletransfer.operations.CursorOperation; import com.annimon.socketfiletransfer.operations.FileOperation; import com.annimon.socketfiletransfer.operations.MessageOperation; @@ -23,6 +24,9 @@ public class OperationManager extends OperationListener { case MODE_CURSOR_CONTROL: operation = new CursorOperation(dos); break; + case MODE_BRIGHTNESS_CHANGE: + operation = new BrightnessOperation(dos); + break; } if (operation != null) { operation.startClientSide(params); diff --git a/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/operations/BrightnessOperation.java b/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/operations/BrightnessOperation.java new file mode 100644 index 0000000..bca3243 --- /dev/null +++ b/SocketFileTransfer/src/main/java/com/annimon/socketfiletransfer/operations/BrightnessOperation.java @@ -0,0 +1,33 @@ +package com.annimon.socketfiletransfer.operations; + +import com.annimon.socketfiletransfer.OperationListener; + +import java.io.DataInputStream; +import java.io.DataOutputStream; + +/** + * @author aNNiMON + */ +public class BrightnessOperation extends Operation { + + public BrightnessOperation(DataInputStream dis) { + this.dis = dis; + } + + public BrightnessOperation(DataOutputStream dos) { + this.dos = dos; + } + + @Override + public void startServerSide() throws Exception { + + } + + @Override + public void startClientSide(Object... params) throws Exception { + String value = (String) params[0]; + + dos.writeInt(OperationListener.MODE_BRIGHTNESS_CHANGE); + dos.writeUTF(value); + } +} diff --git a/SocketFileTransfer/src/main/res/layout/activity_brightness.xml b/SocketFileTransfer/src/main/res/layout/activity_brightness.xml new file mode 100644 index 0000000..92448d6 --- /dev/null +++ b/SocketFileTransfer/src/main/res/layout/activity_brightness.xml @@ -0,0 +1,19 @@ + + + + + diff --git a/SocketFileTransfer/src/main/res/values/strings.xml b/SocketFileTransfer/src/main/res/values/strings.xml index f8e2487..957a823 100644 --- a/SocketFileTransfer/src/main/res/values/strings.xml +++ b/SocketFileTransfer/src/main/res/values/strings.xml @@ -7,13 +7,15 @@ Application not found Messages Cursor control + Brightness control Send Start server File transfer Send message - Cursor control + @string/title_activity_cursor + @string/title_activity_brightness