├── test ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── layout │ │ │ │ └── activity_main.xml │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ └── drawable │ │ │ │ └── ic_launcher_background.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── cmn │ │ │ └── v │ │ │ └── com │ │ │ └── test │ │ │ └── MainActivity.kt │ ├── test │ │ └── java │ │ │ └── cmn │ │ │ └── v │ │ │ └── com │ │ │ └── test │ │ │ └── ExampleUnitTest.kt │ └── androidTest │ │ └── java │ │ └── cmn │ │ └── v │ │ └── com │ │ └── test │ │ └── ExampleInstrumentedTest.kt ├── proguard-rules.pro └── build.gradle ├── LogViewer ├── .gitignore ├── src │ ├── main │ │ ├── java │ │ │ ├── data │ │ │ │ ├── event.kt │ │ │ │ ├── data.kt │ │ │ │ ├── Share.kt │ │ │ │ └── MessageLogBean.kt │ │ │ ├── helper │ │ │ │ └── GsonHelper.kt │ │ │ ├── sql │ │ │ │ └── SqlMessageLog.kt │ │ │ ├── view │ │ │ │ └── SpacesItemDecoration.java │ │ │ ├── org │ │ │ │ └── lxz │ │ │ │ │ └── utils │ │ │ │ │ └── logviewer │ │ │ │ │ ├── zcode.bak │ │ │ │ │ ├── MainService.kt │ │ │ │ │ ├── App.kt │ │ │ │ │ └── WebLogActivity.kt │ │ │ ├── toolkit │ │ │ │ └── AppcationUtils.java │ │ │ └── share │ │ │ │ ├── ShareSave.kt │ │ │ │ ├── AndroidShare.kt │ │ │ │ └── DataShare.kt │ │ ├── res │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ ├── drawable │ │ │ │ ├── icon.png │ │ │ │ ├── window.9.png │ │ │ │ ├── divider.xml │ │ │ │ ├── circle_grey.xml │ │ │ │ ├── circle_red.xml │ │ │ │ ├── shape_textview.xml │ │ │ │ ├── tv_bg_selector.xml │ │ │ │ └── ic_launcher_background.xml │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── log.png │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── drawable-xhdpi │ │ │ │ ├── media_more_button_selected.png │ │ │ │ ├── media_share_button_selected.png │ │ │ │ └── novel_chapter_menu_close_normal.png │ │ │ ├── xml │ │ │ │ └── share_file_paths.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── layout │ │ │ │ ├── adapter_item_log.xml │ │ │ │ ├── adapter_item_log_head.xml │ │ │ │ ├── activity_webview.xml │ │ │ │ ├── view_window.xml │ │ │ │ ├── adapter_item_setting.xml │ │ │ │ ├── adapter_item_log_content.xml │ │ │ │ └── activity_main.xml │ │ │ └── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ ├── assets │ │ │ └── rtf │ │ │ │ ├── txt.css │ │ │ │ ├── lang-rd.js │ │ │ │ ├── lang-go.js │ │ │ │ ├── lang-tex.js │ │ │ │ ├── lang-proto.js │ │ │ │ ├── lang-llvm.js │ │ │ │ ├── lang-yaml.js │ │ │ │ ├── lang-basic.js │ │ │ │ ├── lang-wiki.js │ │ │ │ ├── lang-lua.js │ │ │ │ ├── lang-hs.js │ │ │ │ ├── lang-erlang.js │ │ │ │ ├── lang-tcl.js │ │ │ │ ├── prettify.css │ │ │ │ ├── lang-r.js │ │ │ │ ├── lang-pascal.js │ │ │ │ ├── lang-lisp.js │ │ │ │ ├── lang-css.js │ │ │ │ ├── lang-mumps.js │ │ │ │ ├── lang-scala.js │ │ │ │ ├── lang-dart.js │ │ │ │ ├── lang-apollo.js │ │ │ │ ├── code_demo.html │ │ │ │ ├── lang-ml.js │ │ │ │ ├── lang-n.js │ │ │ │ ├── lang-vhdl.js │ │ │ │ ├── lang-clj.js │ │ │ │ ├── lang-vb.js │ │ │ │ ├── lang-sql.js │ │ │ │ └── prettify.js │ │ └── AndroidManifest.xml │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── yhao │ │ └── fixedfloatwindow │ │ └── ExampleUnitTest.java ├── proguard-rules.pro └── build.gradle ├── SendLogLibrary ├── .gitignore ├── com │ └── aiushtha │ │ └── logViewer │ │ ├── maven-metadata.xml.md5 │ │ ├── 1.1.2 │ │ ├── logViewer-1.1.2.aar.md5 │ │ ├── logViewer-1.1.2.pom.md5 │ │ ├── logViewer-1.1.2-sources.jar.md5 │ │ ├── logViewer-1.1.2.aar.sha1 │ │ ├── logViewer-1.1.2.pom.sha1 │ │ ├── logViewer-1.1.2-sources.jar.sha1 │ │ ├── logViewer-1.1.2.aar │ │ ├── logViewer-1.1.2-sources.jar │ │ └── logViewer-1.1.2.pom │ │ ├── maven-metadata.xml.sha1 │ │ └── maven-metadata.xml ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── data │ │ │ ├── AppcationUtils.java │ │ │ ├── MessageLogManager.java │ │ │ └── MessageLogBean.java │ ├── test │ │ └── java │ │ │ └── org │ │ │ └── lxz │ │ │ └── utils │ │ │ └── log │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── org │ │ └── lxz │ │ └── utils │ │ └── log │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro └── build.gradle ├── settings.gradle ├── com └── aiushtha │ └── logViewer │ ├── maven-metadata.xml.md5 │ ├── 1.1.2 │ ├── logViewer-1.1.2.aar.md5 │ ├── logViewer-1.1.2.pom.md5 │ ├── logViewer-1.1.2-sources.jar.md5 │ ├── logViewer-1.1.2.aar.sha1 │ ├── logViewer-1.1.2.pom.sha1 │ ├── logViewer-1.1.2-sources.jar.sha1 │ ├── logViewer-1.1.2.aar │ ├── logViewer-1.1.2-sources.jar │ └── logViewer-1.1.2.pom │ ├── maven-metadata.xml.sha1 │ └── maven-metadata.xml ├── slide.gif ├── LogViewer-release.apk ├── test-LogViewer-release.apk ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .idea ├── vcs.xml ├── runConfigurations.xml ├── modules.xml ├── misc.xml └── codeStyles │ └── Project.xml ├── gradle.properties ├── .gitignore ├── README.md ├── gradlew.bat ├── gradlew ├── LICENSE.txt └── LICENSE /test/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /LogViewer/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /SendLogLibrary/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':LogViewer', ':test', ':SendLogLibrary' 2 | -------------------------------------------------------------------------------- /com/aiushtha/logViewer/maven-metadata.xml.md5: -------------------------------------------------------------------------------- 1 | 51913f0034b0c2a4a2d37f1d2063e418 -------------------------------------------------------------------------------- /slide.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/slide.gif -------------------------------------------------------------------------------- /com/aiushtha/logViewer/1.1.2/logViewer-1.1.2.aar.md5: -------------------------------------------------------------------------------- 1 | d010564dc50e3cd514df3d0be9cda290 -------------------------------------------------------------------------------- /com/aiushtha/logViewer/1.1.2/logViewer-1.1.2.pom.md5: -------------------------------------------------------------------------------- 1 | 304ae4de48494b360a3434d8b6918ce3 -------------------------------------------------------------------------------- /com/aiushtha/logViewer/maven-metadata.xml.sha1: -------------------------------------------------------------------------------- 1 | 0a630d6776753740e24143f690f4bc8f81575f76 -------------------------------------------------------------------------------- /LogViewer/src/main/java/data/event.kt: -------------------------------------------------------------------------------- 1 | package data 2 | 3 | data class Event(var event:Int) -------------------------------------------------------------------------------- /SendLogLibrary/com/aiushtha/logViewer/maven-metadata.xml.md5: -------------------------------------------------------------------------------- 1 | c10d9e64d55d8c0e7bbc9177db940919 -------------------------------------------------------------------------------- /com/aiushtha/logViewer/1.1.2/logViewer-1.1.2-sources.jar.md5: -------------------------------------------------------------------------------- 1 | 45b77d29040c765d2b4b9bbf63944a75 -------------------------------------------------------------------------------- /com/aiushtha/logViewer/1.1.2/logViewer-1.1.2.aar.sha1: -------------------------------------------------------------------------------- 1 | df88cd9ebd066d1b02b908b17bb17a4fb2284e90 -------------------------------------------------------------------------------- /com/aiushtha/logViewer/1.1.2/logViewer-1.1.2.pom.sha1: -------------------------------------------------------------------------------- 1 | eed7c5f33247550a5e0eebce400d6bb8438d1eec -------------------------------------------------------------------------------- /SendLogLibrary/com/aiushtha/logViewer/1.1.2/logViewer-1.1.2.aar.md5: -------------------------------------------------------------------------------- 1 | 6cca78e14befc3dde8efc61180e67ef3 -------------------------------------------------------------------------------- /SendLogLibrary/com/aiushtha/logViewer/1.1.2/logViewer-1.1.2.pom.md5: -------------------------------------------------------------------------------- 1 | 304ae4de48494b360a3434d8b6918ce3 -------------------------------------------------------------------------------- /SendLogLibrary/com/aiushtha/logViewer/maven-metadata.xml.sha1: -------------------------------------------------------------------------------- 1 | 8f2730d49adb4a97fef675aeef75b702f4cd87cf -------------------------------------------------------------------------------- /com/aiushtha/logViewer/1.1.2/logViewer-1.1.2-sources.jar.sha1: -------------------------------------------------------------------------------- 1 | 30df9874cb9a34981dad5b22ca2b09099a9372c7 -------------------------------------------------------------------------------- /LogViewer-release.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/LogViewer-release.apk -------------------------------------------------------------------------------- /SendLogLibrary/com/aiushtha/logViewer/1.1.2/logViewer-1.1.2-sources.jar.md5: -------------------------------------------------------------------------------- 1 | bbd6b4289fee288bb008cbf9060c4daf -------------------------------------------------------------------------------- /SendLogLibrary/com/aiushtha/logViewer/1.1.2/logViewer-1.1.2.aar.sha1: -------------------------------------------------------------------------------- 1 | 784a2ee4f41d80da52e8d3bfda67ad720280c43f -------------------------------------------------------------------------------- /SendLogLibrary/com/aiushtha/logViewer/1.1.2/logViewer-1.1.2.pom.sha1: -------------------------------------------------------------------------------- 1 | eed7c5f33247550a5e0eebce400d6bb8438d1eec -------------------------------------------------------------------------------- /SendLogLibrary/com/aiushtha/logViewer/1.1.2/logViewer-1.1.2-sources.jar.sha1: -------------------------------------------------------------------------------- 1 | e5d685884a37a3811699fe23404e31b9e2a7ae88 -------------------------------------------------------------------------------- /test-LogViewer-release.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/test-LogViewer-release.apk -------------------------------------------------------------------------------- /test/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Test 3 | 4 | -------------------------------------------------------------------------------- /LogViewer/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | LogViewer 3 | 4 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /SendLogLibrary/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | My Library 3 | 4 | -------------------------------------------------------------------------------- /LogViewer/src/main/res/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/LogViewer/src/main/res/drawable/icon.png -------------------------------------------------------------------------------- /LogViewer/src/main/res/drawable/window.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/LogViewer/src/main/res/drawable/window.9.png -------------------------------------------------------------------------------- /LogViewer/src/main/res/mipmap-xxxhdpi/log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/LogViewer/src/main/res/mipmap-xxxhdpi/log.png -------------------------------------------------------------------------------- /test/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/test/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /test/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/test/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /LogViewer/src/main/java/data/data.kt: -------------------------------------------------------------------------------- 1 | package data 2 | 3 | data class Item(var name:String,var width:Int) 4 | 5 | data class Rows(var data:ArrayList) -------------------------------------------------------------------------------- /SendLogLibrary/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /com/aiushtha/logViewer/1.1.2/logViewer-1.1.2.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/com/aiushtha/logViewer/1.1.2/logViewer-1.1.2.aar -------------------------------------------------------------------------------- /test/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/test/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /test/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/test/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /test/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/test/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LogViewer/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/LogViewer/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /LogViewer/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/LogViewer/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /LogViewer/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/LogViewer/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LogViewer/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/LogViewer/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LogViewer/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/LogViewer/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /test/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/test/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /test/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/test/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /test/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/test/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /test/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/test/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /test/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/test/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LogViewer/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/LogViewer/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LogViewer/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/LogViewer/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LogViewer/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/LogViewer/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /LogViewer/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/LogViewer/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /com/aiushtha/logViewer/1.1.2/logViewer-1.1.2-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/com/aiushtha/logViewer/1.1.2/logViewer-1.1.2-sources.jar -------------------------------------------------------------------------------- /LogViewer/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/LogViewer/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /SendLogLibrary/com/aiushtha/logViewer/1.1.2/logViewer-1.1.2.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/SendLogLibrary/com/aiushtha/logViewer/1.1.2/logViewer-1.1.2.aar -------------------------------------------------------------------------------- /LogViewer/src/main/res/drawable-xhdpi/media_more_button_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/LogViewer/src/main/res/drawable-xhdpi/media_more_button_selected.png -------------------------------------------------------------------------------- /LogViewer/src/main/res/drawable-xhdpi/media_share_button_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/LogViewer/src/main/res/drawable-xhdpi/media_share_button_selected.png -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/txt.css: -------------------------------------------------------------------------------- 1 | *{padding:10;margin:10;} 2 | h5{color:#7F7F7F;align = left;} 3 | h4{align = left;} 4 | body{style="background: white; font-family: Helvetica";} 5 | h3{align = center;} -------------------------------------------------------------------------------- /LogViewer/src/main/res/drawable-xhdpi/novel_chapter_menu_close_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/LogViewer/src/main/res/drawable-xhdpi/novel_chapter_menu_close_normal.png -------------------------------------------------------------------------------- /SendLogLibrary/com/aiushtha/logViewer/1.1.2/logViewer-1.1.2-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Aiushtha/Android-LogViewer/HEAD/SendLogLibrary/com/aiushtha/logViewer/1.1.2/logViewer-1.1.2-sources.jar -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /LogViewer/src/main/java/helper/GsonHelper.kt: -------------------------------------------------------------------------------- 1 | package helper 2 | 3 | import com.google.gson.Gson 4 | 5 | 6 | 7 | inline fun changeJsonObj(obj:Any,t:Class):T{ 8 | return Gson().fromJson(Gson().toJson(obj), t); 9 | } -------------------------------------------------------------------------------- /test/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /LogViewer/src/main/res/drawable/divider.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue May 22 09:38:27 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip 7 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-rd.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["com",/^%[^\n\r]*/,null,"%"]],[["lit",/^\\(?:cr|l?dots|R|tab)\b/],["kwd",/^\\[@-Za-z]+/],["kwd",/^#(?:ifn?def|endif)/],["pln",/^\\[{}]/],["pun",/^[()[\]{}]+/]]),["Rd","rd"]); 2 | -------------------------------------------------------------------------------- /LogViewer/src/main/res/xml/share_file_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-go.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["pln",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])+(?:'|$)|`[^`]*(?:`|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\/\*[\S\s]*?\*\/)/],["pln",/^(?:[^"'/`]|\/(?![*/]))+/]]),["go"]); 2 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-tex.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["com",/^%[^\n\r]*/,null,"%"]],[["kwd",/^\\[@-Za-z]+/],["kwd",/^\\./],["typ",/^[$&]/],["lit",/[+-]?(?:\.\d+|\d+(?:\.\d*)?)(cm|em|ex|in|pc|pt|bp|mm)/i],["pun",/^[()=[\]{}]+/]]),["latex","tex"]); 2 | -------------------------------------------------------------------------------- /LogViewer/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /test/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /LogViewer/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /test/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-proto.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.sourceDecorator({keywords:"bytes,default,double,enum,extend,extensions,false,group,import,max,message,option,optional,package,repeated,required,returns,rpc,service,syntax,to,true",types:/^(bool|(double|s?fixed|[su]?int)(32|64)|float|string)\b/,cStyleComments:!0}),["proto"]); 2 | -------------------------------------------------------------------------------- /com/aiushtha/logViewer/maven-metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.aiushtha 4 | logViewer 5 | 6 | 1.1.2 7 | 8 | 1.1.2 9 | 10 | 20180522134243 11 | 12 | 13 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-llvm.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^!?"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["com",/^;[^\n\r]*/,null,";"]],[["pln",/^[!%@](?:[$\-.A-Z_a-z][\w$\-.]*|\d+)/],["kwd",/^[^\W\d]\w*/,null],["lit",/^\d+\.\d+/],["lit",/^(?:\d+|0[Xx][\dA-Fa-f]+)/],["pun",/^[(-*,:<->[\]{}]|\.\.\.$/]]),["llvm","ll"]); 2 | -------------------------------------------------------------------------------- /SendLogLibrary/com/aiushtha/logViewer/maven-metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.aiushtha 4 | logViewer 5 | 6 | 1.1.2 7 | 8 | 1.1.2 9 | 10 | 20180522134113 11 | 12 | 13 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-yaml.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["pun",/^[:>?|]+/,a,":|>?"],["dec",/^%(?:YAML|TAG)[^\n\r#]+/,a,"%"],["typ",/^&\S+/,a,"&"],["typ",/^!\S*/,a,"!"],["str",/^"(?:[^"\\]|\\.)*(?:"|$)/,a,'"'],["str",/^'(?:[^']|'')*(?:'|$)/,a,"'"],["com",/^#[^\n\r]*/,a,"#"],["pln",/^\s+/,a," \t\r\n"]],[["dec",/^(?:---|\.\.\.)(?:[\n\r]|$)/],["pun",/^-/],["kwd",/^\w+:[\n\r ]/],["pln",/^\w+/]]),["yaml","yml"]); 3 | -------------------------------------------------------------------------------- /LogViewer/src/main/res/drawable/circle_grey.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | 12 | -------------------------------------------------------------------------------- /test/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /test/src/test/java/cmn/v/com/test/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package cmn.v.com.test 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /LogViewer/src/main/res/drawable/circle_red.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | 12 | -------------------------------------------------------------------------------- /LogViewer/src/main/res/drawable/shape_textview.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | 12 | -------------------------------------------------------------------------------- /com/aiushtha/logViewer/1.1.2/logViewer-1.1.2.pom: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | com.aiushtha 6 | logViewer 7 | 1.1.2 8 | aar 9 | 10 | -------------------------------------------------------------------------------- /SendLogLibrary/src/test/java/org/lxz/utils/log/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package org.lxz.utils.log; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /SendLogLibrary/com/aiushtha/logViewer/1.1.2/logViewer-1.1.2.pom: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | com.aiushtha 6 | logViewer 7 | 1.1.2 8 | aar 9 | 10 | -------------------------------------------------------------------------------- /LogViewer/src/main/java/sql/SqlMessageLog.kt: -------------------------------------------------------------------------------- 1 | package sql 2 | 3 | import android.os.Parcelable 4 | import io.requery.* 5 | 6 | @Entity 7 | interface SqlMessageLog : Parcelable, Persistable { 8 | 9 | 10 | @get:Key 11 | @get:Generated 12 | var id:Int? 13 | var applicationId: String? 14 | var createTime: String? 15 | var level: String? 16 | var type: String? 17 | var src: String? 18 | var subject: String? 19 | var content: String? 20 | var url: String? 21 | var tag: String? 22 | } -------------------------------------------------------------------------------- /LogViewer/src/main/res/layout/adapter_item_log.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 12 | -------------------------------------------------------------------------------- /LogViewer/src/test/java/com/example/yhao/fixedfloatwindow/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package org.lxz.utils.logviewer; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-basic.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["str",/^"(?:[^\n\r"\\]|\\.)*(?:"|$)/,a,'"'],["pln",/^\s+/,a," \r\n\t\u00a0"]],[["com",/^REM[^\n\r]*/,a],["kwd",/^\b(?:AND|CLOSE|CLR|CMD|CONT|DATA|DEF ?FN|DIM|END|FOR|GET|GOSUB|GOTO|IF|INPUT|LET|LIST|LOAD|NEW|NEXT|NOT|ON|OPEN|OR|POKE|PRINT|READ|RESTORE|RETURN|RUN|SAVE|STEP|STOP|SYS|THEN|TO|VERIFY|WAIT)\b/,a],["pln",/^[a-z][^\W_]?(?:\$|%)?/i,a],["lit",/^(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i,a,"0123456789"],["pun", 3 | /^.[^\s\w"$%.]*/,a]]),["basic","cbm"]); 4 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-wiki.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\d\t a-gi-z\xa0]+/,null,"\t \u00a0abcdefgijklmnopqrstuvwxyz0123456789"],["pun",/^[*=[\]^~]+/,null,"=*~^[]"]],[["lang-wiki.meta",/(?:^^|\r\n?|\n)(#[a-z]+)\b/],["lit",/^[A-Z][a-z][\da-z]+[A-Z][a-z][^\W_]+\b/],["lang-",/^{{{([\S\s]+?)}}}/],["lang-",/^`([^\n\r`]+)`/],["str",/^https?:\/\/[^\s#/?]*(?:\/[^\s#?]*)?(?:\?[^\s#]*)?(?:#\S*)?/i],["pln",/^(?:\r\n|[\S\s])[^\n\r#*=A-[^`h{~]*/]]),["wiki"]); 2 | PR.registerLangHandler(PR.createSimpleLexer([["kwd",/^#[a-z]+/i,null,"#"]],[]),["wiki.meta"]); 3 | -------------------------------------------------------------------------------- /LogViewer/src/main/res/drawable/tv_bg_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-lua.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$))/,null,"\"'"]],[["com",/^--(?:\[(=*)\[[\S\s]*?(?:]\1]|$)|[^\n\r]*)/],["str",/^\[(=*)\[[\S\s]*?(?:]\1]|$)/],["kwd",/^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,null],["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i], 2 | ["pln",/^[_a-z]\w*/i],["pun",/^[^\w\t\n\r \xa0][^\w\t\n\r "'+=\xa0-]*/]]),["lua"]); 3 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-hs.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t-\r ]+/,null,"\t\n\u000b\u000c\r "],["str",/^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["str",/^'(?:[^\n\f\r'\\]|\\[^&])'?/,null,"'"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,null,"0123456789"]],[["com",/^(?:--+[^\n\f\r]*|{-(?:[^-]|-+[^}-])*-})/],["kwd",/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^\d'A-Za-z]|$)/, 2 | null],["pln",/^(?:[A-Z][\w']*\.)*[A-Za-z][\w']*/],["pun",/^[^\d\t-\r "'A-Za-z]+/]]),["hs"]); 3 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-erlang.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t-\r ]+/,null,"\t\n\u000b\u000c\r "],["str",/^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["lit",/^[a-z]\w*/],["lit",/^'(?:[^\n\f\r'\\]|\\[^&])+'?/,null,"'"],["lit",/^\?[^\t\n ({]+/,null,"?"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,null,"0123456789"]],[["com",/^%[^\n]*/],["kwd",/^(?:module|attributes|do|let|in|letrec|apply|call|primop|case|of|end|when|fun|try|catch|receive|after|char|integer|float,atom,string,var)\b/], 2 | ["kwd",/^-[_a-z]+/],["typ",/^[A-Z_]\w*/],["pun",/^[,.;]/]]),["erlang","erl"]); 3 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /LogViewer/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | #66666666 8 | #FF0000 9 | #00FF00 10 | #007dff 11 | #FFFF00 12 | #FF00FF 13 | 14 | #2b2b2b 15 | 16 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-tcl.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^{+/,a,"{"],["clo",/^}+/,a,"}"],["com",/^#[^\n\r]*/,a,"#"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:after|append|apply|array|break|case|catch|continue|error|eval|exec|exit|expr|for|foreach|if|incr|info|proc|return|set|switch|trace|uplevel|upvar|while)\b/,a],["lit",/^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i],["lit", 3 | /^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["tcl"]); 4 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/prettify.css: -------------------------------------------------------------------------------- 1 | .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} 2 | 3 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-r.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["str",/^'(?:[^'\\]|\\[\S\s])*(?:'|$)/,null,"'"]],[["com",/^#.*/],["kwd",/^(?:if|else|for|while|repeat|in|next|break|return|switch|function)(?![\w.])/],["lit",/^0[Xx][\dA-Fa-f]+([Pp]\d+)?[Li]?/],["lit",/^[+-]?(\d+(\.\d+)?|\.\d+)([Ee][+-]?\d+)?[Li]?/],["lit",/^(?:NULL|NA(?:_(?:integer|real|complex|character)_)?|Inf|TRUE|FALSE|NaN|\.\.(?:\.|\d+))(?![\w.])/], 2 | ["pun",/^(?:<>?|-|==|<=|>=|<|>|&&?|!=|\|\|?|[!*+/^]|%.*?%|[$=@~]|:{1,3}|[(),;?[\]{}])/],["pln",/^(?:[A-Za-z]+[\w.]*|\.[^\W\d][\w.]*)(?![\w.])/],["str",/^`.+`/]]),["r","s","R","S","Splus"]); 3 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-pascal.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["str",/^'(?:[^\n\r'\\]|\\.)*(?:'|$)/,a,"'"],["pln",/^\s+/,a," \r\n\t\u00a0"]],[["com",/^\(\*[\S\s]*?(?:\*\)|$)|^{[\S\s]*?(?:}|$)/,a],["kwd",/^(?:absolute|and|array|asm|assembler|begin|case|const|constructor|destructor|div|do|downto|else|end|external|for|forward|function|goto|if|implementation|in|inline|interface|interrupt|label|mod|not|object|of|or|packed|procedure|program|record|repeat|set|shl|shr|then|to|type|unit|until|uses|var|virtual|while|with|xor)\b/i,a], 3 | ["lit",/^(?:true|false|self|nil)/i,a],["pln",/^[a-z][^\W_]*/i,a],["lit",/^(?:\$[\da-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)/i,a,"0123456789"],["pun",/^.[^\s\w$'./@]*/,a]]),["pascal"]); 4 | -------------------------------------------------------------------------------- /test/src/androidTest/java/cmn/v/com/test/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package cmn.v.com.test 2 | 3 | import android.support.test.InstrumentationRegistry 4 | import android.support.test.runner.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getTargetContext() 22 | assertEquals("cmn.v.com.test", appContext.packageName) 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-lisp.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^\(+/,a,"("],["clo",/^\)+/,a,")"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:block|c[ad]+r|catch|con[ds]|def(?:ine|un)|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\b/,a], 3 | ["lit",/^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["cl","el","lisp","lsp","scm","ss","rkt"]); 4 | -------------------------------------------------------------------------------- /test/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1536m 13 | 14 | # When configured, Gradle will run in incubating parallel mode. 15 | # This option should only be used with decoupled projects. More details, visit 16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 17 | # org.gradle.parallel=true 18 | android.enableAapt2=false -------------------------------------------------------------------------------- /test/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /LogViewer/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /SendLogLibrary/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-css.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n\u000c"]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]+)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//], 2 | ["com",/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}\b/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]); 3 | -------------------------------------------------------------------------------- /LogViewer/src/main/java/data/Share.kt: -------------------------------------------------------------------------------- 1 | package data 2 | 3 | import android.support.design.widget.BottomSheetBehavior 4 | import com.lxz.kotlin.tools.share.ShareSave 5 | import data.Item 6 | import data.Rows 7 | 8 | class Share { 9 | companion object { 10 | var rows: Rows by ShareSave(Rows(arrayListOf( 11 | Item("id", 300), 12 | Item("createTime", 300), 13 | Item("level", 300), 14 | Item("type", 300), 15 | Item("src", 300), 16 | Item("subject", 300), 17 | Item("content", 300), 18 | Item("url", 300), 19 | Item("tag", 300)))) 20 | 21 | var behavior_state:Int by ShareSave(BottomSheetBehavior.STATE_COLLAPSED) 22 | 23 | var showWindow:Boolean by ShareSave(true) 24 | var maxCount:Int by ShareSave(100) 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-mumps.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:[^"]|\\.)*"/,null,'"']],[["com",/^;[^\n\r]*/,null,";"],["dec",/^\$(?:d|device|ec|ecode|es|estack|et|etrap|h|horolog|i|io|j|job|k|key|p|principal|q|quit|st|stack|s|storage|sy|system|t|test|tl|tlevel|tr|trestart|x|y|z[a-z]*|a|ascii|c|char|d|data|e|extract|f|find|fn|fnumber|g|get|j|justify|l|length|na|name|o|order|p|piece|ql|qlength|qs|qsubscript|q|query|r|random|re|reverse|s|select|st|stack|t|text|tr|translate|nan)\b/i, 2 | null],["kwd",/^(?:[^$]b|break|c|close|d|do|e|else|f|for|g|goto|h|halt|h|hang|i|if|j|job|k|kill|l|lock|m|merge|n|new|o|open|q|quit|r|read|s|set|tc|tcommit|tre|trestart|tro|trollback|ts|tstart|u|use|v|view|w|write|x|xecute)\b/i,null],["lit",/^[+-]?(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?/i],["pln",/^[a-z][^\W_]*/i],["pun",/^[^\w\t\n\r"$%;^\xa0]|_/]]),["mumps"]); 3 | -------------------------------------------------------------------------------- /SendLogLibrary/src/androidTest/java/org/lxz/utils/log/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package org.lxz.utils.log; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumented test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("org.lxz.utils.log.test", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-scala.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:""(?:""?(?!")|[^"\\]|\\.)*"{0,3}|(?:[^\n\r"\\]|\\.)*"?)/,null,'"'],["lit",/^`(?:[^\n\r\\`]|\\.)*`?/,null,"`"],["pun",/^[!#%&(--:-@[-^{-~]+/,null,"!#%&()*+,-:;<=>?@[\\]^{|}~"]],[["str",/^'(?:[^\n\r'\\]|\\(?:'|[^\n\r']+))'/],["lit",/^'[$A-Z_a-z][\w$]*(?![\w$'])/],["kwd",/^(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|object|override|package|private|protected|requires|return|sealed|super|throw|trait|try|type|val|var|while|with|yield)\b/], 2 | ["lit",/^(?:true|false|null|this)\b/],["lit",/^(?:0(?:[0-7]+|x[\da-f]+)l?|(?:0|[1-9]\d*)(?:(?:\.\d+)?(?:e[+-]?\d+)?f?|l?)|\\.\d+(?:e[+-]?\d+)?f?)/i],["typ",/^[$_]*[A-Z][\d$A-Z_]*[a-z][\w$]*/],["pln",/^[$A-Z_a-z][\w$]*/],["com",/^\/(?:\/.*|\*(?:\/|\**[^*/])*(?:\*+\/?)?)/],["pun",/^(?:\.+|\/)/]]),["scala"]); 3 | -------------------------------------------------------------------------------- /LogViewer/src/main/java/view/SpacesItemDecoration.java: -------------------------------------------------------------------------------- 1 | package view; 2 | 3 | import android.graphics.Rect; 4 | import android.support.v7.widget.RecyclerView; 5 | import android.view.View; 6 | 7 | public class SpacesItemDecoration extends RecyclerView.ItemDecoration { 8 | private int space; 9 | 10 | 11 | public SpacesItemDecoration(int space) { 12 | this.space = space; 13 | } 14 | 15 | @Override 16 | public void getItemOffsets(Rect outRect, View view, 17 | RecyclerView parent, RecyclerView.State state) { 18 | outRect.left = space; 19 | outRect.right = space; 20 | outRect.bottom = space; 21 | outRect.top = space; 22 | // outRect.top = space; 23 | // Add top margin only for the first item to avoid double space between items 24 | // if (parent.getChildAdapterPosition(view) == 0) 25 | // outRect.left = 0; 26 | } 27 | 28 | 29 | } -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-dart.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"]],[["com",/^#!.*/],["kwd",/^\b(?:import|library|part of|part|as|show|hide)\b/i],["com",/^\/\/.*/],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["kwd",/^\b(?:class|interface)\b/i],["kwd",/^\b(?:assert|break|case|catch|continue|default|do|else|finally|for|if|in|is|new|return|super|switch|this|throw|try|while)\b/i],["kwd",/^\b(?:abstract|const|extends|factory|final|get|implements|native|operator|set|static|typedef|var)\b/i], 2 | ["typ",/^\b(?:bool|double|dynamic|int|num|object|string|void)\b/i],["kwd",/^\b(?:false|null|true)\b/i],["str",/^r?'''[\S\s]*?[^\\]'''/],["str",/^r?"""[\S\s]*?[^\\]"""/],["str",/^r?'('|[^\n\f\r]*?[^\\]')/],["str",/^r?"("|[^\n\f\r]*?[^\\]")/],["pln",/^[$_a-z]\w*/i],["pun",/^[!%&*+/:<-?^|~-]/],["lit",/^\b0x[\da-f]+/i],["lit",/^\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i],["lit",/^\b\.\d+(?:e[+-]?\d+)?/i],["pun",/^[(),.;[\]{}]/]]), 3 | ["dart"]); 4 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/lang-apollo.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["com",/^#[^\n\r]*/,null,"#"],["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"']],[["kwd",/^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\s/, 2 | null],["typ",/^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[ES]?BANK=?|BLOCK|BNKSUM|E?CADR|COUNT\*?|2?DEC\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\s/,null],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[!-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["apollo","agc","aea"]); 3 | -------------------------------------------------------------------------------- /LogViewer/src/main/assets/rtf/code_demo.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | Hello SyntaxHighlighter 7 | 8 | 9 | 11 | 12 | 13 | 14 | 15 | 16 |
日志查看
17 |

18 | 
19 | 
20 | 
35 | 
36 | 
37 | 


--------------------------------------------------------------------------------
/LogViewer/src/main/assets/rtf/lang-ml.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["com",/^#(?:if[\t\n\r \xa0]+(?:[$_a-z][\w']*|``[^\t\n\r`]*(?:``|$))|else|endif|light)/i,null,"#"],["str",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])(?:'|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\(\*[\S\s]*?\*\))/],["kwd",/^(?:abstract|and|as|assert|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|if|in|inherit|inline|interface|internal|lazy|let|match|member|module|mutable|namespace|new|null|of|open|or|override|private|public|rec|return|static|struct|then|to|true|try|type|upcast|use|val|void|when|while|with|yield|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|global|include|method|mixin|object|parallel|process|protected|pure|sealed|trait|virtual|volatile)\b/],
2 | ["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],["pln",/^(?:[_a-z][\w']*[!#?]?|``[^\t\n\r`]*(?:``|$))/i],["pun",/^[^\w\t\n\r "'\xa0]+/]]),["fs","ml"]);
3 | 


--------------------------------------------------------------------------------
/LogViewer/src/main/res/layout/adapter_item_log_head.xml:
--------------------------------------------------------------------------------
 1 | 
 2 | 
 7 | 
 8 | 
 9 | 
10 |     
14 | 
15 |     
17 | 
18 |     
25 |     
29 | 
30 | 
31 | 
32 | 
33 | 
34 | 


--------------------------------------------------------------------------------
/LogViewer/src/main/res/layout/activity_webview.xml:
--------------------------------------------------------------------------------
 1 | 
 2 | 
 5 | 
 6 |     
12 | 
13 |     
22 |         
27 |     
28 | 
29 | 


--------------------------------------------------------------------------------
/LogViewer/src/main/res/layout/view_window.xml:
--------------------------------------------------------------------------------
 1 | 
 2 | 
 5 | 
 6 |     
12 | 
13 |     
21 |         
22 |         
31 |     
32 | 
33 | 
34 | 
35 | 


--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
 1 | # Built application files
 2 | *.apk
 3 | *.ap_
 4 | 
 5 | # Files for the ART/Dalvik VM
 6 | *.dex
 7 | 
 8 | # Java class files
 9 | *.class
10 | 
11 | # Generated files
12 | bin/
13 | gen/
14 | out/
15 | 
16 | # Gradle files
17 | .gradle/
18 | build/
19 | 
20 | # Local configuration file (sdk path, etc)
21 | local.properties
22 | 
23 | # Proguard folder generated by Eclipse
24 | proguard/
25 | 
26 | # Log Files
27 | *.log
28 | 
29 | # Android Studio Navigation editor temp files
30 | .navigation/
31 | 
32 | # Android Studio captures folder
33 | captures/
34 | 
35 | # IntelliJ
36 | *.iml
37 | .idea/workspace.xml
38 | .idea/tasks.xml
39 | .idea/gradle.xml
40 | .idea/assetWizardSettings.xml
41 | .idea/dictionaries
42 | .idea/libraries
43 | .idea/caches
44 | 
45 | # Keystore files
46 | # Uncomment the following line if you do not want to check your keystore files in.
47 | #*.jks
48 | 
49 | # External native build folder generated in Android Studio 2.2 and later
50 | .externalNativeBuild
51 | 
52 | # Google Services (e.g. APIs or Firebase)
53 | google-services.json
54 | 
55 | # Freeline
56 | freeline.py
57 | freeline/
58 | freeline_project_description.json
59 | 
60 | # fastlane
61 | fastlane/report.xml
62 | fastlane/Preview.html
63 | fastlane/screenshots
64 | fastlane/test_output
65 | fastlane/readme.md
66 | 


--------------------------------------------------------------------------------
/LogViewer/src/main/java/org/lxz/utils/logviewer/zcode.bak:
--------------------------------------------------------------------------------
 1 | //             App.instance.dbSource.readableDatabase.rawQuery("select name from sqlite_master where type='table' order by nam")
 2 | //                     .
 3 | 
 4 | //var cursor: Cursor? = App.instance.dbSource.readableDatabase.rawQuery(
 5 | //        "SELECT name FROM sqlite_master WHERE type ='table'", null)
 6 | //if (cursor != null) {
 7 | //    while (cursor.moveToNext()) {
 8 | //        val tablename = cursor.getString(0)
 9 | //        Log.d("test","==>"+tablename)
10 | //    }
11 | //}
12 | ////             App.instance.dbSource.writableDatabase.rawQuery("DROP TABLE  ${SqlMessageLog::class.java.simpleName}",null)
13 | ////
14 | //
15 | //App.db.raw("delete from '${SqlMessageLog::class.java.simpleName}' where 1 = ? ", arrayListOf(1)).toObservable().subscribe()
16 | //App.db.raw("update sqlite_sequence set seq=0 where name='${SqlMessageLog::class.java.simpleName}' and 1 = ?",arrayListOf(1)).toObservable().subscribe()
17 | //
18 | //
19 | 
20 | //             App.db.raw("SELECT name FROM sqlite_master WHERE type=’view’ ORDER BY name")
21 | //                     .toObservable()
22 | //                     .subscribeBy {
23 | //                         Toast.makeText(this,it.count().toString(),Toast.LENGTH_LONG).show()
24 | //                     }
25 | //                     .update(SqlMessageLogEntity::class)
26 | 
27 | //


--------------------------------------------------------------------------------
/LogViewer/src/main/assets/rtf/lang-n.js:
--------------------------------------------------------------------------------
1 | var a=null;
2 | PR.registerLangHandler(PR.createSimpleLexer([["str",/^(?:'(?:[^\n\r'\\]|\\.)*'|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,a,'"'],["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,a,"#"],["pln",/^\s+/,a," \r\n\t\u00a0"]],[["str",/^@"(?:[^"]|"")*(?:"|$)/,a],["str",/^<#[^#>]*(?:#>|$)/,a],["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,a],["com",/^\/\/[^\n\r]*/,a],["com",/^\/\*[\S\s]*?(?:\*\/|$)/,
3 | a],["kwd",/^(?:abstract|and|as|base|catch|class|def|delegate|enum|event|extern|false|finally|fun|implements|interface|internal|is|macro|match|matches|module|mutable|namespace|new|null|out|override|params|partial|private|protected|public|ref|sealed|static|struct|syntax|this|throw|true|try|type|typeof|using|variant|virtual|volatile|when|where|with|assert|assert2|async|break|checked|continue|do|else|ensures|for|foreach|if|late|lock|new|nolate|otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unless|using|while|yield)\b/,
4 | a],["typ",/^(?:array|bool|byte|char|decimal|double|float|int|list|long|object|sbyte|short|string|ulong|uint|ufloat|ulong|ushort|void)\b/,a],["lit",/^@[$_a-z][\w$@]*/i,a],["typ",/^@[A-Z]+[a-z][\w$@]*/,a],["pln",/^'?[$_a-z][\w$@]*/i,a],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,a,"0123456789"],["pun",/^.[^\s\w"-$'./@`]*/,a]]),["n","nemerle"]);
5 | 


--------------------------------------------------------------------------------
/LogViewer/src/main/assets/rtf/lang-vhdl.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"]],[["str",/^(?:[box]?"(?:[^"]|"")*"|'.')/i],["com",/^--[^\n\r]*/],["kwd",/^(?:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with|xnor|xor)(?=[^\w-]|$)/i,
2 | null],["typ",/^(?:bit|bit_vector|character|boolean|integer|real|time|string|severity_level|positive|natural|signed|unsigned|line|text|std_u?logic(?:_vector)?)(?=[^\w-]|$)/i,null],["typ",/^'(?:active|ascending|base|delayed|driving|driving_value|event|high|image|instance_name|last_active|last_event|last_value|left|leftof|length|low|path_name|pos|pred|quiet|range|reverse_range|right|rightof|simple_name|stable|succ|transaction|val|value)(?=[^\w-]|$)/i,null],["lit",/^\d+(?:_\d+)*(?:#[\w.\\]+#(?:[+-]?\d+(?:_\d+)*)?|(?:\.\d+(?:_\d+)*)?(?:e[+-]?\d+(?:_\d+)*)?)/i],
3 | ["pln",/^(?:[a-z]\w*|\\[^\\]*\\)/i],["pun",/^[^\w\t\n\r "'\xa0][^\w\t\n\r "'\xa0-]*/]]),["vhdl","vhd"]);
4 | 


--------------------------------------------------------------------------------
/LogViewer/src/main/res/layout/adapter_item_setting.xml:
--------------------------------------------------------------------------------
 1 | 
 2 | 
 8 | 
 9 |     
19 | 
20 |     
35 | 


--------------------------------------------------------------------------------
/test/build.gradle:
--------------------------------------------------------------------------------
 1 | apply plugin: 'com.android.application'
 2 | apply plugin: 'kotlin-android'
 3 | apply plugin: 'kotlin-android-extensions'
 4 | android {
 5 |     compileSdkVersion 27
 6 |     buildToolsVersion "27.0.3"
 7 | 
 8 | 
 9 |     defaultConfig {
10 |         applicationId "cmn.v.com.test"
11 |         minSdkVersion 26
12 |         targetSdkVersion 27
13 |         versionCode 1
14 |         versionName "1.0"
15 | 
16 |         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
17 | 
18 |     }
19 | 
20 |     buildTypes {
21 |         release {
22 |             minifyEnabled false
23 |             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
24 |         }
25 |     }
26 | 
27 | }
28 | 
29 | dependencies {
30 |     compile fileTree(include: ['*.jar'], dir: 'libs')
31 |     compile 'com.android.support:appcompat-v7:27.0.2'
32 |     compile 'com.android.support.constraint:constraint-layout:1.0.2'
33 |     testCompile 'junit:junit:4.12'
34 |     androidTestCompile('com.android.support.test.espresso:espresso-core:3.0.1', {
35 |         exclude group: 'com.android.support', module: 'support-annotations'
36 |     })
37 |     compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
38 |     compile 'com.aiushtha:logViewer:1.1.2'
39 |     implementation 'com.google.code.gson:gson:2.8.5'
40 | }
41 | 
42 | 
43 | allprojects {
44 |     repositories {
45 |         maven { url "https://raw.githubusercontent.com/Aiushtha/Android-LogViewer//master" }
46 |     }
47 | }
48 | 


--------------------------------------------------------------------------------
/LogViewer/src/main/assets/rtf/lang-clj.js:
--------------------------------------------------------------------------------
 1 | /*
 2 |  Copyright (C) 2011 Google Inc.
 3 | 
 4 |  Licensed under the Apache License, Version 2.0 (the "License");
 5 |  you may not use this file except in compliance with the License.
 6 |  You may obtain a copy of the License at
 7 | 
 8 |  http://www.apache.org/licenses/LICENSE-2.0
 9 | 
10 |  Unless required by applicable law or agreed to in writing, software
11 |  distributed under the License is distributed on an "AS IS" BASIS,
12 |  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  See the License for the specific language governing permissions and
14 |  limitations under the License.
15 | */
16 | var a=null;
17 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^[([{]+/,a,"([{"],["clo",/^[)\]}]+/,a,")]}"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:def|if|do|let|quote|var|fn|loop|recur|throw|try|monitor-enter|monitor-exit|defmacro|defn|defn-|macroexpand|macroexpand-1|for|doseq|dosync|dotimes|and|or|when|not|assert|doto|proxy|defstruct|first|rest|cons|defprotocol|deftype|defrecord|reify|defmulti|defmethod|meta|with-meta|ns|in-ns|create-ns|import|intern|refer|alias|namespace|resolve|ref|deref|refset|new|set!|memfn|to-array|into-array|aset|gen-class|reduce|map|filter|find|nil?|empty?|hash-map|hash-set|vec|vector|seq|flatten|reverse|assoc|dissoc|list|list?|disj|get|union|difference|intersection|extend|extend-type|extend-protocol|prn)\b/,a],
18 | ["typ",/^:[\dA-Za-z-]+/]]),["clj"]);
19 | 


--------------------------------------------------------------------------------
/LogViewer/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
 1 | 
 2 | 
 3 |     
 4 |     
15 | 
16 |     
26 | 
27 |     
35 | 
36 | 
37 | 


--------------------------------------------------------------------------------
/LogViewer/src/main/java/data/MessageLogBean.kt:
--------------------------------------------------------------------------------
 1 | package data
 2 | 
 3 | import android.os.Parcel
 4 | import android.os.Parcelable
 5 | 
 6 | data class MessageLogBean(
 7 |         var applicationId: String,
 8 |         var createTime: String,
 9 |         var id: String,
10 |         var level: String,
11 |         var type: String,
12 |         var src: String,
13 |         var subject: String,
14 |         var content: String,
15 |         var url: String,
16 |         var tag: String
17 | ) : Parcelable {
18 |     constructor(source: Parcel) : this(
19 |             source.readString(),
20 |             source.readString(),
21 |             source.readString(),
22 |             source.readString(),
23 |             source.readString(),
24 |             source.readString(),
25 |             source.readString(),
26 |             source.readString(),
27 |             source.readString(),
28 |             source.readString()
29 |     )
30 | 
31 |     override fun describeContents() = 0
32 | 
33 |     override fun writeToParcel(dest: Parcel, flags: Int) = with(dest) {
34 |         writeString(applicationId)
35 |         writeString(createTime)
36 |         writeString(id)
37 |         writeString(level)
38 |         writeString(type)
39 |         writeString(src)
40 |         writeString(subject)
41 |         writeString(content)
42 |         writeString(url)
43 |         writeString(tag)
44 | 
45 |     }
46 | 
47 |     companion object {
48 |         @JvmField
49 |         val CREATOR: Parcelable.Creator = object : Parcelable.Creator {
50 |             override fun createFromParcel(source: Parcel): MessageLogBean = MessageLogBean(source)
51 |             override fun newArray(size: Int): Array = arrayOfNulls(size)
52 |         }
53 |     }
54 | }


--------------------------------------------------------------------------------
/LogViewer/src/main/assets/rtf/lang-vb.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0\u2028\u2029]+/,null,"\t\n\r \u00a0\u2028\u2029"],["str",/^(?:["\u201c\u201d](?:[^"\u201c\u201d]|["\u201c\u201d]{2})(?:["\u201c\u201d]c|$)|["\u201c\u201d](?:[^"\u201c\u201d]|["\u201c\u201d]{2})*(?:["\u201c\u201d]|$))/i,null,'"\u201c\u201d'],["com",/^['\u2018\u2019](?:_(?:\r\n?|[^\r]?)|[^\n\r_\u2028\u2029])*/,null,"'\u2018\u2019"]],[["kwd",/^(?:addhandler|addressof|alias|and|andalso|ansi|as|assembly|auto|boolean|byref|byte|byval|call|case|catch|cbool|cbyte|cchar|cdate|cdbl|cdec|char|cint|class|clng|cobj|const|cshort|csng|cstr|ctype|date|decimal|declare|default|delegate|dim|directcast|do|double|each|else|elseif|end|endif|enum|erase|error|event|exit|finally|for|friend|function|get|gettype|gosub|goto|handles|if|implements|imports|in|inherits|integer|interface|is|let|lib|like|long|loop|me|mod|module|mustinherit|mustoverride|mybase|myclass|namespace|new|next|not|notinheritable|notoverridable|object|on|option|optional|or|orelse|overloads|overridable|overrides|paramarray|preserve|private|property|protected|public|raiseevent|readonly|redim|removehandler|resume|return|select|set|shadows|shared|short|single|static|step|stop|string|structure|sub|synclock|then|throw|to|try|typeof|unicode|until|variant|wend|when|while|with|withevents|writeonly|xor|endif|gosub|let|variant|wend)\b/i,
2 | null],["com",/^rem\b.*/i],["lit",/^(?:true\b|false\b|nothing\b|\d+(?:e[+-]?\d+[dfr]?|[dfilrs])?|(?:&h[\da-f]+|&o[0-7]+)[ils]?|\d*\.\d+(?:e[+-]?\d+)?[dfr]?|#\s+(?:\d+[/-]\d+[/-]\d+(?:\s+\d+:\d+(?::\d+)?(\s*(?:am|pm))?)?|\d+:\d+(?::\d+)?(\s*(?:am|pm))?)\s+#)/i],["pln",/^(?:(?:[a-z]|_\w)\w*(?:\[[!#%&@]+])?|\[(?:[a-z]|_\w)\w*])/i],["pun",/^[^\w\t\n\r "'[\]\xa0\u2018\u2019\u201c\u201d\u2028\u2029]+/],["pun",/^(?:\[|])/]]),["vb","vbs"]);
3 | 


--------------------------------------------------------------------------------
/LogViewer/src/main/assets/rtf/lang-sql.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,null,"\"'"]],[["com",/^(?:--[^\n\r]*|\/\*[\S\s]*?(?:\*\/|$))/],["kwd",/^(?:add|all|alter|and|any|apply|as|asc|authorization|backup|begin|between|break|browse|bulk|by|cascade|case|check|checkpoint|close|clustered|coalesce|collate|column|commit|compute|connect|constraint|contains|containstable|continue|convert|create|cross|current|current_date|current_time|current_timestamp|current_user|cursor|database|dbcc|deallocate|declare|default|delete|deny|desc|disk|distinct|distributed|double|drop|dummy|dump|else|end|errlvl|escape|except|exec|execute|exists|exit|fetch|file|fillfactor|following|for|foreign|freetext|freetexttable|from|full|function|goto|grant|group|having|holdlock|identity|identitycol|identity_insert|if|in|index|inner|insert|intersect|into|is|join|key|kill|left|like|lineno|load|match|matched|merge|natural|national|nocheck|nonclustered|nocycle|not|null|nullif|of|off|offsets|on|open|opendatasource|openquery|openrowset|openxml|option|or|order|outer|over|partition|percent|pivot|plan|preceding|precision|primary|print|proc|procedure|public|raiserror|read|readtext|reconfigure|references|replication|restore|restrict|return|revoke|right|rollback|rowcount|rowguidcol|rows?|rule|save|schema|select|session_user|set|setuser|shutdown|some|start|statistics|system_user|table|textsize|then|to|top|tran|transaction|trigger|truncate|tsequal|unbounded|union|unique|unpivot|update|updatetext|use|user|using|values|varying|view|waitfor|when|where|while|with|within|writetext|xml)(?=[^\w-]|$)/i,
2 | null],["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],["pln",/^[_a-z][\w-]*/i],["pun",/^[^\w\t\n\r "'\xa0][^\w\t\n\r "'+\xa0-]*/]]),["sql"]);
3 | 


--------------------------------------------------------------------------------
/SendLogLibrary/build.gradle:
--------------------------------------------------------------------------------
 1 | apply plugin: 'com.android.library'
 2 | 
 3 | android {
 4 |     compileSdkVersion 27
 5 | 
 6 | 
 7 | 
 8 |     defaultConfig {
 9 |         minSdkVersion 14
10 |         targetSdkVersion 27
11 |         versionCode 1
12 |         versionName "1.0"
13 | 
14 |         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
15 | 
16 |     }
17 | 
18 |     buildTypes {
19 |         release {
20 |             minifyEnabled false
21 |             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
22 |         }
23 |     }
24 | 
25 | }
26 | 
27 | dependencies {
28 |     implementation fileTree(dir: 'libs', include: ['*.jar'])
29 |     testImplementation 'junit:junit:4.12'
30 |     androidTestImplementation 'com.android.support.test:runner:1.0.1'
31 |     androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
32 | 
33 | }
34 | 
35 | 
36 | //////// 打包发布 ////////
37 | apply plugin: 'maven'
38 | 
39 | ext {
40 |     // 从Github上clone下来的项目的本地地址
41 |     GITHUB_REPO_PATH = "../"
42 |     PUBLISH_GROUP_ID = 'com.aiushtha'
43 |     PUBLISH_ARTIFACT_ID = 'logViewer'
44 |     PUBLISH_VERSION = '1.1.2'
45 | }
46 | 
47 | uploadArchives {
48 |     repositories.mavenDeployer {
49 |         def deployPath = file(project.GITHUB_REPO_PATH)
50 |         repository(url: "file://${deployPath.absolutePath}")
51 |         pom.project {
52 |             groupId project.PUBLISH_GROUP_ID
53 |             artifactId project.PUBLISH_ARTIFACT_ID
54 |             version project.PUBLISH_VERSION
55 |         }
56 |     }
57 | }
58 | 
59 | // 源代码一起打包
60 | task androidSourcesJar(type: Jar) {
61 |     classifier = 'sources'
62 |     from android.sourceSets.main.java.sourceFiles
63 | }
64 | artifacts {
65 |     archives androidSourcesJar
66 | }
67 | 
68 | 


--------------------------------------------------------------------------------
/test/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
 1 | 
 2 | 
 9 | 
10 | 
11 |