PX30SmatekAPI/PX30SmatekAPI/.idea/compiler.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
PX30SmatekAPI/PX30SmatekAPI/.idea/gradle.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
PX30SmatekAPI/PX30SmatekAPI/.idea/jarRepositories.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
PX30SmatekAPI/PX30SmatekAPI/.idea/misc.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
PX30SmatekAPI/PX30SmatekAPI/.idea/vcs.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
PX30SmatekAPI/PX30SmatekAPI/app/src/main/AndroidManifest.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
PX30SmatekAPI/PX30SmatekAPI/app/src/main/java/com/smatek/px30smatekapi/MainActivity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
PX30SmatekAPI/PX30SmatekAPI/app/src/main/java/com/smatek/px30smatekapi/MyBroadcastReceiver.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
PX30SmatekAPI/PX30SmatekAPI/app/src/main/java/com/smatek/px30smatekapi/MySensorEventListener.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
PX30SmatekAPI/PX30SmatekAPI/.idea/compiler.xml
New file @@ -0,0 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="CompilerConfiguration"> <bytecodeTargetLevel target="1.8" /> </component> </project> PX30SmatekAPI/PX30SmatekAPI/.idea/gradle.xml
@@ -1,15 +1,21 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="GradleMigrationSettings" migrationVersion="1" /> <component name="GradleSettings"> <option name="linkedExternalProjectsSettings"> <GradleProjectSettings> <compositeConfiguration> <compositeBuild compositeDefinitionSource="SCRIPT" /> </compositeConfiguration> <option name="delegatedBuild" value="false" /> <option name="testRunner" value="PLATFORM" /> <option name="distributionType" value="DEFAULT_WRAPPED" /> <option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="modules"> <set> <option value="$PROJECT_DIR$" /> <option value="$PROJECT_DIR$/app" /> </set> </option> <option name="resolveModulePerSourceSet" value="false" /> <option name="testRunner" value="PLATFORM" /> <option name="useQualifiedModuleNames" value="true" /> </GradleProjectSettings> </option> </component> PX30SmatekAPI/PX30SmatekAPI/.idea/jarRepositories.xml
New file @@ -0,0 +1,25 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="RemoteRepositoriesConfiguration"> <remote-repository> <option name="id" value="central" /> <option name="name" value="Maven Central repository" /> <option name="url" value="https://repo1.maven.org/maven2" /> </remote-repository> <remote-repository> <option name="id" value="jboss.community" /> <option name="name" value="JBoss Community repository" /> <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" /> </remote-repository> <remote-repository> <option name="id" value="BintrayJCenter" /> <option name="name" value="BintrayJCenter" /> <option name="url" value="https://jcenter.bintray.com/" /> </remote-repository> <remote-repository> <option name="id" value="Google" /> <option name="name" value="Google" /> <option name="url" value="https://dl.google.com/dl/android/maven2/" /> </remote-repository> </component> </project> PX30SmatekAPI/PX30SmatekAPI/.idea/misc.xml
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="JDK" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="JDK" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/build/classes" /> </component> <component name="ProjectType"> PX30SmatekAPI/PX30SmatekAPI/.idea/vcs.xml
New file @@ -0,0 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="VcsDirectoryMappings"> <mapping directory="$PROJECT_DIR$/../.." vcs="Git" /> </component> </project> PX30SmatekAPI/PX30SmatekAPI/app/src/main/AndroidManifest.xml
@@ -16,6 +16,13 @@ <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name=".MyBroadcastReceiver" > <intent-filter > <action android:name="com.smatek.node.change.state"/> </intent-filter> </receiver> </application> </manifest> PX30SmatekAPI/PX30SmatekAPI/app/src/main/java/com/smatek/px30smatekapi/MainActivity.java
@@ -4,6 +4,10 @@ import android.app.SmatekManager; import android.content.Context; import android.content.Intent; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.media.AudioManager; import android.os.Build; import android.os.SystemClock; @@ -26,6 +30,8 @@ import com.smatek.px30smatekapi.utils.EthernetUtils; import java.lang.reflect.Method; import static android.content.ContentValues.TAG; public class MainActivity extends AppCompatActivity implements View.OnClickListener, SeekBar.OnSeekBarChangeListener { @@ -53,6 +59,10 @@ private static String TAG = "MainActivity"; private MyISmatekListener myISmatekListener; private SensorManager mSensorManager; private MySensorEventListener sensorEventListener;//光线距离传感器 private int screenBrightness = 100; @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR2) @Override @@ -63,6 +73,13 @@ smatekManager = (SmatekManager) getSystemService("smatek"); myISmatekListener = new MyISmatekListener(); smatekManager.addSmatekListener(myISmatekListener); //光线距离传感器 mSensorManager = (SensorManager)this.getSystemService(this.SENSOR_SERVICE); sensorEventListener = new MySensorEventListener(); Sensor als = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); mSensorManager.registerListener(sensorEventListener, als,SensorManager.SENSOR_DELAY_NORMAL); Sensor ps = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); mSensorManager.registerListener(sensorEventListener, ps,SensorManager.SENSOR_DELAY_NORMAL); } @@ -298,6 +315,7 @@ smatekManager.setLcdBlackLight(true); break; case R.id.btn_close_back_light: // isScreenClose = true; smatekManager.setLcdBlackLight(false); break; case R.id.btn_statusBar_show: @@ -392,6 +410,7 @@ break; case R.id.btn_screen: isScreenClose = true; smatekManager.openOrCloseScreen(true); break; case R.id.btn_screen_open: @@ -566,7 +585,7 @@ @Override public void onKeyEvent(int i, int i1) { Log.e(TAG, " i :" + i + " i1 :" + i1); Log.e(TAG, " 小板事件Key i :" + i + " i1 :" + i1); } @Override @@ -584,4 +603,61 @@ } } boolean isScreenClose = false; //检测光感距离小于30cm,小于如果屏幕关闭则重新打开 private void checkWakeUpScreen(float mPROXIMITY){ if((65535.0 - mPROXIMITY) < 30){ Log.e(TAG, "小板 检测光感距离小于30"); //光感距离小于30cm if(isScreenClose){ isScreenClose = false; //打开屏幕背光 Log.e(TAG, "小板 重新打开屏幕"); smatekManager.openOrCloseScreen(false); } } } long setTime = 0; //自动调节亮度 private void autoSetScreenBrightness(float mLIGHT){ long timecurrentTimeMillis = System.currentTimeMillis(); if((timecurrentTimeMillis - setTime) < 200) return; //每200ms改变一次 setTime = timecurrentTimeMillis; double percent = 1 - (mLIGHT / 9535.0); screenBrightness = (int)(percent * 255); if(screenBrightness > 255){ screenBrightness = 255; } if(screenBrightness < 0){ screenBrightness = 0; } Log.e(TAG, "小板 自动调节亮度:"+screenBrightness); smatekManager.setBrightness(screenBrightness); } private final class MySensorEventListener implements SensorEventListener { @Override public void onSensorChanged(SensorEvent event) { if(event.sensor.getType() == Sensor.TYPE_LIGHT) { Log.e(TAG, "小板 光感亮度 values = " + event.values[0]); autoSetScreenBrightness(event.values[0]); } else if (event.sensor.getType() == Sensor.TYPE_PROXIMITY){ Log.e(TAG, "小板 光感距离 values = " +event.values[0]); checkWakeUpScreen(event.values[0]); } } @Override public void onAccuracyChanged(Sensor sensor, int accuracy){ } } } PX30SmatekAPI/PX30SmatekAPI/app/src/main/java/com/smatek/px30smatekapi/MyBroadcastReceiver.java
New file @@ -0,0 +1,29 @@ package com.smatek.px30smatekapi; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if(action!=null && action.equals("com.smatek.node.change.state")){ String node_path = intent.getStringExtra("node_path"); if(node_path!=null){ if(node_path.equals("sys/class/switch/keyc1_check/state")){ int stateValue = intent.getIntExtra("state_value", -1); Log.i("HDLMyBroadcastReceiver","小板开关事件 stateValue# :"+stateValue); } } } } } PX30SmatekAPI/PX30SmatekAPI/app/src/main/java/com/smatek/px30smatekapi/MySensorEventListener.java
New file @@ -0,0 +1,4 @@ package com.smatek.px30smatekapi; public class MySensorEventListener { }