mirror of
https://github.com/rtlduino/RTL8710AF_GCC.git
synced 2025-07-31 20:21:04 +00:00
motify compile link error
motify compile link error
This commit is contained in:
parent
923914edae
commit
03e74a8e50
5418 changed files with 1367914 additions and 206149 deletions
|
|
@ -1,13 +1,13 @@
|
|||
/**
|
||||
* Automatically generated file. DO NOT MODIFY
|
||||
*/
|
||||
package com.realtek.uartthrough.test;
|
||||
|
||||
public final class BuildConfig {
|
||||
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
||||
public static final String APPLICATION_ID = "com.realtek.uartthrough.test";
|
||||
public static final String BUILD_TYPE = "debug";
|
||||
public static final String FLAVOR = "";
|
||||
public static final int VERSION_CODE = -1;
|
||||
public static final String VERSION_NAME = "";
|
||||
}
|
||||
/**
|
||||
* Automatically generated file. DO NOT MODIFY
|
||||
*/
|
||||
package com.realtek.uartthrough.test;
|
||||
|
||||
public final class BuildConfig {
|
||||
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
||||
public static final String APPLICATION_ID = "com.realtek.uartthrough.test";
|
||||
public static final String BUILD_TYPE = "debug";
|
||||
public static final String FLAVOR = "";
|
||||
public static final int VERSION_CODE = -1;
|
||||
public static final String VERSION_NAME = "";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
/**
|
||||
* Automatically generated file. DO NOT MODIFY
|
||||
*/
|
||||
package com.realtek.uartthrough;
|
||||
|
||||
public final class BuildConfig {
|
||||
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
||||
public static final String APPLICATION_ID = "com.realtek.uartthrough";
|
||||
public static final String BUILD_TYPE = "debug";
|
||||
public static final String FLAVOR = "";
|
||||
public static final int VERSION_CODE = 1;
|
||||
public static final String VERSION_NAME = "";
|
||||
}
|
||||
/**
|
||||
* Automatically generated file. DO NOT MODIFY
|
||||
*/
|
||||
package com.realtek.uartthrough;
|
||||
|
||||
public final class BuildConfig {
|
||||
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
||||
public static final String APPLICATION_ID = "com.realtek.uartthrough";
|
||||
public static final String BUILD_TYPE = "debug";
|
||||
public static final String FLAVOR = "";
|
||||
public static final int VERSION_CODE = 1;
|
||||
public static final String VERSION_NAME = "";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet config="main"><source path="D:\temp\android\mdis_discovery\UartThrough1\app\src\androidTest\assets"/></dataSet></merger>
|
||||
|
|
@ -1,2 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet config="main"><source path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\assets"/></dataSet><dataSet config="debug"><source path="D:\temp\android\mdis_discovery\UartThrough1\app\src\debug\assets"/></dataSet></merger>
|
||||
|
|
@ -1,2 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet config="main"><source path="D:\temp\android\mdis_discovery\UartThrough1\app\src\androidTest\res"/><source path="D:\temp\android\mdis_discovery\UartThrough1\app\build\generated\res\rs\androidTest\debug"/><source path="D:\temp\android\mdis_discovery\UartThrough1\app\build\generated\res\generated\androidTest\debug"/></dataSet><mergedItems/></merger>
|
||||
|
|
@ -1,14 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet config="main"><source path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res"><file name="add" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\add.png" qualifiers="" type="drawable"/><file name="back" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\back.png" qualifiers="" type="drawable"/><file name="bg_index01" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\bg_index01.png" qualifiers="" type="drawable"/><file name="bg_index1" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\bg_index1.png" qualifiers="" type="drawable"/><file name="device" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\device.png" qualifiers="" type="drawable"/><file name="logo" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\logo.png" qualifiers="" type="drawable"/><file name="logo1" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\logo1.png" qualifiers="" type="drawable"/><file name="search" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\search.png" qualifiers="" type="drawable"/><file name="setting" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\setting.png" qualifiers="" type="drawable"/><file name="ic_launcher" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable-hdpi\ic_launcher.png" qualifiers="hdpi-v4" type="drawable"/><file name="ic_launcher" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable-mdpi\ic_launcher.png" qualifiers="mdpi-v4" type="drawable"/><file name="ic_launcher" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable-xhdpi\ic_launcher.png" qualifiers="xhdpi-v4" type="drawable"/><file name="ic_launcher" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable-xxhdpi\ic_launcher.png" qualifiers="xxhdpi-v4" type="drawable"/><file name="activity_chat" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\layout\activity_chat.xml" qualifiers="" type="layout"/><file name="activity_main" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\layout\activity_main.xml" qualifiers="" type="layout"/><file name="layout_item" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\layout\layout_item.xml" qualifiers="" type="layout"/><file name="layout_item_setting" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\layout\layout_item_setting.xml" qualifiers="" type="layout"/><file name="setting_serialport" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\layout\setting_serialport.xml" qualifiers="" type="layout"/><file name="chat" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\menu\chat.xml" qualifiers="" type="menu"/><file name="main" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\menu\main.xml" qualifiers="" type="menu"/><file path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\values\dimens.xml" qualifiers=""><dimen name="activity_horizontal_margin">16dp</dimen><dimen name="activity_vertical_margin">16dp</dimen></file><file path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\values\strings.xml" qualifiers=""><string name="title_activity_chat">ChatActivity</string><string name="action_settings">Settings</string><string name="app_name">UartThrough</string><string name="hello_world">Hello world!</string></file><file path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\values\styles.xml" qualifiers=""><style name="AppBaseTheme" parent="android:Theme.Light">
|
||||
<!--
|
||||
Theme customizations available in newer API levels can go in
|
||||
res/values-vXX/styles.xml, while customizations related to
|
||||
backward-compatibility can go here.
|
||||
-->
|
||||
</style><style name="AppTheme" parent="AppBaseTheme">
|
||||
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
|
||||
</style></file><file path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\values-sw720dp-land\dimens.xml" qualifiers="sw720dp-land-v13"><dimen name="activity_horizontal_margin">128dp</dimen></file><file path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\values-v11\styles.xml" qualifiers="v11"><style name="AppBaseTheme" parent="android:Theme.Holo.Light">
|
||||
<!-- API 11 theme customizations can go here. -->
|
||||
</style></file><file path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\values-v14\styles.xml" qualifiers="v14"><style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
|
||||
<!-- API 14 theme customizations can go here. -->
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet config="main"><source path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res"><file name="add" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\add.png" qualifiers="" type="drawable"/><file name="back" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\back.png" qualifiers="" type="drawable"/><file name="bg_index01" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\bg_index01.png" qualifiers="" type="drawable"/><file name="bg_index1" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\bg_index1.png" qualifiers="" type="drawable"/><file name="device" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\device.png" qualifiers="" type="drawable"/><file name="logo" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\logo.png" qualifiers="" type="drawable"/><file name="logo1" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\logo1.png" qualifiers="" type="drawable"/><file name="search" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\search.png" qualifiers="" type="drawable"/><file name="setting" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable\setting.png" qualifiers="" type="drawable"/><file name="ic_launcher" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable-hdpi\ic_launcher.png" qualifiers="hdpi-v4" type="drawable"/><file name="ic_launcher" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable-mdpi\ic_launcher.png" qualifiers="mdpi-v4" type="drawable"/><file name="ic_launcher" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable-xhdpi\ic_launcher.png" qualifiers="xhdpi-v4" type="drawable"/><file name="ic_launcher" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\drawable-xxhdpi\ic_launcher.png" qualifiers="xxhdpi-v4" type="drawable"/><file name="activity_chat" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\layout\activity_chat.xml" qualifiers="" type="layout"/><file name="activity_main" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\layout\activity_main.xml" qualifiers="" type="layout"/><file name="layout_item" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\layout\layout_item.xml" qualifiers="" type="layout"/><file name="layout_item_setting" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\layout\layout_item_setting.xml" qualifiers="" type="layout"/><file name="setting_serialport" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\layout\setting_serialport.xml" qualifiers="" type="layout"/><file name="chat" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\menu\chat.xml" qualifiers="" type="menu"/><file name="main" path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\menu\main.xml" qualifiers="" type="menu"/><file path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\values\dimens.xml" qualifiers=""><dimen name="activity_horizontal_margin">16dp</dimen><dimen name="activity_vertical_margin">16dp</dimen></file><file path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\values\strings.xml" qualifiers=""><string name="title_activity_chat">ChatActivity</string><string name="action_settings">Settings</string><string name="app_name">UartThrough</string><string name="hello_world">Hello world!</string></file><file path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\values\styles.xml" qualifiers=""><style name="AppBaseTheme" parent="android:Theme.Light">
|
||||
<!--
|
||||
Theme customizations available in newer API levels can go in
|
||||
res/values-vXX/styles.xml, while customizations related to
|
||||
backward-compatibility can go here.
|
||||
-->
|
||||
</style><style name="AppTheme" parent="AppBaseTheme">
|
||||
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
|
||||
</style></file><file path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\values-sw720dp-land\dimens.xml" qualifiers="sw720dp-land-v13"><dimen name="activity_horizontal_margin">128dp</dimen></file><file path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\values-v11\styles.xml" qualifiers="v11"><style name="AppBaseTheme" parent="android:Theme.Holo.Light">
|
||||
<!-- API 11 theme customizations can go here. -->
|
||||
</style></file><file path="D:\temp\android\mdis_discovery\UartThrough1\app\src\main\res\values-v14\styles.xml" qualifiers="v14"><style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
|
||||
<!-- API 14 theme customizations can go here. -->
|
||||
</style></file></source><source path="D:\temp\android\mdis_discovery\UartThrough1\app\build\generated\res\rs\debug"/><source path="D:\temp\android\mdis_discovery\UartThrough1\app\build\generated\res\generated\debug"/></dataSet><dataSet config="debug"><source path="D:\temp\android\mdis_discovery\UartThrough1\app\src\debug\res"/></dataSet><mergedItems/></merger>
|
||||
|
|
@ -1,16 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.realtek.uartthrough.test">
|
||||
|
||||
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" />
|
||||
|
||||
<application>
|
||||
<uses-library android:name="android.test.runner" />
|
||||
</application>
|
||||
|
||||
<instrumentation android:name="android.test.InstrumentationTestRunner"
|
||||
android:targetPackage="com.realtek.uartthrough"
|
||||
android:handleProfiling="false"
|
||||
android:functionalTest="false"
|
||||
android:label="Tests for com.realtek.uartthrough"/>
|
||||
</manifest>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.realtek.uartthrough.test">
|
||||
|
||||
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" />
|
||||
|
||||
<application>
|
||||
<uses-library android:name="android.test.runner" />
|
||||
</application>
|
||||
|
||||
<instrumentation android:name="android.test.InstrumentationTestRunner"
|
||||
android:targetPackage="com.realtek.uartthrough"
|
||||
android:handleProfiling="false"
|
||||
android:functionalTest="false"
|
||||
android:label="Tests for com.realtek.uartthrough"/>
|
||||
</manifest>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- From: file:/D:/temp/android/mdis_discovery/UartThrough1/app/src/main/res/values-sw720dp-land/dimens.xml -->
|
||||
<eat-comment/>
|
||||
<dimen name="activity_horizontal_margin">128dp</dimen>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- From: file:/D:/temp/android/mdis_discovery/UartThrough1/app/src/main/res/values-sw720dp-land/dimens.xml -->
|
||||
<eat-comment/>
|
||||
<dimen name="activity_horizontal_margin">128dp</dimen>
|
||||
</resources>
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- From: file:/D:/temp/android/mdis_discovery/UartThrough1/app/src/main/res/values-v11/styles.xml -->
|
||||
<eat-comment/>
|
||||
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
|
||||
<!-- API 11 theme customizations can go here. -->
|
||||
</style>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- From: file:/D:/temp/android/mdis_discovery/UartThrough1/app/src/main/res/values-v11/styles.xml -->
|
||||
<eat-comment/>
|
||||
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
|
||||
<!-- API 11 theme customizations can go here. -->
|
||||
</style>
|
||||
</resources>
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- From: file:/D:/temp/android/mdis_discovery/UartThrough1/app/src/main/res/values-v14/styles.xml -->
|
||||
<eat-comment/>
|
||||
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
|
||||
<!-- API 14 theme customizations can go here. -->
|
||||
</style>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- From: file:/D:/temp/android/mdis_discovery/UartThrough1/app/src/main/res/values-v14/styles.xml -->
|
||||
<eat-comment/>
|
||||
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
|
||||
<!-- API 14 theme customizations can go here. -->
|
||||
</style>
|
||||
</resources>
|
||||
|
|
@ -1,25 +1,25 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- From: file:/D:/temp/android/mdis_discovery/UartThrough1/app/src/main/res/values/dimens.xml -->
|
||||
<eat-comment/>
|
||||
<dimen name="activity_horizontal_margin">16dp</dimen>
|
||||
<dimen name="activity_vertical_margin">16dp</dimen>
|
||||
<!-- From: file:/D:/temp/android/mdis_discovery/UartThrough1/app/src/main/res/values/strings.xml -->
|
||||
<eat-comment/>
|
||||
<string name="action_settings">Settings</string>
|
||||
<string name="app_name">UartThrough</string>
|
||||
<string name="hello_world">Hello world!</string>
|
||||
<string name="title_activity_chat">ChatActivity</string>
|
||||
<!-- From: file:/D:/temp/android/mdis_discovery/UartThrough1/app/src/main/res/values/styles.xml -->
|
||||
<eat-comment/>
|
||||
<style name="AppBaseTheme" parent="android:Theme.Light">
|
||||
<!--
|
||||
Theme customizations available in newer API levels can go in
|
||||
res/values-vXX/styles.xml, while customizations related to
|
||||
backward-compatibility can go here.
|
||||
-->
|
||||
</style>
|
||||
<style name="AppTheme" parent="AppBaseTheme">
|
||||
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
|
||||
</style>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- From: file:/D:/temp/android/mdis_discovery/UartThrough1/app/src/main/res/values/dimens.xml -->
|
||||
<eat-comment/>
|
||||
<dimen name="activity_horizontal_margin">16dp</dimen>
|
||||
<dimen name="activity_vertical_margin">16dp</dimen>
|
||||
<!-- From: file:/D:/temp/android/mdis_discovery/UartThrough1/app/src/main/res/values/strings.xml -->
|
||||
<eat-comment/>
|
||||
<string name="action_settings">Settings</string>
|
||||
<string name="app_name">UartThrough</string>
|
||||
<string name="hello_world">Hello world!</string>
|
||||
<string name="title_activity_chat">ChatActivity</string>
|
||||
<!-- From: file:/D:/temp/android/mdis_discovery/UartThrough1/app/src/main/res/values/styles.xml -->
|
||||
<eat-comment/>
|
||||
<style name="AppBaseTheme" parent="android:Theme.Light">
|
||||
<!--
|
||||
Theme customizations available in newer API levels can go in
|
||||
res/values-vXX/styles.xml, while customizations related to
|
||||
backward-compatibility can go here.
|
||||
-->
|
||||
</style>
|
||||
<style name="AppTheme" parent="AppBaseTheme">
|
||||
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
|
||||
</style>
|
||||
</resources>
|
||||
|
|
@ -1,75 +1,75 @@
|
|||
-- Merging decision tree log ---
|
||||
manifest
|
||||
ADDED from AndroidManifest.xml:2:1
|
||||
xmlns:android
|
||||
ADDED from AndroidManifest.xml:2:11
|
||||
package
|
||||
ADDED from AndroidManifest.xml:3:5
|
||||
INJECTED from AndroidManifest.xml:0:0
|
||||
INJECTED from AndroidManifest.xml:0:0
|
||||
android:versionName
|
||||
ADDED from AndroidManifest.xml:5:5
|
||||
android:versionCode
|
||||
ADDED from AndroidManifest.xml:4:5
|
||||
INJECTED from AndroidManifest.xml:0:0
|
||||
INJECTED from AndroidManifest.xml:0:0
|
||||
uses-sdk
|
||||
ADDED from AndroidManifest.xml:7:5
|
||||
android:targetSdkVersion
|
||||
ADDED from AndroidManifest.xml:9:9
|
||||
INJECTED from AndroidManifest.xml:0:0
|
||||
INJECTED from AndroidManifest.xml:0:0
|
||||
android:minSdkVersion
|
||||
ADDED from AndroidManifest.xml:8:9
|
||||
INJECTED from AndroidManifest.xml:0:0
|
||||
INJECTED from AndroidManifest.xml:0:0
|
||||
uses-permission#android.permission.ACCESS_WIFI_STATE
|
||||
ADDED from AndroidManifest.xml:11:5
|
||||
android:required
|
||||
ADDED from AndroidManifest.xml:13:9
|
||||
android:name
|
||||
ADDED from AndroidManifest.xml:12:9
|
||||
uses-permission#android.permission.CHANGE_WIFI_STATE
|
||||
ADDED from AndroidManifest.xml:14:5
|
||||
android:required
|
||||
ADDED from AndroidManifest.xml:16:9
|
||||
android:name
|
||||
ADDED from AndroidManifest.xml:15:9
|
||||
uses-permission#android.permission.INTERNET
|
||||
ADDED from AndroidManifest.xml:17:5
|
||||
android:required
|
||||
ADDED from AndroidManifest.xml:19:9
|
||||
android:name
|
||||
ADDED from AndroidManifest.xml:18:9
|
||||
application
|
||||
ADDED from AndroidManifest.xml:21:5
|
||||
android:label
|
||||
ADDED from AndroidManifest.xml:24:9
|
||||
android:allowBackup
|
||||
ADDED from AndroidManifest.xml:22:9
|
||||
android:icon
|
||||
ADDED from AndroidManifest.xml:23:9
|
||||
android:theme
|
||||
ADDED from AndroidManifest.xml:25:9
|
||||
activity#com.realtek.uartthrough.MainActivity
|
||||
ADDED from AndroidManifest.xml:26:9
|
||||
android:label
|
||||
ADDED from AndroidManifest.xml:28:13
|
||||
android:name
|
||||
ADDED from AndroidManifest.xml:27:13
|
||||
intent-filter#android.intent.action.MAIN+android.intent.category.LAUNCHER
|
||||
ADDED from AndroidManifest.xml:29:13
|
||||
action#android.intent.action.MAIN
|
||||
ADDED from AndroidManifest.xml:30:17
|
||||
android:name
|
||||
ADDED from AndroidManifest.xml:30:25
|
||||
category#android.intent.category.LAUNCHER
|
||||
ADDED from AndroidManifest.xml:32:17
|
||||
android:name
|
||||
ADDED from AndroidManifest.xml:32:27
|
||||
activity#com.realtek.uartthrough.ChatActivity
|
||||
ADDED from AndroidManifest.xml:35:9
|
||||
android:label
|
||||
ADDED from AndroidManifest.xml:37:13
|
||||
android:name
|
||||
ADDED from AndroidManifest.xml:36:13
|
||||
-- Merging decision tree log ---
|
||||
manifest
|
||||
ADDED from AndroidManifest.xml:2:1
|
||||
xmlns:android
|
||||
ADDED from AndroidManifest.xml:2:11
|
||||
package
|
||||
ADDED from AndroidManifest.xml:3:5
|
||||
INJECTED from AndroidManifest.xml:0:0
|
||||
INJECTED from AndroidManifest.xml:0:0
|
||||
android:versionName
|
||||
ADDED from AndroidManifest.xml:5:5
|
||||
android:versionCode
|
||||
ADDED from AndroidManifest.xml:4:5
|
||||
INJECTED from AndroidManifest.xml:0:0
|
||||
INJECTED from AndroidManifest.xml:0:0
|
||||
uses-sdk
|
||||
ADDED from AndroidManifest.xml:7:5
|
||||
android:targetSdkVersion
|
||||
ADDED from AndroidManifest.xml:9:9
|
||||
INJECTED from AndroidManifest.xml:0:0
|
||||
INJECTED from AndroidManifest.xml:0:0
|
||||
android:minSdkVersion
|
||||
ADDED from AndroidManifest.xml:8:9
|
||||
INJECTED from AndroidManifest.xml:0:0
|
||||
INJECTED from AndroidManifest.xml:0:0
|
||||
uses-permission#android.permission.ACCESS_WIFI_STATE
|
||||
ADDED from AndroidManifest.xml:11:5
|
||||
android:required
|
||||
ADDED from AndroidManifest.xml:13:9
|
||||
android:name
|
||||
ADDED from AndroidManifest.xml:12:9
|
||||
uses-permission#android.permission.CHANGE_WIFI_STATE
|
||||
ADDED from AndroidManifest.xml:14:5
|
||||
android:required
|
||||
ADDED from AndroidManifest.xml:16:9
|
||||
android:name
|
||||
ADDED from AndroidManifest.xml:15:9
|
||||
uses-permission#android.permission.INTERNET
|
||||
ADDED from AndroidManifest.xml:17:5
|
||||
android:required
|
||||
ADDED from AndroidManifest.xml:19:9
|
||||
android:name
|
||||
ADDED from AndroidManifest.xml:18:9
|
||||
application
|
||||
ADDED from AndroidManifest.xml:21:5
|
||||
android:label
|
||||
ADDED from AndroidManifest.xml:24:9
|
||||
android:allowBackup
|
||||
ADDED from AndroidManifest.xml:22:9
|
||||
android:icon
|
||||
ADDED from AndroidManifest.xml:23:9
|
||||
android:theme
|
||||
ADDED from AndroidManifest.xml:25:9
|
||||
activity#com.realtek.uartthrough.MainActivity
|
||||
ADDED from AndroidManifest.xml:26:9
|
||||
android:label
|
||||
ADDED from AndroidManifest.xml:28:13
|
||||
android:name
|
||||
ADDED from AndroidManifest.xml:27:13
|
||||
intent-filter#android.intent.action.MAIN+android.intent.category.LAUNCHER
|
||||
ADDED from AndroidManifest.xml:29:13
|
||||
action#android.intent.action.MAIN
|
||||
ADDED from AndroidManifest.xml:30:17
|
||||
android:name
|
||||
ADDED from AndroidManifest.xml:30:25
|
||||
category#android.intent.category.LAUNCHER
|
||||
ADDED from AndroidManifest.xml:32:17
|
||||
android:name
|
||||
ADDED from AndroidManifest.xml:32:27
|
||||
activity#com.realtek.uartthrough.ChatActivity
|
||||
ADDED from AndroidManifest.xml:35:9
|
||||
android:label
|
||||
ADDED from AndroidManifest.xml:37:13
|
||||
android:name
|
||||
ADDED from AndroidManifest.xml:36:13
|
||||
|
|
|
|||
|
|
@ -1,294 +1,294 @@
|
|||
package com.realtek.uartthrough;
|
||||
|
||||
import android.net.nsd.NsdServiceInfo;
|
||||
import android.util.Log;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.Arrays;
|
||||
import java.util.Objects;
|
||||
import java.util.Vector;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
|
||||
public class Globals_ctrl {
|
||||
|
||||
private static Globals_ctrl thisGlobal;
|
||||
|
||||
private static String infoDisplay = "";
|
||||
|
||||
private static final String mServiceName = "AMEBA";
|
||||
private static final String TAG = "Globals_ctrl";
|
||||
private static final String mServiceType = "_uart_control._tcp";
|
||||
|
||||
|
||||
|
||||
private static String successRec = "";
|
||||
|
||||
private static String sensorReadings = "";
|
||||
|
||||
private static Vector<NsdServiceInfo> deviceList = new Vector<NsdServiceInfo>();
|
||||
|
||||
private static InetAddress connIP = null;
|
||||
|
||||
private static int connPort=0;
|
||||
|
||||
private static String cmd="continue";
|
||||
|
||||
|
||||
private static ByteBuffer tx = ByteBuffer.allocate(32);
|
||||
|
||||
private static byte[] recvBuffer = new byte[64];
|
||||
private final Lock _mutex_recvBuf = new ReentrantLock(true);
|
||||
|
||||
private static OpStates os = OpStates.getInstance();
|
||||
|
||||
public Globals_ctrl(){}
|
||||
|
||||
public void resetRecvBuffer(){
|
||||
Arrays.fill( recvBuffer, (byte) 0 );
|
||||
}
|
||||
|
||||
public boolean checkRecvBufUpdate(){
|
||||
if(recvBuffer.length>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
public void commitRecvBuffer(byte[] info, int len){
|
||||
|
||||
_mutex_recvBuf.lock();
|
||||
resetRecvBuffer();
|
||||
System.arraycopy(info, 0, recvBuffer, 0, len);
|
||||
|
||||
_mutex_recvBuf.unlock();
|
||||
}
|
||||
|
||||
public String pullRecvBuffer(){
|
||||
|
||||
if(recvBuffer[0]<=0){
|
||||
return "";
|
||||
}else{
|
||||
_mutex_recvBuf.lock();
|
||||
byte [] res = new byte[recvBuffer.length];
|
||||
System.arraycopy(recvBuffer, 0, res, 0, recvBuffer.length);
|
||||
_mutex_recvBuf.unlock();
|
||||
|
||||
String controlInfo = parseRecvBuf(res);
|
||||
return controlInfo;
|
||||
}
|
||||
}
|
||||
|
||||
private String parseRecvBuf(byte[] res) {
|
||||
|
||||
String result = "";
|
||||
|
||||
//check prefix
|
||||
if(checkPrefix(res)){
|
||||
int readbit = 10;
|
||||
|
||||
//-------- response for setting --------
|
||||
if( convertirOctetEnEntier(res[readbit])==1 ){
|
||||
result = "ok";
|
||||
//-------- response for getting --------
|
||||
}else if( convertirOctetEnEntier(res[readbit])==3 ){
|
||||
|
||||
readbit++;
|
||||
|
||||
int type = -1;
|
||||
String str_len = "";
|
||||
String str_HexValue = "";
|
||||
|
||||
do{
|
||||
type = convertirOctetEnEntier(res[readbit]);
|
||||
str_HexValue = Integer.toHexString(type);
|
||||
|
||||
if( type==1 ){//baudrate
|
||||
result += "baudrate,";readbit++;
|
||||
str_len = Integer.toHexString(convertirOctetEnEntier(res[readbit]));
|
||||
int len = Integer.valueOf(str_len).intValue();
|
||||
readbit++;
|
||||
|
||||
int bit = 0;
|
||||
int v_rate = 0;
|
||||
int tmp = 0;
|
||||
for(int b=readbit;b<readbit+len;b++){
|
||||
tmp = (res[b] & 0xFF) << (8*bit);
|
||||
v_rate = v_rate + tmp ;
|
||||
bit++;
|
||||
}
|
||||
result = result + String.valueOf(v_rate) + ";";readbit+=len;
|
||||
}else if( type==2 ){//data
|
||||
result += "data,";readbit++;
|
||||
str_len = Integer.toHexString(convertirOctetEnEntier(res[readbit])) + ",";
|
||||
readbit++;
|
||||
result = result + Integer.toHexString(convertirOctetEnEntier(res[readbit])) + ";";readbit++;
|
||||
}else if( type==4 ){//parity
|
||||
result += "parity,";readbit++;
|
||||
str_len = Integer.toHexString(convertirOctetEnEntier(res[readbit])) + ",";
|
||||
readbit++;
|
||||
result = result + Integer.toHexString(convertirOctetEnEntier(res[readbit])) + ";";readbit++;
|
||||
}else if( type==8 ){//stopbit
|
||||
result += "stopbit,";readbit++;
|
||||
str_len = Integer.toHexString(convertirOctetEnEntier(res[readbit])) + ",";
|
||||
readbit++;
|
||||
result = result + Integer.toHexString(convertirOctetEnEntier(res[readbit])) + ";";readbit++;
|
||||
}else if( type==16 ){//flowcontrol
|
||||
result += "flowcontrol,";readbit++;
|
||||
str_len = Integer.toHexString(convertirOctetEnEntier(res[readbit])) + ",";
|
||||
readbit++;
|
||||
result = result + Integer.toHexString(convertirOctetEnEntier(res[readbit])) + ";";readbit++;
|
||||
}else
|
||||
readbit++;
|
||||
|
||||
}while(readbit<recvBuffer.length );
|
||||
}
|
||||
|
||||
}else{
|
||||
Log.e(TAG,"prefix error!!!");
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private boolean checkPrefix(byte[] recvBuf) {
|
||||
|
||||
if("41".equals(String.format("0x%20x", recvBuf[0])) )
|
||||
return false;
|
||||
if("4D".equals(String.format("0x%20x", recvBuf[1])) )
|
||||
return false;
|
||||
if("45".equals(String.format("0x%20x", recvBuf[2])))
|
||||
return false;
|
||||
if("42".equals(String.format("0x%20x", recvBuf[3])))
|
||||
return false;
|
||||
if("41".equals(String.format("0x%20x", recvBuf[4])))
|
||||
return false;
|
||||
if("5F".equals(String.format("0x%20x", recvBuf[5])))
|
||||
return false;
|
||||
if("55".equals(String.format("0x%20x", recvBuf[6])))
|
||||
return false;
|
||||
if("41".equals(String.format("0x%20x", recvBuf[7])))
|
||||
return false;
|
||||
if("52".equals(String.format("0x%20x", recvBuf[8])))
|
||||
return false;
|
||||
if("54".equals(String.format("0x%20x", recvBuf[9])))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public String byte2bits(byte b) {
|
||||
int z = b; z |= 256;
|
||||
String str = Integer.toBinaryString(z);
|
||||
int len = str.length();
|
||||
return str.substring(len-8, len);
|
||||
}
|
||||
|
||||
public int convertirOctetEnEntier(byte b){
|
||||
int MASK = 0xFF;
|
||||
int result = 0;
|
||||
result = b & MASK;
|
||||
return result;
|
||||
}
|
||||
|
||||
public int byteArrayToInt(byte[] bytes) {
|
||||
int value= 0;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
int shift= (4 - 1 - i) * 8;
|
||||
value +=(bytes[i] & 0x000000FF) << shift;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
public void addInfo(String str){
|
||||
infoDisplay+=(str+"\n");
|
||||
}
|
||||
|
||||
public String getInfo(){
|
||||
return infoDisplay;
|
||||
}
|
||||
|
||||
public void resetInfo(){
|
||||
infoDisplay="";
|
||||
}
|
||||
|
||||
public String getServiceName(){
|
||||
return mServiceName;
|
||||
}
|
||||
|
||||
public String getServiceType(){
|
||||
return mServiceType;
|
||||
}
|
||||
|
||||
public String getSuccessRec(){
|
||||
return successRec;
|
||||
}
|
||||
|
||||
public void setSuccessRec(String str){
|
||||
successRec=str;
|
||||
}
|
||||
|
||||
public void setConnIP(InetAddress address){
|
||||
connIP = address;
|
||||
}
|
||||
|
||||
public InetAddress getConnIP(){
|
||||
return connIP;
|
||||
}
|
||||
|
||||
public void setConnPort(int p){
|
||||
connPort=p;
|
||||
}
|
||||
|
||||
public int getConnPort(){
|
||||
return connPort;
|
||||
}
|
||||
|
||||
public void setTx(byte bytes[]){
|
||||
tx.put(bytes);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public byte[] getTx(){
|
||||
return tx.array();
|
||||
}
|
||||
|
||||
public void clearTx(){ tx.clear();}
|
||||
|
||||
public void clearCmd(){
|
||||
cmd="";
|
||||
}
|
||||
|
||||
public void setCmd(String str){
|
||||
cmd=str;
|
||||
}
|
||||
|
||||
public String getCmd(){
|
||||
return cmd;
|
||||
}
|
||||
|
||||
public void clearDeviceList(){
|
||||
deviceList.clear();
|
||||
}
|
||||
|
||||
public Vector<NsdServiceInfo> getDeviceList(){
|
||||
return deviceList;
|
||||
}
|
||||
|
||||
public void addSensorReading(String reading){
|
||||
sensorReadings = sensorReadings + reading;
|
||||
}
|
||||
|
||||
public OpStates opStates(){
|
||||
return os;
|
||||
}
|
||||
|
||||
public static synchronized Globals_ctrl getInstance(){
|
||||
if(thisGlobal==null){
|
||||
thisGlobal = new Globals_ctrl();
|
||||
}
|
||||
return thisGlobal;
|
||||
}
|
||||
}
|
||||
package com.realtek.uartthrough;
|
||||
|
||||
import android.net.nsd.NsdServiceInfo;
|
||||
import android.util.Log;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.Arrays;
|
||||
import java.util.Objects;
|
||||
import java.util.Vector;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
|
||||
public class Globals_ctrl {
|
||||
|
||||
private static Globals_ctrl thisGlobal;
|
||||
|
||||
private static String infoDisplay = "";
|
||||
|
||||
private static final String mServiceName = "AMEBA";
|
||||
private static final String TAG = "Globals_ctrl";
|
||||
private static final String mServiceType = "_uart_control._tcp";
|
||||
|
||||
|
||||
|
||||
private static String successRec = "";
|
||||
|
||||
private static String sensorReadings = "";
|
||||
|
||||
private static Vector<NsdServiceInfo> deviceList = new Vector<NsdServiceInfo>();
|
||||
|
||||
private static InetAddress connIP = null;
|
||||
|
||||
private static int connPort=0;
|
||||
|
||||
private static String cmd="continue";
|
||||
|
||||
|
||||
private static ByteBuffer tx = ByteBuffer.allocate(32);
|
||||
|
||||
private static byte[] recvBuffer = new byte[64];
|
||||
private final Lock _mutex_recvBuf = new ReentrantLock(true);
|
||||
|
||||
private static OpStates os = OpStates.getInstance();
|
||||
|
||||
public Globals_ctrl(){}
|
||||
|
||||
public void resetRecvBuffer(){
|
||||
Arrays.fill( recvBuffer, (byte) 0 );
|
||||
}
|
||||
|
||||
public boolean checkRecvBufUpdate(){
|
||||
if(recvBuffer.length>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
public void commitRecvBuffer(byte[] info, int len){
|
||||
|
||||
_mutex_recvBuf.lock();
|
||||
resetRecvBuffer();
|
||||
System.arraycopy(info, 0, recvBuffer, 0, len);
|
||||
|
||||
_mutex_recvBuf.unlock();
|
||||
}
|
||||
|
||||
public String pullRecvBuffer(){
|
||||
|
||||
if(recvBuffer[0]<=0){
|
||||
return "";
|
||||
}else{
|
||||
_mutex_recvBuf.lock();
|
||||
byte [] res = new byte[recvBuffer.length];
|
||||
System.arraycopy(recvBuffer, 0, res, 0, recvBuffer.length);
|
||||
_mutex_recvBuf.unlock();
|
||||
|
||||
String controlInfo = parseRecvBuf(res);
|
||||
return controlInfo;
|
||||
}
|
||||
}
|
||||
|
||||
private String parseRecvBuf(byte[] res) {
|
||||
|
||||
String result = "";
|
||||
|
||||
//check prefix
|
||||
if(checkPrefix(res)){
|
||||
int readbit = 10;
|
||||
|
||||
//-------- response for setting --------
|
||||
if( convertirOctetEnEntier(res[readbit])==1 ){
|
||||
result = "ok";
|
||||
//-------- response for getting --------
|
||||
}else if( convertirOctetEnEntier(res[readbit])==3 ){
|
||||
|
||||
readbit++;
|
||||
|
||||
int type = -1;
|
||||
String str_len = "";
|
||||
String str_HexValue = "";
|
||||
|
||||
do{
|
||||
type = convertirOctetEnEntier(res[readbit]);
|
||||
str_HexValue = Integer.toHexString(type);
|
||||
|
||||
if( type==1 ){//baudrate
|
||||
result += "baudrate,";readbit++;
|
||||
str_len = Integer.toHexString(convertirOctetEnEntier(res[readbit]));
|
||||
int len = Integer.valueOf(str_len).intValue();
|
||||
readbit++;
|
||||
|
||||
int bit = 0;
|
||||
int v_rate = 0;
|
||||
int tmp = 0;
|
||||
for(int b=readbit;b<readbit+len;b++){
|
||||
tmp = (res[b] & 0xFF) << (8*bit);
|
||||
v_rate = v_rate + tmp ;
|
||||
bit++;
|
||||
}
|
||||
result = result + String.valueOf(v_rate) + ";";readbit+=len;
|
||||
}else if( type==2 ){//data
|
||||
result += "data,";readbit++;
|
||||
str_len = Integer.toHexString(convertirOctetEnEntier(res[readbit])) + ",";
|
||||
readbit++;
|
||||
result = result + Integer.toHexString(convertirOctetEnEntier(res[readbit])) + ";";readbit++;
|
||||
}else if( type==4 ){//parity
|
||||
result += "parity,";readbit++;
|
||||
str_len = Integer.toHexString(convertirOctetEnEntier(res[readbit])) + ",";
|
||||
readbit++;
|
||||
result = result + Integer.toHexString(convertirOctetEnEntier(res[readbit])) + ";";readbit++;
|
||||
}else if( type==8 ){//stopbit
|
||||
result += "stopbit,";readbit++;
|
||||
str_len = Integer.toHexString(convertirOctetEnEntier(res[readbit])) + ",";
|
||||
readbit++;
|
||||
result = result + Integer.toHexString(convertirOctetEnEntier(res[readbit])) + ";";readbit++;
|
||||
}else if( type==16 ){//flowcontrol
|
||||
result += "flowcontrol,";readbit++;
|
||||
str_len = Integer.toHexString(convertirOctetEnEntier(res[readbit])) + ",";
|
||||
readbit++;
|
||||
result = result + Integer.toHexString(convertirOctetEnEntier(res[readbit])) + ";";readbit++;
|
||||
}else
|
||||
readbit++;
|
||||
|
||||
}while(readbit<recvBuffer.length );
|
||||
}
|
||||
|
||||
}else{
|
||||
Log.e(TAG,"prefix error!!!");
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private boolean checkPrefix(byte[] recvBuf) {
|
||||
|
||||
if("41".equals(String.format("0x%20x", recvBuf[0])) )
|
||||
return false;
|
||||
if("4D".equals(String.format("0x%20x", recvBuf[1])) )
|
||||
return false;
|
||||
if("45".equals(String.format("0x%20x", recvBuf[2])))
|
||||
return false;
|
||||
if("42".equals(String.format("0x%20x", recvBuf[3])))
|
||||
return false;
|
||||
if("41".equals(String.format("0x%20x", recvBuf[4])))
|
||||
return false;
|
||||
if("5F".equals(String.format("0x%20x", recvBuf[5])))
|
||||
return false;
|
||||
if("55".equals(String.format("0x%20x", recvBuf[6])))
|
||||
return false;
|
||||
if("41".equals(String.format("0x%20x", recvBuf[7])))
|
||||
return false;
|
||||
if("52".equals(String.format("0x%20x", recvBuf[8])))
|
||||
return false;
|
||||
if("54".equals(String.format("0x%20x", recvBuf[9])))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public String byte2bits(byte b) {
|
||||
int z = b; z |= 256;
|
||||
String str = Integer.toBinaryString(z);
|
||||
int len = str.length();
|
||||
return str.substring(len-8, len);
|
||||
}
|
||||
|
||||
public int convertirOctetEnEntier(byte b){
|
||||
int MASK = 0xFF;
|
||||
int result = 0;
|
||||
result = b & MASK;
|
||||
return result;
|
||||
}
|
||||
|
||||
public int byteArrayToInt(byte[] bytes) {
|
||||
int value= 0;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
int shift= (4 - 1 - i) * 8;
|
||||
value +=(bytes[i] & 0x000000FF) << shift;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
public void addInfo(String str){
|
||||
infoDisplay+=(str+"\n");
|
||||
}
|
||||
|
||||
public String getInfo(){
|
||||
return infoDisplay;
|
||||
}
|
||||
|
||||
public void resetInfo(){
|
||||
infoDisplay="";
|
||||
}
|
||||
|
||||
public String getServiceName(){
|
||||
return mServiceName;
|
||||
}
|
||||
|
||||
public String getServiceType(){
|
||||
return mServiceType;
|
||||
}
|
||||
|
||||
public String getSuccessRec(){
|
||||
return successRec;
|
||||
}
|
||||
|
||||
public void setSuccessRec(String str){
|
||||
successRec=str;
|
||||
}
|
||||
|
||||
public void setConnIP(InetAddress address){
|
||||
connIP = address;
|
||||
}
|
||||
|
||||
public InetAddress getConnIP(){
|
||||
return connIP;
|
||||
}
|
||||
|
||||
public void setConnPort(int p){
|
||||
connPort=p;
|
||||
}
|
||||
|
||||
public int getConnPort(){
|
||||
return connPort;
|
||||
}
|
||||
|
||||
public void setTx(byte bytes[]){
|
||||
tx.put(bytes);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public byte[] getTx(){
|
||||
return tx.array();
|
||||
}
|
||||
|
||||
public void clearTx(){ tx.clear();}
|
||||
|
||||
public void clearCmd(){
|
||||
cmd="";
|
||||
}
|
||||
|
||||
public void setCmd(String str){
|
||||
cmd=str;
|
||||
}
|
||||
|
||||
public String getCmd(){
|
||||
return cmd;
|
||||
}
|
||||
|
||||
public void clearDeviceList(){
|
||||
deviceList.clear();
|
||||
}
|
||||
|
||||
public Vector<NsdServiceInfo> getDeviceList(){
|
||||
return deviceList;
|
||||
}
|
||||
|
||||
public void addSensorReading(String reading){
|
||||
sensorReadings = sensorReadings + reading;
|
||||
}
|
||||
|
||||
public OpStates opStates(){
|
||||
return os;
|
||||
}
|
||||
|
||||
public static synchronized Globals_ctrl getInstance(){
|
||||
if(thisGlobal==null){
|
||||
thisGlobal = new Globals_ctrl();
|
||||
}
|
||||
return thisGlobal;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,136 +1,136 @@
|
|||
package com.realtek.uartthrough;
|
||||
|
||||
import android.net.nsd.NsdServiceInfo;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.util.Vector;
|
||||
|
||||
public class Globals_d {
|
||||
|
||||
private static Globals_d thisGlobal;
|
||||
|
||||
private static String infoDisplay_d = "";
|
||||
|
||||
private static boolean readable = false;
|
||||
|
||||
private static final String mServiceName = "AMEBA";
|
||||
|
||||
private static final String mServiceType = "_uart_data._tcp";
|
||||
|
||||
private static String successRec = "";
|
||||
|
||||
private static String sensorReadings = "";
|
||||
|
||||
private static Vector<NsdServiceInfo> deviceList = new Vector<NsdServiceInfo>();
|
||||
|
||||
private static InetAddress connIP = null;
|
||||
|
||||
private static int connPort=0;
|
||||
|
||||
private static String cmd="continue";
|
||||
|
||||
private static String tx="";
|
||||
|
||||
private static OpStates os = OpStates.getInstance();
|
||||
|
||||
public Globals_d(){}
|
||||
|
||||
public boolean isReadable(){
|
||||
return readable;
|
||||
}
|
||||
|
||||
public void setReadable(boolean val){
|
||||
readable = val;
|
||||
}
|
||||
|
||||
public void addInfo(String str){
|
||||
infoDisplay_d+=(str);
|
||||
}
|
||||
|
||||
public String getInfo(){
|
||||
return infoDisplay_d;
|
||||
}
|
||||
|
||||
public void resetInfo(){
|
||||
infoDisplay_d="";
|
||||
}
|
||||
|
||||
public String getServiceName(){
|
||||
return mServiceName;
|
||||
}
|
||||
|
||||
public String getServiceType(){
|
||||
return mServiceType;
|
||||
}
|
||||
|
||||
public String getSuccessRec(){
|
||||
return successRec;
|
||||
}
|
||||
|
||||
public void setSuccessRec(String str){
|
||||
successRec=str;
|
||||
}
|
||||
|
||||
public void setConnIP(InetAddress address){
|
||||
connIP = address;
|
||||
}
|
||||
|
||||
public InetAddress getConnIP(){
|
||||
return connIP;
|
||||
}
|
||||
|
||||
public void setConnPort(int p){
|
||||
connPort=p;
|
||||
}
|
||||
|
||||
public int getConnPort(){
|
||||
return connPort;
|
||||
}
|
||||
|
||||
public void setTx(String str){
|
||||
tx=str;
|
||||
}
|
||||
|
||||
public String getTx(){
|
||||
return tx;
|
||||
}
|
||||
|
||||
public void clearTx(){
|
||||
tx="";
|
||||
}
|
||||
|
||||
public void clearCmd(){
|
||||
cmd="";
|
||||
}
|
||||
|
||||
public void setCmd(String str){
|
||||
cmd=str;
|
||||
}
|
||||
|
||||
public String getCmd(){
|
||||
return cmd;
|
||||
}
|
||||
|
||||
public void clearDeviceList(){
|
||||
deviceList.clear();
|
||||
}
|
||||
|
||||
public Vector<NsdServiceInfo> getDeviceList(){
|
||||
return deviceList;
|
||||
}
|
||||
|
||||
public void addSensorReading(String reading){
|
||||
sensorReadings = sensorReadings + reading;
|
||||
}
|
||||
|
||||
public OpStates opStates(){
|
||||
return os;
|
||||
}
|
||||
|
||||
public static synchronized Globals_d getInstance(){
|
||||
if(thisGlobal==null){
|
||||
thisGlobal = new Globals_d();
|
||||
}
|
||||
return thisGlobal;
|
||||
}
|
||||
}
|
||||
package com.realtek.uartthrough;
|
||||
|
||||
import android.net.nsd.NsdServiceInfo;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.util.Vector;
|
||||
|
||||
public class Globals_d {
|
||||
|
||||
private static Globals_d thisGlobal;
|
||||
|
||||
private static String infoDisplay_d = "";
|
||||
|
||||
private static boolean readable = false;
|
||||
|
||||
private static final String mServiceName = "AMEBA";
|
||||
|
||||
private static final String mServiceType = "_uart_data._tcp";
|
||||
|
||||
private static String successRec = "";
|
||||
|
||||
private static String sensorReadings = "";
|
||||
|
||||
private static Vector<NsdServiceInfo> deviceList = new Vector<NsdServiceInfo>();
|
||||
|
||||
private static InetAddress connIP = null;
|
||||
|
||||
private static int connPort=0;
|
||||
|
||||
private static String cmd="continue";
|
||||
|
||||
private static String tx="";
|
||||
|
||||
private static OpStates os = OpStates.getInstance();
|
||||
|
||||
public Globals_d(){}
|
||||
|
||||
public boolean isReadable(){
|
||||
return readable;
|
||||
}
|
||||
|
||||
public void setReadable(boolean val){
|
||||
readable = val;
|
||||
}
|
||||
|
||||
public void addInfo(String str){
|
||||
infoDisplay_d+=(str);
|
||||
}
|
||||
|
||||
public String getInfo(){
|
||||
return infoDisplay_d;
|
||||
}
|
||||
|
||||
public void resetInfo(){
|
||||
infoDisplay_d="";
|
||||
}
|
||||
|
||||
public String getServiceName(){
|
||||
return mServiceName;
|
||||
}
|
||||
|
||||
public String getServiceType(){
|
||||
return mServiceType;
|
||||
}
|
||||
|
||||
public String getSuccessRec(){
|
||||
return successRec;
|
||||
}
|
||||
|
||||
public void setSuccessRec(String str){
|
||||
successRec=str;
|
||||
}
|
||||
|
||||
public void setConnIP(InetAddress address){
|
||||
connIP = address;
|
||||
}
|
||||
|
||||
public InetAddress getConnIP(){
|
||||
return connIP;
|
||||
}
|
||||
|
||||
public void setConnPort(int p){
|
||||
connPort=p;
|
||||
}
|
||||
|
||||
public int getConnPort(){
|
||||
return connPort;
|
||||
}
|
||||
|
||||
public void setTx(String str){
|
||||
tx=str;
|
||||
}
|
||||
|
||||
public String getTx(){
|
||||
return tx;
|
||||
}
|
||||
|
||||
public void clearTx(){
|
||||
tx="";
|
||||
}
|
||||
|
||||
public void clearCmd(){
|
||||
cmd="";
|
||||
}
|
||||
|
||||
public void setCmd(String str){
|
||||
cmd=str;
|
||||
}
|
||||
|
||||
public String getCmd(){
|
||||
return cmd;
|
||||
}
|
||||
|
||||
public void clearDeviceList(){
|
||||
deviceList.clear();
|
||||
}
|
||||
|
||||
public Vector<NsdServiceInfo> getDeviceList(){
|
||||
return deviceList;
|
||||
}
|
||||
|
||||
public void addSensorReading(String reading){
|
||||
sensorReadings = sensorReadings + reading;
|
||||
}
|
||||
|
||||
public OpStates opStates(){
|
||||
return os;
|
||||
}
|
||||
|
||||
public static synchronized Globals_d getInstance(){
|
||||
if(thisGlobal==null){
|
||||
thisGlobal = new Globals_d();
|
||||
}
|
||||
return thisGlobal;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,237 +1,237 @@
|
|||
package com.realtek.uartthrough;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.net.nsd.NsdManager;
|
||||
import android.net.nsd.NsdServiceInfo;
|
||||
import android.util.Log;
|
||||
import java.lang.*;
|
||||
|
||||
|
||||
public class NsdCore {
|
||||
|
||||
Globals_ctrl g_ctrl = Globals_ctrl.getInstance();
|
||||
Globals_d g_d = Globals_d.getInstance();
|
||||
|
||||
Context mContext;
|
||||
|
||||
NsdManager mNsdManager;
|
||||
NsdManager.ResolveListener mResolveListener;
|
||||
NsdManager.DiscoveryListener mDiscoveryListener;
|
||||
NsdManager.RegistrationListener mRegistrationListener;
|
||||
|
||||
public static final String TAG = "NsdCore";
|
||||
|
||||
public final String mServiceType_c = g_ctrl.getServiceType();
|
||||
public final String mServiceType_d = g_d.getServiceType();
|
||||
|
||||
public String mServiceName_c = g_ctrl.getServiceName();
|
||||
public String mServiceName_d = g_d.getServiceName();
|
||||
|
||||
NsdServiceInfo mService;
|
||||
|
||||
|
||||
public NsdCore(Context context) {
|
||||
mContext = context;
|
||||
mNsdManager = (NsdManager) context.getSystemService(Context.NSD_SERVICE);
|
||||
}
|
||||
|
||||
public void initializeNsd() {
|
||||
Log.i(TAG, " discovery initializeNsd: " + mServiceType_c +" & "+mServiceType_d);
|
||||
initializeDiscoveryListener();
|
||||
initializeResolveListener();
|
||||
initializeRegistrationListener();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
public void initializeDiscoveryListener() {
|
||||
mDiscoveryListener = new NsdManager.DiscoveryListener() {
|
||||
|
||||
@Override
|
||||
public void onDiscoveryStarted(String regType) {
|
||||
Log.i(TAG, "Service discovery started");
|
||||
g_ctrl.addInfo(TAG+" "+regType+" g_ctrl Service Discovering\n");
|
||||
g_d.addInfo(TAG+" "+regType+" g_d Service Discovering\n");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServiceFound(NsdServiceInfo service) {
|
||||
g_ctrl.addInfo(TAG+"Service discovery success\n " + service);
|
||||
g_d.addInfo(TAG+"Service Discovery Success\n " + service);
|
||||
Log.i(TAG, "Service discovery success " + service);
|
||||
|
||||
if (service.getServiceType().contains(mServiceType_c)) {
|
||||
if (service.getServiceName().contains(mServiceName_c)){
|
||||
g_ctrl.addInfo(TAG+ "Resolving service... \n");
|
||||
Log.i(TAG, "G_c Resolving service... ");
|
||||
mNsdManager.resolveService(service, mResolveListener);
|
||||
}
|
||||
}else{
|
||||
g_ctrl.addInfo(TAG+ "Unknown Service Type: " + service.getServiceType());
|
||||
Log.e(TAG, "G Unknown Service Type: " + service.getServiceType() );
|
||||
}
|
||||
|
||||
if (service.getServiceType().contains(mServiceType_d)) {
|
||||
if (service.getServiceName().contains(mServiceName_d)) {
|
||||
g_d.addInfo(TAG + "Resolving service... \n");
|
||||
Log.i(TAG, "G_d Resolving service... ");
|
||||
mNsdManager.resolveService(service, mResolveListener);
|
||||
}
|
||||
}else{
|
||||
g_d.addInfo(TAG+ "Unknown Service Type: " + service.getServiceType());
|
||||
Log.e(TAG, "G_d Unknown Service Type: " + service.getServiceType());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServiceLost(NsdServiceInfo service) {
|
||||
g_ctrl.addInfo(TAG+ "service lost\n" + service);
|
||||
g_d.addInfo(TAG+ "service lost\n" + service);
|
||||
Log.e(TAG, "service lost" + service);
|
||||
if (mService == service) {
|
||||
mService = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDiscoveryStopped(String serviceType) {
|
||||
g_ctrl.addInfo(TAG+ "Discovery stopped:\n " + serviceType);
|
||||
g_d.addInfo(TAG+ "Discovery stopped:\n " + serviceType);
|
||||
Log.e(TAG, "Discovery stopped: " + serviceType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartDiscoveryFailed(String serviceType, int errorCode) {
|
||||
g_ctrl.addInfo(TAG+"Discovery failed: Error code:\n" + errorCode);
|
||||
g_d.addInfo(TAG+"Discovery failed: Error code:\n" + errorCode);
|
||||
Log.e(TAG, "onStartDiscoveryFailed: Error code:" + errorCode);
|
||||
mNsdManager.stopServiceDiscovery(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStopDiscoveryFailed(String serviceType, int errorCode) {
|
||||
g_ctrl.addInfo(TAG+ "Discovery failed: Error code:\n" + errorCode);
|
||||
g_d.addInfo(TAG+ "Discovery failed: Error code:\n" + errorCode);
|
||||
Log.e(TAG, "onStopDiscoveryFailed: Error code:" + errorCode);
|
||||
mNsdManager.stopServiceDiscovery(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
public void initializeResolveListener() {
|
||||
mResolveListener = new NsdManager.ResolveListener() {
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
@Override
|
||||
public void onResolveFailed(NsdServiceInfo serviceInfo, int errorCode) {
|
||||
g_ctrl.addInfo(TAG+ "Resolve failed\n" + errorCode);
|
||||
g_d.addInfo(TAG+ "Resolve failed\n" + errorCode);
|
||||
Log.e(TAG, "Resolve failed: " + errorCode);
|
||||
Log.e(TAG, "onResolveFailed"+ " " + serviceInfo.getServiceType());
|
||||
switch (errorCode) {
|
||||
case NsdManager.FAILURE_ALREADY_ACTIVE:
|
||||
Log.e(TAG, "FAILURE_ALREADY_ACTIVE");
|
||||
// Just try again...
|
||||
try {
|
||||
Thread.sleep(300);
|
||||
} catch (Exception e) {
|
||||
System.out.println(e);
|
||||
}
|
||||
mNsdManager.resolveService( serviceInfo, mResolveListener);
|
||||
break;
|
||||
case NsdManager.FAILURE_INTERNAL_ERROR:
|
||||
Log.e(TAG, "FAILURE_INTERNAL_ERROR");
|
||||
break;
|
||||
case NsdManager.FAILURE_MAX_LIMIT:
|
||||
Log.e(TAG, "FAILURE_MAX_LIMIT");
|
||||
default:
|
||||
Log.e(TAG,"XXXXXXX onResolveFailed XXXXXXXX");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServiceResolved(NsdServiceInfo serviceInfo) {
|
||||
Log.e(TAG, "onServiceResolved"+ " " + serviceInfo.getServiceType());
|
||||
mService = serviceInfo;
|
||||
if (serviceInfo.getServiceType().contains(mServiceType_c)) {
|
||||
//Log.e(TAG, "G onServiceResolved");
|
||||
g_ctrl.opStates().setOpState(g_ctrl.opStates().stateResoledService());
|
||||
g_ctrl.addInfo(TAG + "Resolve Succeeded.\n " + serviceInfo);
|
||||
g_ctrl.setSuccessRec(TAG + "Resolve Succeeded. " + serviceInfo);
|
||||
g_ctrl.getDeviceList().add(mService);//TODO check ip before add to list
|
||||
}else if (serviceInfo.getServiceType().contains(mServiceType_d)) {
|
||||
//Log.e(TAG, "G_D onServiceResolved");
|
||||
g_d.opStates().setOpState(g_d.opStates().stateResoledService());
|
||||
g_d.addInfo(TAG + "Resolve Succeeded. \n" + serviceInfo);
|
||||
g_d.setSuccessRec(TAG + "Resolve Succeeded. " + serviceInfo);
|
||||
g_d.getDeviceList().add(mService);//TODO check ip before add to list
|
||||
}
|
||||
Log.w(TAG, "Resolve Succeeded. " + serviceInfo);
|
||||
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
public void initializeRegistrationListener() {
|
||||
mRegistrationListener = new NsdManager.RegistrationListener() {
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
@Override
|
||||
public void onServiceRegistered(NsdServiceInfo NsdServiceInfo) {
|
||||
|
||||
String serviceName = NsdServiceInfo.getServiceName();
|
||||
|
||||
Log.e(TAG,"NsdServiceInfo.getServiceName(): " + NsdServiceInfo.getServiceName());
|
||||
|
||||
mServiceName_c = NsdServiceInfo.getServiceName();
|
||||
mServiceName_d = mServiceName_c;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRegistrationFailed(NsdServiceInfo arg0, int arg1) {
|
||||
Log.e(TAG, "onRegistrationFailed");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServiceUnregistered(NsdServiceInfo arg0) {
|
||||
Log.e(TAG, "onServiceUnregistered");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUnregistrationFailed(NsdServiceInfo serviceInfo, int errorCode) {
|
||||
Log.e(TAG, "onServiceUnregistered: " + serviceInfo.getServiceName() + "/" + errorCode);
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
public void discoverServices(String serviceType) {
|
||||
Log.d(TAG, "discoverServices " +serviceType+ " start!!");
|
||||
//mNsdManager.discoverServices(mServiceType, NsdManager.PROTOCOL_DNS_SD, mDiscoveryListener);
|
||||
mNsdManager.discoverServices(serviceType, NsdManager.PROTOCOL_DNS_SD, mDiscoveryListener);
|
||||
|
||||
}
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
public void stopDiscovery() {
|
||||
mNsdManager.stopServiceDiscovery(mDiscoveryListener);
|
||||
}
|
||||
|
||||
/* public NsdServiceInfo getChosenServiceInfo() {
|
||||
return mService;
|
||||
}*/
|
||||
|
||||
/* public void tearDown() {
|
||||
mNsdManager.unregisterService(mRegistrationListener);
|
||||
}*/
|
||||
}
|
||||
|
||||
package com.realtek.uartthrough;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.net.nsd.NsdManager;
|
||||
import android.net.nsd.NsdServiceInfo;
|
||||
import android.util.Log;
|
||||
import java.lang.*;
|
||||
|
||||
|
||||
public class NsdCore {
|
||||
|
||||
Globals_ctrl g_ctrl = Globals_ctrl.getInstance();
|
||||
Globals_d g_d = Globals_d.getInstance();
|
||||
|
||||
Context mContext;
|
||||
|
||||
NsdManager mNsdManager;
|
||||
NsdManager.ResolveListener mResolveListener;
|
||||
NsdManager.DiscoveryListener mDiscoveryListener;
|
||||
NsdManager.RegistrationListener mRegistrationListener;
|
||||
|
||||
public static final String TAG = "NsdCore";
|
||||
|
||||
public final String mServiceType_c = g_ctrl.getServiceType();
|
||||
public final String mServiceType_d = g_d.getServiceType();
|
||||
|
||||
public String mServiceName_c = g_ctrl.getServiceName();
|
||||
public String mServiceName_d = g_d.getServiceName();
|
||||
|
||||
NsdServiceInfo mService;
|
||||
|
||||
|
||||
public NsdCore(Context context) {
|
||||
mContext = context;
|
||||
mNsdManager = (NsdManager) context.getSystemService(Context.NSD_SERVICE);
|
||||
}
|
||||
|
||||
public void initializeNsd() {
|
||||
Log.i(TAG, " discovery initializeNsd: " + mServiceType_c +" & "+mServiceType_d);
|
||||
initializeDiscoveryListener();
|
||||
initializeResolveListener();
|
||||
initializeRegistrationListener();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
public void initializeDiscoveryListener() {
|
||||
mDiscoveryListener = new NsdManager.DiscoveryListener() {
|
||||
|
||||
@Override
|
||||
public void onDiscoveryStarted(String regType) {
|
||||
Log.i(TAG, "Service discovery started");
|
||||
g_ctrl.addInfo(TAG+" "+regType+" g_ctrl Service Discovering\n");
|
||||
g_d.addInfo(TAG+" "+regType+" g_d Service Discovering\n");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServiceFound(NsdServiceInfo service) {
|
||||
g_ctrl.addInfo(TAG+"Service discovery success\n " + service);
|
||||
g_d.addInfo(TAG+"Service Discovery Success\n " + service);
|
||||
Log.i(TAG, "Service discovery success " + service);
|
||||
|
||||
if (service.getServiceType().contains(mServiceType_c)) {
|
||||
if (service.getServiceName().contains(mServiceName_c)){
|
||||
g_ctrl.addInfo(TAG+ "Resolving service... \n");
|
||||
Log.i(TAG, "G_c Resolving service... ");
|
||||
mNsdManager.resolveService(service, mResolveListener);
|
||||
}
|
||||
}else{
|
||||
g_ctrl.addInfo(TAG+ "Unknown Service Type: " + service.getServiceType());
|
||||
Log.e(TAG, "G Unknown Service Type: " + service.getServiceType() );
|
||||
}
|
||||
|
||||
if (service.getServiceType().contains(mServiceType_d)) {
|
||||
if (service.getServiceName().contains(mServiceName_d)) {
|
||||
g_d.addInfo(TAG + "Resolving service... \n");
|
||||
Log.i(TAG, "G_d Resolving service... ");
|
||||
mNsdManager.resolveService(service, mResolveListener);
|
||||
}
|
||||
}else{
|
||||
g_d.addInfo(TAG+ "Unknown Service Type: " + service.getServiceType());
|
||||
Log.e(TAG, "G_d Unknown Service Type: " + service.getServiceType());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServiceLost(NsdServiceInfo service) {
|
||||
g_ctrl.addInfo(TAG+ "service lost\n" + service);
|
||||
g_d.addInfo(TAG+ "service lost\n" + service);
|
||||
Log.e(TAG, "service lost" + service);
|
||||
if (mService == service) {
|
||||
mService = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDiscoveryStopped(String serviceType) {
|
||||
g_ctrl.addInfo(TAG+ "Discovery stopped:\n " + serviceType);
|
||||
g_d.addInfo(TAG+ "Discovery stopped:\n " + serviceType);
|
||||
Log.e(TAG, "Discovery stopped: " + serviceType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartDiscoveryFailed(String serviceType, int errorCode) {
|
||||
g_ctrl.addInfo(TAG+"Discovery failed: Error code:\n" + errorCode);
|
||||
g_d.addInfo(TAG+"Discovery failed: Error code:\n" + errorCode);
|
||||
Log.e(TAG, "onStartDiscoveryFailed: Error code:" + errorCode);
|
||||
mNsdManager.stopServiceDiscovery(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStopDiscoveryFailed(String serviceType, int errorCode) {
|
||||
g_ctrl.addInfo(TAG+ "Discovery failed: Error code:\n" + errorCode);
|
||||
g_d.addInfo(TAG+ "Discovery failed: Error code:\n" + errorCode);
|
||||
Log.e(TAG, "onStopDiscoveryFailed: Error code:" + errorCode);
|
||||
mNsdManager.stopServiceDiscovery(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
public void initializeResolveListener() {
|
||||
mResolveListener = new NsdManager.ResolveListener() {
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
@Override
|
||||
public void onResolveFailed(NsdServiceInfo serviceInfo, int errorCode) {
|
||||
g_ctrl.addInfo(TAG+ "Resolve failed\n" + errorCode);
|
||||
g_d.addInfo(TAG+ "Resolve failed\n" + errorCode);
|
||||
Log.e(TAG, "Resolve failed: " + errorCode);
|
||||
Log.e(TAG, "onResolveFailed"+ " " + serviceInfo.getServiceType());
|
||||
switch (errorCode) {
|
||||
case NsdManager.FAILURE_ALREADY_ACTIVE:
|
||||
Log.e(TAG, "FAILURE_ALREADY_ACTIVE");
|
||||
// Just try again...
|
||||
try {
|
||||
Thread.sleep(300);
|
||||
} catch (Exception e) {
|
||||
System.out.println(e);
|
||||
}
|
||||
mNsdManager.resolveService( serviceInfo, mResolveListener);
|
||||
break;
|
||||
case NsdManager.FAILURE_INTERNAL_ERROR:
|
||||
Log.e(TAG, "FAILURE_INTERNAL_ERROR");
|
||||
break;
|
||||
case NsdManager.FAILURE_MAX_LIMIT:
|
||||
Log.e(TAG, "FAILURE_MAX_LIMIT");
|
||||
default:
|
||||
Log.e(TAG,"XXXXXXX onResolveFailed XXXXXXXX");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServiceResolved(NsdServiceInfo serviceInfo) {
|
||||
Log.e(TAG, "onServiceResolved"+ " " + serviceInfo.getServiceType());
|
||||
mService = serviceInfo;
|
||||
if (serviceInfo.getServiceType().contains(mServiceType_c)) {
|
||||
//Log.e(TAG, "G onServiceResolved");
|
||||
g_ctrl.opStates().setOpState(g_ctrl.opStates().stateResoledService());
|
||||
g_ctrl.addInfo(TAG + "Resolve Succeeded.\n " + serviceInfo);
|
||||
g_ctrl.setSuccessRec(TAG + "Resolve Succeeded. " + serviceInfo);
|
||||
g_ctrl.getDeviceList().add(mService);//TODO check ip before add to list
|
||||
}else if (serviceInfo.getServiceType().contains(mServiceType_d)) {
|
||||
//Log.e(TAG, "G_D onServiceResolved");
|
||||
g_d.opStates().setOpState(g_d.opStates().stateResoledService());
|
||||
g_d.addInfo(TAG + "Resolve Succeeded. \n" + serviceInfo);
|
||||
g_d.setSuccessRec(TAG + "Resolve Succeeded. " + serviceInfo);
|
||||
g_d.getDeviceList().add(mService);//TODO check ip before add to list
|
||||
}
|
||||
Log.w(TAG, "Resolve Succeeded. " + serviceInfo);
|
||||
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
public void initializeRegistrationListener() {
|
||||
mRegistrationListener = new NsdManager.RegistrationListener() {
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
@Override
|
||||
public void onServiceRegistered(NsdServiceInfo NsdServiceInfo) {
|
||||
|
||||
String serviceName = NsdServiceInfo.getServiceName();
|
||||
|
||||
Log.e(TAG,"NsdServiceInfo.getServiceName(): " + NsdServiceInfo.getServiceName());
|
||||
|
||||
mServiceName_c = NsdServiceInfo.getServiceName();
|
||||
mServiceName_d = mServiceName_c;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRegistrationFailed(NsdServiceInfo arg0, int arg1) {
|
||||
Log.e(TAG, "onRegistrationFailed");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServiceUnregistered(NsdServiceInfo arg0) {
|
||||
Log.e(TAG, "onServiceUnregistered");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUnregistrationFailed(NsdServiceInfo serviceInfo, int errorCode) {
|
||||
Log.e(TAG, "onServiceUnregistered: " + serviceInfo.getServiceName() + "/" + errorCode);
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
public void discoverServices(String serviceType) {
|
||||
Log.d(TAG, "discoverServices " +serviceType+ " start!!");
|
||||
//mNsdManager.discoverServices(mServiceType, NsdManager.PROTOCOL_DNS_SD, mDiscoveryListener);
|
||||
mNsdManager.discoverServices(serviceType, NsdManager.PROTOCOL_DNS_SD, mDiscoveryListener);
|
||||
|
||||
}
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
public void stopDiscovery() {
|
||||
mNsdManager.stopServiceDiscovery(mDiscoveryListener);
|
||||
}
|
||||
|
||||
/* public NsdServiceInfo getChosenServiceInfo() {
|
||||
return mService;
|
||||
}*/
|
||||
|
||||
/* public void tearDown() {
|
||||
mNsdManager.unregisterService(mRegistrationListener);
|
||||
}*/
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#Wed Apr 10 15:27:10 PDT 2013
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
|
||||
#Wed Apr 10 15:27:10 PDT 2013
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
|
||||
|
|
|
|||
328
tools/uart_adapter/app/android/UartThrough/gradlew
vendored
328
tools/uart_adapter/app/android/UartThrough/gradlew
vendored
|
|
@ -1,164 +1,164 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS=""
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
|
||||
warn ( ) {
|
||||
echo "$*"
|
||||
}
|
||||
|
||||
die ( ) {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
esac
|
||||
|
||||
# For Cygwin, ensure paths are in UNIX format before anything is touched.
|
||||
if $cygwin ; then
|
||||
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||
fi
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
# Need this for relative symlinks.
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >&-
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >&-
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD="java"
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
MAX_FD="$MAX_FD_LIMIT"
|
||||
fi
|
||||
ulimit -n $MAX_FD
|
||||
if [ $? -ne 0 ] ; then
|
||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||
fi
|
||||
else
|
||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
# For Darwin, add options to specify how the application appears in the dock
|
||||
if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
SEP=""
|
||||
for dir in $ROOTDIRSRAW ; do
|
||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||
SEP="|"
|
||||
done
|
||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||
# Add a user-defined pattern to the cygpath arguments
|
||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||
fi
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
i=0
|
||||
for arg in "$@" ; do
|
||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||
|
||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=$((i+1))
|
||||
done
|
||||
case $i in
|
||||
(0) set -- ;;
|
||||
(1) set -- "$args0" ;;
|
||||
(2) set -- "$args0" "$args1" ;;
|
||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
|
||||
function splitJvmOpts() {
|
||||
JVM_OPTS=("$@")
|
||||
}
|
||||
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
|
||||
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
|
||||
|
||||
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
|
||||
#!/usr/bin/env bash
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS=""
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
|
||||
warn ( ) {
|
||||
echo "$*"
|
||||
}
|
||||
|
||||
die ( ) {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
esac
|
||||
|
||||
# For Cygwin, ensure paths are in UNIX format before anything is touched.
|
||||
if $cygwin ; then
|
||||
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||
fi
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
# Need this for relative symlinks.
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >&-
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >&-
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD="java"
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
MAX_FD="$MAX_FD_LIMIT"
|
||||
fi
|
||||
ulimit -n $MAX_FD
|
||||
if [ $? -ne 0 ] ; then
|
||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||
fi
|
||||
else
|
||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
# For Darwin, add options to specify how the application appears in the dock
|
||||
if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
SEP=""
|
||||
for dir in $ROOTDIRSRAW ; do
|
||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||
SEP="|"
|
||||
done
|
||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||
# Add a user-defined pattern to the cygpath arguments
|
||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||
fi
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
i=0
|
||||
for arg in "$@" ; do
|
||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||
|
||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=$((i+1))
|
||||
done
|
||||
case $i in
|
||||
(0) set -- ;;
|
||||
(1) set -- "$args0" ;;
|
||||
(2) set -- "$args0" "$args1" ;;
|
||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
|
||||
function splitJvmOpts() {
|
||||
JVM_OPTS=("$@")
|
||||
}
|
||||
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
|
||||
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
|
||||
|
||||
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue