Ability to change brightness of laptop screen

This commit is contained in:
Victor 2013-07-11 14:54:56 +03:00
parent 58f04e9a0a
commit b0d48bef52
8 changed files with 123 additions and 17 deletions

View File

@ -1,25 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.annimon.socketfiletransfer"
android:versionCode="1"
android:versionName="1.0" >
package="com.annimon.socketfiletransfer"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="17" />
android:minSdkVersion="7"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.annimon.socketfiletransfer.MainActivity"
android:label="@string/app_name" >
android:name="com.annimon.socketfiletransfer.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@ -42,12 +42,16 @@
</intent-filter>
</activity>
<activity
android:name="com.annimon.socketfiletransfer.MessagesActivity"
android:label="@string/title_activity_messages" >
android:name="com.annimon.socketfiletransfer.MessagesActivity"
android:label="@string/title_activity_messages" >
</activity>
<activity
android:name="com.annimon.socketfiletransfer.CursorActivity"
android:label="@string/title_activity_cursor" >
android:name="com.annimon.socketfiletransfer.CursorActivity"
android:label="@string/title_activity_cursor" >
</activity>
<activity
android:name="com.annimon.socketfiletransfer.BrightnessActivity"
android:label="@string/title_activity_brightness" >
</activity>
</application>

View File

@ -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) {
}
});
}
}

View File

@ -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;
}
}

View File

@ -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;
}

View File

@ -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);

View File

@ -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);
}
}

View File

@ -0,0 +1,19 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context=".BrightnessActivity">
<SeekBar android:id="@+id/brightness_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:max="10"
android:progress="2" />
</LinearLayout>

View File

@ -7,13 +7,15 @@
<string name="app_not_found">Application not found</string>
<string name="title_activity_messages">Messages</string>
<string name="title_activity_cursor">Cursor control</string>
<string name="title_activity_brightness">Brightness control</string>
<string name="send">Send</string>
<string-array name="main_menu">
<item>Start server</item>
<item>File transfer</item>
<item>Send message</item>
<item>Cursor control</item>
<item>@string/title_activity_cursor</item>
<item>@string/title_activity_brightness</item>
</string-array>
</resources>