From 930982c3d619c3dab8c75c2751fc76c27d12739c Mon Sep 17 00:00:00 2001 From: Gangphon Date: Thu, 9 Nov 2023 08:37:59 +0800 Subject: [PATCH] xixunplayer --- XixunPlayer/.gitignore | 15 + XixunPlayer/.idea/.gitignore | 3 + XixunPlayer/.idea/compiler.xml | 6 + XixunPlayer/.idea/gradle.xml | 20 + XixunPlayer/.idea/misc.xml | 9 + XixunPlayer/app/.gitignore | 1 + XixunPlayer/app/build.gradle | 41 ++ XixunPlayer/app/libs/gnph.jar | Bin 0 -> 174804 bytes .../app/libs/xixun_card_settings_1.2.4.jar | Bin 0 -> 24371 bytes XixunPlayer/app/proguard-rules.pro | 21 + XixunPlayer/app/release/output-metadata.json | 20 + XixunPlayer/app/src/main/AndroidManifest.xml | 42 ++ .../main/aidl/com/xixun/util/PlayerInfo.aidl | 47 ++ .../java/com/xixun/xixunplayer/BackView.java | 30 ++ .../xixunplayer/BootCompletedReceiver.java | 15 + .../com/xixun/xixunplayer/EleAnaClock.java | 124 ++++++ .../java/com/xixun/xixunplayer/EleBorder.java | 89 ++++ .../com/xixun/xixunplayer/EleDigiClock.java | 283 ++++++++++++ .../com/xixun/xixunplayer/EleEnviron.java | 192 ++++++++ .../java/com/xixun/xixunplayer/EleFlip.java | 121 +++++ .../java/com/xixun/xixunplayer/EleScroll.java | 90 ++++ .../java/com/xixun/xixunplayer/EleTimer.java | 167 +++++++ .../java/com/xixun/xixunplayer/EleTimer2.java | 110 +++++ .../java/com/xixun/xixunplayer/EleVideo.java | 56 +++ .../com/xixun/xixunplayer/MainActivity.java | 413 ++++++++++++++++++ .../main/java/com/xixun/xixunplayer/Page.java | 116 +++++ .../java/com/xixun/xixunplayer/ProgView.java | 167 +++++++ .../java/com/xixun/xixunplayer/Server.java | 203 +++++++++ .../main/java/com/xixun/xixunplayer/Util.java | 57 +++ .../src/main/java/gnph/android/LinearBox.java | 36 ++ .../app/src/main/res/drawable/back.png | Bin 0 -> 1990 bytes .../res/drawable/ic_launcher_background.xml | 170 +++++++ .../res/drawable/ic_launcher_foreground.xml | 30 ++ .../main/res/mipmap-anydpi/ic_launcher.xml | 6 + .../res/mipmap-anydpi/ic_launcher_round.xml | 6 + .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 1900 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 2884 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 3844 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes .../app/src/main/res/values/colors.xml | 5 + .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/themes.xml | 4 + .../app/src/main/res/xml/backup_rules.xml | 13 + .../main/res/xml/data_extraction_rules.xml | 19 + XixunPlayer/build.gradle | 4 + XixunPlayer/gradle.properties | 21 + XixunPlayer/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + XixunPlayer/gradlew | 185 ++++++++ XixunPlayer/gradlew.bat | 89 ++++ XixunPlayer/settings.gradle | 17 + 57 files changed, 3072 insertions(+) create mode 100644 XixunPlayer/.gitignore create mode 100644 XixunPlayer/.idea/.gitignore create mode 100644 XixunPlayer/.idea/compiler.xml create mode 100644 XixunPlayer/.idea/gradle.xml create mode 100644 XixunPlayer/.idea/misc.xml create mode 100644 XixunPlayer/app/.gitignore create mode 100644 XixunPlayer/app/build.gradle create mode 100644 XixunPlayer/app/libs/gnph.jar create mode 100644 XixunPlayer/app/libs/xixun_card_settings_1.2.4.jar create mode 100644 XixunPlayer/app/proguard-rules.pro create mode 100644 XixunPlayer/app/release/output-metadata.json create mode 100644 XixunPlayer/app/src/main/AndroidManifest.xml create mode 100644 XixunPlayer/app/src/main/aidl/com/xixun/util/PlayerInfo.aidl create mode 100644 XixunPlayer/app/src/main/java/com/xixun/xixunplayer/BackView.java create mode 100644 XixunPlayer/app/src/main/java/com/xixun/xixunplayer/BootCompletedReceiver.java create mode 100644 XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleAnaClock.java create mode 100644 XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleBorder.java create mode 100644 XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleDigiClock.java create mode 100644 XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleEnviron.java create mode 100644 XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleFlip.java create mode 100644 XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleScroll.java create mode 100644 XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleTimer.java create mode 100644 XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleTimer2.java create mode 100644 XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleVideo.java create mode 100644 XixunPlayer/app/src/main/java/com/xixun/xixunplayer/MainActivity.java create mode 100644 XixunPlayer/app/src/main/java/com/xixun/xixunplayer/Page.java create mode 100644 XixunPlayer/app/src/main/java/com/xixun/xixunplayer/ProgView.java create mode 100644 XixunPlayer/app/src/main/java/com/xixun/xixunplayer/Server.java create mode 100644 XixunPlayer/app/src/main/java/com/xixun/xixunplayer/Util.java create mode 100644 XixunPlayer/app/src/main/java/gnph/android/LinearBox.java create mode 100644 XixunPlayer/app/src/main/res/drawable/back.png create mode 100644 XixunPlayer/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 XixunPlayer/app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 XixunPlayer/app/src/main/res/mipmap-anydpi/ic_launcher.xml create mode 100644 XixunPlayer/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml create mode 100644 XixunPlayer/app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 XixunPlayer/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 XixunPlayer/app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 XixunPlayer/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 XixunPlayer/app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 XixunPlayer/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 XixunPlayer/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 XixunPlayer/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 XixunPlayer/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 XixunPlayer/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 XixunPlayer/app/src/main/res/values/colors.xml create mode 100644 XixunPlayer/app/src/main/res/values/strings.xml create mode 100644 XixunPlayer/app/src/main/res/values/themes.xml create mode 100644 XixunPlayer/app/src/main/res/xml/backup_rules.xml create mode 100644 XixunPlayer/app/src/main/res/xml/data_extraction_rules.xml create mode 100644 XixunPlayer/build.gradle create mode 100644 XixunPlayer/gradle.properties create mode 100644 XixunPlayer/gradle/wrapper/gradle-wrapper.jar create mode 100644 XixunPlayer/gradle/wrapper/gradle-wrapper.properties create mode 100644 XixunPlayer/gradlew create mode 100644 XixunPlayer/gradlew.bat create mode 100644 XixunPlayer/settings.gradle diff --git a/XixunPlayer/.gitignore b/XixunPlayer/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/XixunPlayer/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/XixunPlayer/.idea/.gitignore b/XixunPlayer/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/XixunPlayer/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/XixunPlayer/.idea/compiler.xml b/XixunPlayer/.idea/compiler.xml new file mode 100644 index 0000000..b589d56 --- /dev/null +++ b/XixunPlayer/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/XixunPlayer/.idea/gradle.xml b/XixunPlayer/.idea/gradle.xml new file mode 100644 index 0000000..ae388c2 --- /dev/null +++ b/XixunPlayer/.idea/gradle.xml @@ -0,0 +1,20 @@ + + + + + + + \ No newline at end of file diff --git a/XixunPlayer/.idea/misc.xml b/XixunPlayer/.idea/misc.xml new file mode 100644 index 0000000..8978d23 --- /dev/null +++ b/XixunPlayer/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/XixunPlayer/app/.gitignore b/XixunPlayer/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/XixunPlayer/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/XixunPlayer/app/build.gradle b/XixunPlayer/app/build.gradle new file mode 100644 index 0000000..05d257e --- /dev/null +++ b/XixunPlayer/app/build.gradle @@ -0,0 +1,41 @@ +plugins { + id 'com.android.application' +} + +android { + namespace 'com.xixun.xixunplayer' + compileSdk 33 + + defaultConfig { + applicationId "com.xixun.xixunplayer" + minSdk 28 + targetSdk 33 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + + buildFeatures { + aidl true + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 + } +} + +dependencies { + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation files('libs\\gnph.jar') + implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.25' + implementation files('libs\\xixun_card_settings_1.2.4.jar') +} \ No newline at end of file diff --git a/XixunPlayer/app/libs/gnph.jar b/XixunPlayer/app/libs/gnph.jar new file mode 100644 index 0000000000000000000000000000000000000000..49484bfec10b65bc8e5ea6f842d740f99d12fdea GIT binary patch literal 174804 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≦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 literal 0 HcmV?d00001 diff --git a/XixunPlayer/app/libs/xixun_card_settings_1.2.4.jar b/XixunPlayer/app/libs/xixun_card_settings_1.2.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..0d17c222be77e49149a1199d39bf624e4b57eb95 GIT binary patch literal 24371 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 literal 0 HcmV?d00001 diff --git a/XixunPlayer/app/proguard-rules.pro b/XixunPlayer/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/XixunPlayer/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/XixunPlayer/app/release/output-metadata.json b/XixunPlayer/app/release/output-metadata.json new file mode 100644 index 0000000..2af5b63 --- /dev/null +++ b/XixunPlayer/app/release/output-metadata.json @@ -0,0 +1,20 @@ +{ + "version": 3, + "artifactType": { + "type": "APK", + "kind": "Directory" + }, + "applicationId": "com.xixun.xixunplayer", + "variantName": "release", + "elements": [ + { + "type": "SINGLE", + "filters": [], + "attributes": [], + "versionCode": 1, + "versionName": "1.0", + "outputFile": "app-release.apk" + } + ], + "elementType": "File" +} \ No newline at end of file diff --git a/XixunPlayer/app/src/main/AndroidManifest.xml b/XixunPlayer/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..43fd492 --- /dev/null +++ b/XixunPlayer/app/src/main/AndroidManifest.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/XixunPlayer/app/src/main/aidl/com/xixun/util/PlayerInfo.aidl b/XixunPlayer/app/src/main/aidl/com/xixun/util/PlayerInfo.aidl new file mode 100644 index 0000000..7726d8e --- /dev/null +++ b/XixunPlayer/app/src/main/aidl/com/xixun/util/PlayerInfo.aidl @@ -0,0 +1,47 @@ +// PlayerInfo.aidl +package com.xixun.util; + +// Declare any non-default types here with import statements + +interface PlayerInfo { + //***需要实现,用于外部接口获取当前播放的节目名 + String getProgramName(); + //不需要实现 + String getVersion(); + //外部接口通知播放器屏幕宽高发生变化 + void setScreenWidth(int w); + void setScreenHeight(int h); + //不需要 + void taskScreenshot(String cmdId); + //不需要 + void setExternalTemperature(float t); + void setInternalTemperature(float t); + void setHumidity(float h); + //暂时不需要 + boolean forcePlayProgram(String pid); + boolean finishForcePlay(); + //需要实现,让其他进程获取到当前播放的节目id + String getCurProgramId(); + //需要,外部进程设置播放器的USB节目解压密码 + void setUSBProgramPwd(String pwd); + //***需要,接收平台节目接口 + String executeJosnCommand(String josn); + //暂停播放,以前的版本没有实现 + void pausePlayer(boolean b); + //查询节目是否暂停播放 + boolean isPause(); + //***需要,清空节目和下载的素材 + boolean clearTasks(); + //需要,返回当前已有的节目数量 + int countOfPrograms(int type); + //需要,指定id播放插播节目 + void playInsertTask(String pid); + //需要,指定id停止播放插播节目 + void stopInsertTask(String pid); + //***需要,回读当前节目json + String getProgramTask(); + //不需要 + void setUploadLogUrl(String playLog); + //不需要 + String getUploadLogUrl(); +} \ No newline at end of file diff --git a/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/BackView.java b/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/BackView.java new file mode 100644 index 0000000..aecdd17 --- /dev/null +++ b/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/BackView.java @@ -0,0 +1,30 @@ +package com.xixun.xixunplayer; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.Rect; +import android.os.Environment; +import android.view.View; + +public class BackView extends View { + + public Bitmap img, cosImg; + public int width, height; + + public BackView(Context context, int width, int height) { + super(context); + img = BitmapFactory.decodeResource(context.getResources(), R.drawable.back); + cosImg = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() + "/XixunPlayer/background"); + this.width = width; + this.height = height; + } + + @Override + protected void onDraw(Canvas canvas) { + super.onDraw(canvas); + if(cosImg!=null) canvas.drawBitmap(cosImg, new Rect(0, 0, cosImg.getWidth(), cosImg.getHeight()), new Rect(0, 0, width, height), null); + else if(img!=null) for(int y=0; y imgs = new HashMap<>(); + ImageView yearComps[] = {new ImageView(getContext()), new ImageView(getContext()), new ImageView(getContext()), new ImageView(getContext())}; + ImageView monthComps[] = {new ImageView(getContext()), new ImageView(getContext())}; + ImageView dayComps[] = {new ImageView(getContext()), new ImageView(getContext())}; + ImageView weekComp = new ImageView(getContext()), ampmComp = new ImageView(getContext()); + ImageView hourComps[] = {new ImageView(getContext()), new ImageView(getContext())}; + ImageView minComps[] = {new ImageView(getContext()), new ImageView(getContext())}; + ImageView secComps[] = {new ImageView(getContext()), new ImageView(getContext())}; + + ZoneId timeZone; + String timeptn; + boolean multiline, weekly, isSingleMonth; + + public EleDigiClock(String prefix, JSMap json, Context context) { + super(context); + setGravity(Gravity.CENTER); + timeZone = ZoneId.of(json.stnn("timeZone")); + var spaceWidth = json.dbl("spaceWidth"); + JSList pics = json.jslist("arrayPics"); + for(var pic : pics) imgs.put(pic.stnn("name"), BitmapFactory.decodeFile(prefix+pic.stnn("id"))); + int dateStyle = json.intg("dateStyle"); + isSingleMonth = dateStyle==1||dateStyle==2||dateStyle==4||dateStyle==6||dateStyle==8||dateStyle==10||dateStyle==12; + var timeSep = imgs.get("maohao"); + weekly = json.bool("weekly"); + var hour12 = json.bool("hour12"); + var AmPm = hour12 ? json.bool("AmPm") : false; + timeptn = hour12 ? "hhmmssa" : "HHmmss"; + var hour = json.bool("hour"); + var min = json.bool("min"); + var sec = json.bool("sec"); + multiline = json.bool("multiline"); + addStretch(); + if(multiline) { + vertical(); + var hBox = new LinearBox(this).horizontal(); + hBox.addStretch(); + addDate(dateStyle, json, hBox); + hBox.addStretch(); + if(weekly) { + hBox = new LinearBox(this).horizontal(); + hBox.addStretch(); + hBox.addView(weekComp); + hBox.addStretch(); + } + hBox = new LinearBox(this).horizontal(); + hBox.addStretch(); + if(AmPm) { + hBox.addView(ampmComp); + hBox.addSpacing((int)spaceWidth); + } + if(hour) { + hBox.addView(hourComps[0]); + hBox.addView(hourComps[1]); + } + if(hour&&min) hBox.addView(newImgView(timeSep)); + if(min) { + hBox.addView(minComps[0]); + hBox.addView(minComps[1]); + } + if(min&&sec) hBox.addView(newImgView(timeSep)); + if(sec) { + hBox.addView(secComps[0]); + hBox.addView(secComps[1]); + } + hBox.addStretch(); + } else { + setOrientation(HORIZONTAL); + addDate(dateStyle, json, this); + if(getChildCount()>1) addSpacing((int)spaceWidth*2); + if(weekly) { + addView(weekComp); + addSpacing((int)spaceWidth*2); + } + if(AmPm) { + addView(ampmComp); + addSpacing((int)spaceWidth); + } + if(hour) { + addView(hourComps[0]); + addView(hourComps[1]); + } + if(hour&&min) addView(newImgView(timeSep)); + if(min) { + addView(minComps[0]); + addView(minComps[1]); + } + if(min&&sec) addView(newImgView(timeSep)); + if(sec) { + addView(secComps[0]); + addView(secComps[1]); + } + } + addStretch(); + } + + ImageView newImgView(Bitmap img) { + var imgv = new ImageView(getContext()); + imgv.setImageBitmap(img); + return imgv; + } + void addDate(int dateStyle, JSMap layer, LinearLayout tar) { + if(dateStyle==0 || dateStyle==1) { + addYear(layer, tar, imgs.get("YEAR")); + if(layer.bool("month")) { + tar.addView(monthComps[0]); + tar.addView(monthComps[1]); + tar.addView(newImgView(imgs.get("MONTH"))); + } + if(layer.bool("day")) { + tar.addView(dayComps[0]); + tar.addView(dayComps[1]); + tar.addView(newImgView(imgs.get("DAY"))); + } + } else if(dateStyle==2 || dateStyle==3) { + var sep = imgs.get("xiegang"); + if(layer.bool("month")) { + tar.addView(monthComps[0]); + tar.addView(monthComps[1]); + tar.addView(newImgView(sep)); + } + if(layer.bool("day")) { + tar.addView(dayComps[0]); + tar.addView(dayComps[1]); + tar.addView(newImgView(sep)); + } + addYear(layer, tar, null); + } else if(dateStyle==4 || dateStyle==5) { + var sep = imgs.get("xiegang"); + if(layer.bool("day")) { + tar.addView(dayComps[0]); + tar.addView(dayComps[1]); + tar.addView(newImgView(sep)); + } + if(layer.bool("month")) { + tar.addView(monthComps[0]); + tar.addView(monthComps[1]); + tar.addView(newImgView(sep)); + } + addYear(layer, tar, null); + } else if(dateStyle==6 || dateStyle==7) { + var sep = imgs.get("xiegang"); + addYear(layer, tar, sep); + if(layer.bool("month")) { + tar.addView(monthComps[0]); + tar.addView(monthComps[1]); + tar.addView(newImgView(sep)); + } + if(layer.bool("day")) { + tar.addView(dayComps[0]); + tar.addView(dayComps[1]); + } + } else if(dateStyle==8 || dateStyle==9) { + var sep = imgs.get("hengxian"); + if(layer.bool("month")) { + tar.addView(monthComps[0]); + tar.addView(monthComps[1]); + tar.addView(newImgView(sep)); + } + if(layer.bool("day")) { + tar.addView(dayComps[0]); + tar.addView(dayComps[1]); + tar.addView(newImgView(sep)); + } + addYear(layer, tar, null); + } else if(dateStyle==10 || dateStyle==11) { + var sep = imgs.get("hengxian"); + if(layer.bool("day")) { + tar.addView(dayComps[0]); + tar.addView(dayComps[1]); + tar.addView(newImgView(sep)); + } + if(layer.bool("month")) { + tar.addView(monthComps[0]); + tar.addView(monthComps[1]); + tar.addView(newImgView(sep)); + } + addYear(layer, tar, null); + } else if(dateStyle==12 || dateStyle==13) { + var sep = imgs.get("hengxian"); + addYear(layer, tar, sep); + if(layer.bool("month")) { + tar.addView(monthComps[0]); + tar.addView(monthComps[1]); + tar.addView(newImgView(sep)); + } + if(layer.bool("day")) { + tar.addView(dayComps[0]); + tar.addView(dayComps[1]); + } + } + } + + void addYear(JSMap layer, LinearLayout tar, Bitmap sep) { + if(layer.bool("year")) { + if(layer.bool("fullYear")) { + tar.addView(yearComps[0]); + tar.addView(yearComps[1]); + } + tar.addView(yearComps[2]); + tar.addView(yearComps[3]); + if(sep != null) tar.addView(newImgView(sep)); + } + } + + void cal() { + var dt = LocalDateTime.now(timeZone); + var time = dt.toLocalTime(); + var hms = Dates.fmt(time, timeptn); + ampmComp.setImageBitmap(imgs.get(time.getHour()<12?"AM":"PM")); + hourComps[0].setImageBitmap(imgs.get(hms.substring(0,1))); + hourComps[1].setImageBitmap(imgs.get(hms.substring(1,2))); + minComps[0].setImageBitmap(imgs.get(hms.substring(2,3))); + minComps[1].setImageBitmap(imgs.get(hms.substring(3,4))); + secComps[0].setImageBitmap(imgs.get(hms.substring(4,5))); + secComps[1].setImageBitmap(imgs.get(hms.substring(5,6))); + if(yearComps[0].getDrawable()==null || (time.getHour()==0 && time.getSecond()==0)) { + var date = dt.toLocalDate(); + if(weekly) weekComp.setImageBitmap(imgs.get(weeks[date.getDayOfWeek().ordinal()])); + var ymd = Dates.fmt(date, "yyyyMMdd"); + yearComps[0].setImageBitmap(imgs.get(ymd.substring(0,1))); + yearComps[1].setImageBitmap(imgs.get(ymd.substring(1,2))); + yearComps[2].setImageBitmap(imgs.get(ymd.substring(2,3))); + yearComps[3].setImageBitmap(imgs.get(ymd.substring(3,4))); + monthComps[0].setImageBitmap(isSingleMonth && ymd.charAt(4)=='0' ? null : imgs.get(ymd.substring(4,5))); + monthComps[1].setImageBitmap(imgs.get(ymd.substring(5,6))); + dayComps[0].setImageBitmap(isSingleMonth && ymd.charAt(6)=='0' ? null : imgs.get(ymd.substring(6,7))); + dayComps[1].setImageBitmap(imgs.get(ymd.substring(7,8))); + } + } + + @Override + protected void onVisibilityChanged(View changedView, int visibility) { + super.onVisibilityChanged(changedView, visibility); + if(visibility==View.VISIBLE) { + if(lastSec==0) { + cal(); + choreographer.postFrameCallback(this); + } + } + } + + Choreographer choreographer = Choreographer.getInstance(); + long lastSec = 0; + + @Override + public void doFrame(long frameTimeNanos) { + if(! isShown()) { + lastSec = 0; + return; + } + var sec = System.currentTimeMillis() / 1000; + if(sec != lastSec) { + lastSec = sec; + cal(); + invalidate(); + } + choreographer.postFrameCallback(this); + } +} \ No newline at end of file diff --git a/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleEnviron.java b/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleEnviron.java new file mode 100644 index 0000000..f519025 --- /dev/null +++ b/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleEnviron.java @@ -0,0 +1,192 @@ +package com.xixun.xixunplayer; + +import android.content.Context; +import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.Color; +import android.view.Choreographer; +import android.view.View; + +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.HashMap; + +import gnph.util.JSList; +import gnph.util.JSMap; +import gnph.util.NumFmts; +import gnph.util.Sys; + +public class EleEnviron extends View implements Choreographer.FrameCallback { + class Item { + String key; + Bitmap lable; + ArrayList nums = new ArrayList<>(); + Bitmap unit; + + public Item(String key, Bitmap lable, Bitmap unit) { + this.key = key; + this.lable = lable; + this.unit = unit; + } + } + static String directs[] = {"NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW", "N"}; + HashMap imgMap = new HashMap<>(); + Bitmap title; + ArrayList items = new ArrayList<>(); + MainActivity act; + int spaceWidth; + int interval, cur, end, step; + boolean isScroll, isFirst = true; + + public EleEnviron(String prefix, JSMap json, Context context) { + super(context); + act = (MainActivity) context; + spaceWidth = json.intg("spaceWidth"); + isScroll = json.bool("bSingleScroll"); + try { + setBackgroundColor(Color.parseColor(json.stnn("backColor"))); + } catch (Exception ignored) {} + var values = json.jsmap("values"); + JSList arrayPics = json.jslist("arrayPics"); + if(values!=null) { + var entrys = values.entrySet(); + for(var entry : entrys) imgMap.put(entry.getKey(), BitmapFactory.decodeFile(prefix+entry.getValue())); + JSList jitems = json.jslist("items"); + for(var jitem : jitems) { + var unit = jitem.str("unit"); + items.add(new Item(jitem.str("name"), BitmapFactory.decodeFile(prefix+jitem.stnn("label")), unit==null ? null : BitmapFactory.decodeFile(prefix+unit))); + } + } else { + for(var img : arrayPics) imgMap.put(img.str("name"), BitmapFactory.decodeFile(prefix+img.stnn("id"))); + imgMap.put("-", imgMap.remove("minus_sign")); + title = imgMap.get("labeltitle"); + if(json.bool("bTemperature")) items.add(new Item("temperature", imgMap.remove("labeltemperature"), imgMap.remove("unit_celsius"))); + if(json.bool("bHumidity")) items.add(new Item("humidity", imgMap.remove("labelhumidity"), imgMap.remove("unit_humidity"))); + if(json.bool("bNoise")) items.add(new Item("noise", imgMap.remove("labelnoise"), imgMap.remove("unit_noise"))); + if(json.bool("bWindSpeed")) items.add(new Item("windSpeed", imgMap.remove("labelwindSpeed"), imgMap.remove("unit_windspeed"))); + if(json.bool("bWindDirection")) items.add(new Item("windDirection", imgMap.remove("labelwindDirection"), null)); + if(json.bool("bPM25")) items.add(new Item("pm2.5", imgMap.remove("labelpm25"), imgMap.get("unit_pm10"))); + if(json.bool("bPM10")) items.add(new Item("pm10", imgMap.remove("labelpm10"), imgMap.get("unit_pm10"))); + } + var scrollSpeed = json.dbl("scrollSpeed"); + if(scrollSpeed==0) { + var scrollDur = json.dbl("iScrollSpeed"); + if(scrollDur==0) return; + scrollSpeed = 1000 / scrollDur; + } + interval = step = 1; + if(scrollSpeed > 60) step = (int) Math.round(scrollSpeed/60); + else if(scrollSpeed < 60) interval = (int) Math.round(60/scrollSpeed); + } + + public static Method method; + static { + try { + method = Intent.class.getMethod("getExtra", String.class, Object.class); + } catch (Exception e) { + e.printStackTrace(); + } + } + public void onReceive(Intent intent) { + try { + for(var item : items) { + item.nums.clear(); + if(item.unit==null) { + var num = intent.getIntExtra(item.key, -1); + if(num>=0 && num<=15) item.nums.add(imgMap.get(directs[num])); + else { + var img = imgMap.get("-"); + item.nums.add(img); + item.nums.add(img); + } + } else { + var num = ((Number) method.invoke(intent, item.key, -999)).doubleValue(); + var str = num==-999 || (num==-1 && ! item.key.endsWith("rature")) ? "--" : NumFmts.zz().format(num); + for(int cc=0; cc imgs = new ArrayList<>(); + int picDur, EffDur, AniInterval, step, imgc, imgx, imgy; + char effType; + boolean needRand = false; + + public EleFlip(String dirPre, JSList maps, Context context) { + super(context); + var map = maps.get(0); + picDur = map.intg("picDuration")*60; + if(picDur==0) return; + EffDur = map.intg("effectSpeed")*60; + for(var amap : maps) imgs.add(BitmapFactory.decodeFile(dirPre+amap.stnn("id"))); + var effStr = map.str("effect"); + if(effStr == null || effStr.equals("no")) EffDur = 0; + else if(effStr.endsWith("left")) effType = 'l'; + else if(effStr.endsWith("top")) effType = 't'; + else if(effStr.endsWith("right")) effType = 'r'; + else if(effStr.endsWith("bottom")) effType = 'b'; + else if(effStr.equals("random")) needRand = true; + else EffDur = 0; + } + + void startMove() { + if(EffDur==0) return; + if(needRand) effType = effTypes[rand.nextInt(4)]; + double effDurD = EffDur; + if(effType=='l') { + imgx = getWidth(); + imgy = 0; + effDurD /= getWidth(); + } else if(effType=='r') { + imgx = -getWidth(); + imgy = 0; + effDurD /= getWidth(); + } else if(effType=='t') { + imgx = 0; + imgy = getHeight(); + effDurD /= getHeight(); + } else if(effType=='b') { + imgx = 0; + imgy = -getHeight(); + effDurD /= getHeight(); + } else return; + AniInterval = (int) Math.round(effDurD); + if(AniInterval < 1) AniInterval = 1; + step = (int) Math.round(AniInterval / effDurD); + } + + @Override + protected void onDraw(Canvas canvas) { + super.onDraw(canvas); + if(freshCnt==0 && (EffDur!=0 || imgs.size()>1)) { + startMove(); + choreographer.postFrameCallback(this); + } + canvas.drawBitmap(imgs.get(imgc), imgx, imgy, null); + } + + Choreographer choreographer = Choreographer.getInstance(); + int freshCnt, curDur; + + @Override + public void doFrame(long frameTimeNanos) { + if(! isShown()) { + freshCnt = curDur = imgc = 0; + return; + } + if(curDur < picDur) { + curDur++; + if(AniInterval > 0) { + if(freshCnt < AniInterval) freshCnt++; + else { + freshCnt = 1; + if(effType=='l') { + imgx -= step; + if(imgx < 0) imgx = 0; + } else if(effType=='t') { + imgy -= step; + if(imgy < 0) imgy = 0; + } else if(effType=='r') { + imgx += step; + if(imgx > 0) imgx = 0; + } else if(effType=='b') { + imgy += step; + if(imgy > 0) imgy = 0; + } + if(imgx==0 && imgy==0) AniInterval = 0; + invalidate(); + } + } + } else { + curDur = 0; + freshCnt = 1; + if(imgc >= imgs.size()-1) imgc = 0; + else imgc++; + startMove(); + invalidate(); + } + choreographer.postFrameCallback(this); + } +} \ No newline at end of file diff --git a/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleScroll.java b/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleScroll.java new file mode 100644 index 0000000..2694390 --- /dev/null +++ b/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleScroll.java @@ -0,0 +1,90 @@ +package com.xixun.xixunplayer; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.view.Choreographer; +import android.view.View; +import android.view.ViewGroup; + +import gnph.util.JSMap; + +public class EleScroll extends View implements Choreographer.FrameCallback { + + Bitmap img; + int interval, cur, end, step; + char effect; + + public EleScroll(String dirPre, JSMap json, Context context) { + super(context); + img = BitmapFactory.decodeFile(dirPre + json.stnn("id")); + var effStr = json.str("effect"); + if(effStr==null || effStr.equals("no")) return; + var scrollSpeed = json.dbl("scrollSpeed"); + if(scrollSpeed==0) { + var scrollDur = json.dbl("effectSpeed"); + if(scrollDur==0) return; + scrollSpeed = 1000 / scrollDur; + } + interval = step = 1; + if(scrollSpeed > 60) step = (int) Math.round(scrollSpeed/60); + else if(scrollSpeed < 60) interval = (int) Math.round(60/scrollSpeed); + int idx = effStr.lastIndexOf(' '); + if(idx > -1) { + effect = effStr.charAt(idx+1); + if(effect=='l') end = -(img.getWidth()-step); + else if(effect=='r') end = img.getWidth()-step; + else if(effect=='t') end = -(img.getHeight()-step); + else if(effect=='b') end = img.getHeight()-step; + } + } + @Override + protected void onDraw(Canvas canvas) { + super.onDraw(canvas); + if(img==null) return; + try { + if(effect=='l') { + canvas.drawBitmap(img, cur, 0, null); + canvas.drawBitmap(img, cur+img.getWidth(), 0, null); + } else if(effect=='r') { + canvas.drawBitmap(img, cur, 0, null); + canvas.drawBitmap(img, cur-img.getWidth(), 0, null); + } else if(effect=='t') { + canvas.drawBitmap(img, 0, cur, null); + canvas.drawBitmap(img, 0, cur+img.getHeight(), null); + } else if(effect=='b') { + canvas.drawBitmap(img, 0, cur, null); + canvas.drawBitmap(img, 0, cur-img.getHeight(), null); + } else canvas.drawBitmap(img, 0, 0, null); + if(freshCnt==0 && effect!=0 && interval!=0) choreographer.postFrameCallback(this); + } catch (RuntimeException e) { + ((Page) getParent()).remove(this); + e.printStackTrace(); + } + } + + Choreographer choreographer = Choreographer.getInstance(); + int freshCnt; + + @Override + public void doFrame(long frameTimeNanos) { + if(! isShown()) { + freshCnt = cur = 0; + return; + } + if(freshCnt < interval) freshCnt++; + else { + freshCnt = 1; + if(effect=='t' || effect=='l') { + if(cur <= end) cur -= end; + else cur -= step; + } else if(effect=='b' || effect=='r') { + if(cur >= end) cur -= end; + else cur += step; + } + invalidate(); + } + choreographer.postFrameCallback(this); + } +} \ No newline at end of file diff --git a/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleTimer.java b/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleTimer.java new file mode 100644 index 0000000..6f971a9 --- /dev/null +++ b/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/EleTimer.java @@ -0,0 +1,167 @@ +package com.xixun.xixunplayer; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.graphics.Typeface; +import android.view.Choreographer; +import android.view.View; +import android.widget.ImageView; + +import java.util.ArrayList; +import java.util.HashMap; + +import gnph.util.Dates; +import gnph.util.JSList; +import gnph.util.JSMap; +import gnph.util.NumFmts; + +public class EleTimer extends View implements Choreographer.FrameCallback { + + HashMap imgMap = new HashMap<>(); + ArrayList imgs = new ArrayList<>(); + Bitmap text, day, hour, min, sec; + int spaceWidth, len; + Paint paint = new Paint(); + long targetTime; + boolean isDown; + boolean isMultiline; + boolean hasDay; + boolean hasHour; + boolean hasMin; + boolean hasSec; + + public EleTimer(String prefix, JSMap json, Context context) { + super(context); + var imgEntrys = json.jsmap("imgs").entrySet(); + for(var imgEntry : imgEntrys) imgMap.put(imgEntry.getKey(), BitmapFactory.decodeFile(prefix+imgEntry.getValue())); + text = imgMap.get("text"); + day = imgMap.get("day"); + hour = imgMap.get("hour"); + min = imgMap.get("min"); + sec = imgMap.get("sec"); + spaceWidth = (int) Math.round(json.dbl("spaceWidth")); + isDown = json.bool("isDown"); + targetTime = Dates.milli(json.stnn("targetTime")) / 1000; + hasDay = json.bool("hasDay"); + hasHour = json.bool("hasHour"); + hasMin = json.bool("hasMin"); + hasSec = json.bool("hasSec"); + isMultiline = json.bool("isMultiline"); + paint.setTextAlign(Paint.Align.CENTER); + try { + setBackgroundColor(Color.parseColor(json.stnn("backColor"))); + } catch (Exception ignored) {} + } + + void cal() { + var cur = System.currentTimeMillis() / 1000; + var secs = isDown ? targetTime - cur : cur - targetTime; + if(secs < 0) secs = 0; + len = 0; + imgs.clear(); + if(text!=null && ! isMultiline) { + imgs.add(text); + imgs.add(null); + len += text.getWidth(); + len += spaceWidth; + } + if(hasDay) { + var str = Long.toString(secs/86400); + for(int cc=0; cc{ + if(! isShown()) { + player.pause(); + player.seekTo(0); + } + if(vol!=1) player.setVolume(vol, vol); + setOnPreparedListener(null); + }); + setOnErrorListener((MediaPlayer mp, int what, int extra)->{ + Util.makeText(getContext(), "Media Error: "+getErrorName(what)+". "+getErrorName(extra)).show(); + return true; + }); + start(); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + setMeasuredDimension(MeasureSpec.getSize(widthMeasureSpec), MeasureSpec.getSize(heightMeasureSpec)); + } + + @Override + public void onVisibilityAggregated(boolean isVisible) { + super.onVisibilityAggregated(isVisible); + if(isVisible) { + if(! isPlaying()) start(); + } else { + pause(); + seekTo(0); + } + } + + static String getErrorName(int code) { + if(code==MediaPlayer.MEDIA_ERROR_UNKNOWN) return "UNKNOWN"; + if(code==MediaPlayer.MEDIA_ERROR_SERVER_DIED) return "SERVER_DIED"; + if(code==MediaPlayer.MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK) return "NOT_VALID_FOR_PROGRESSIVE_PLAYBACK"; + if(code==MediaPlayer.MEDIA_ERROR_IO) return "IO"; + if(code==MediaPlayer.MEDIA_ERROR_MALFORMED) return "MALFORMED"; + if(code==MediaPlayer.MEDIA_ERROR_UNSUPPORTED) return "UNSUPPORTED"; + if(code==MediaPlayer.MEDIA_ERROR_TIMED_OUT) return "TIMED_OUT"; + if(code==-2147483648) return "SYSTEM"; + return "Unknown ("+code+")"; + } +} \ No newline at end of file diff --git a/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/MainActivity.java b/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/MainActivity.java new file mode 100644 index 0000000..681f1a5 --- /dev/null +++ b/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/MainActivity.java @@ -0,0 +1,413 @@ +package com.xixun.xixunplayer; + +import static android.view.View.GONE; +import static android.view.View.VISIBLE; + +import android.content.BroadcastReceiver; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.ServiceConnection; +import android.content.pm.PackageManager; +import android.graphics.BitmapFactory; +import android.os.Build; +import android.os.Bundle; +import android.os.Environment; +import android.os.IBinder; +import android.os.RemoteException; +import android.os.StatFs; +import android.view.Choreographer; + +import androidx.activity.ComponentActivity; +import androidx.annotation.RequiresApi; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; + +import com.xixun.joey.aidlset.CardService; + +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.ServerSocket; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Timer; +import java.util.TimerTask; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.atomic.AtomicBoolean; + +import gnph.util.IOs; +import gnph.util.JSList; +import gnph.util.JSMap; +import gnph.util.O; + +public class MainActivity extends ComponentActivity implements Choreographer.FrameCallback { + + public static MainActivity ins; + public Intent environIntent = new Intent(); + HashSet environs = new HashSet<>(); + BackView backView; + ProgView progView; + int state; + + @RequiresApi(api = Build.VERSION_CODES.R) + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + System.out.println("---- MainActivity onCreate ---- UI Thread: "+Thread.currentThread().getId()); + ins = this; + if(ContextCompat.checkSelfPermission(this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) init(); + else { + System.out.println("---- No permission, Try again ..."); + ActivityCompat.requestPermissions(this, new String[]{ + android.Manifest.permission.WRITE_EXTERNAL_STORAGE, + android.Manifest.permission.READ_EXTERNAL_STORAGE, + android.Manifest.permission.MANAGE_EXTERNAL_STORAGE, + android.Manifest.permission.RECEIVE_BOOT_COMPLETED, + android.Manifest.permission.INTERNET + }, 999); + } + } + @Override + public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + if(requestCode==999 && grantResults!=null && grantResults.length > 0 && grantResults[0]==PackageManager.PERMISSION_GRANTED && backView==null) init(); + } + + public void init() { + Util.programDir = Environment.getExternalStorageDirectory() + "/XixunPlayer/program"; + Util.backImgFile = Environment.getExternalStorageDirectory() + "/XixunPlayer/background"; + + var program = new File(Util.programDir); + if(program.isFile()) program.delete(); + System.out.println("mkdir: "+program.mkdirs()); + + var aaafiles = new File(Environment.getExternalStorageDirectory()+"/XixunPlayer").listFiles(); + if(aaafiles != null) for(var file : aaafiles) if(file.isFile() && ! file.getName().startsWith("background")) file.delete(); + + var conn = new ServiceConnection() { + public void onServiceDisconnected(ComponentName name) { + System.out.println("Disconnected cardsystem aidl service"); + } + + public void onServiceConnected(ComponentName name, IBinder iBinder) { + System.out.println("Bind cardsystem aidl service success"); + var service = CardService.Stub.asInterface(iBinder); + try { + backView = new BackView(MainActivity.this, service.getScreenWidth(), service.getScreenHeight()); + state = 5; + initProg(); + if(progView==null) setContentView(backView); + } catch (RemoteException e) { + Util.makeText(MainActivity.this, e.getMessage()).show(); + throw new RuntimeException(e); + } + } + }; + var intent = new Intent("com.xixun.joey.aidlset.SettingsService"); + intent.setPackage("com.xixun.joey.cardsystem"); + bindService(intent, conn, Context.BIND_AUTO_CREATE); + + registerReceiver(new BroadcastReceiver(){ + @Override + public void onReceive(Context context, Intent intent) { + System.out.println("Receive PAUSE_PLAYER"); + if(intent.getBooleanExtra("pause", false)) { + state = 8; + if(progView!=null) { + progView.setVisibility(GONE); + progView = null; + setContentView(backView); + } + } else if(progView==null) initProg(); + } + }, new IntentFilter("com.xixun.action.PAUSE_PLAYER"), RECEIVER_EXPORTED); + +// registerReceiver(new BroadcastReceiver(){ +// @Override +// public void onReceive(Context context, Intent intent) { +// } +// }, new IntentFilter("com.xixun.joey.CHANGE_COMPANYID"), RECEIVER_EXPORTED); + + registerReceiver(new BroadcastReceiver(){ + @Override + public void onReceive(Context context, Intent intent) { + MainActivity.this.environIntent = intent; + for(var environ : environs) { + environ.onReceive(intent); + environ.invalidate(); + } + } + }, new IntentFilter("xixun.intent.action.TEMPERATURE_HUMIDITY"), RECEIVER_EXPORTED); + + new Thread(()->{ + try { + var serverSocket = new ServerSocket(3333); + while(true) { + InputStream in = null; + OutputStream out = null; + try { + System.out.println("Accept ..."); + final var socket = serverSocket.accept(); + System.out.println("Receiving ..."); + in = socket.getInputStream(); + out = socket.getOutputStream(); + JSList hases = null; + label: + while(true) { + var obj = JSMap.from(in); + var _type = obj.stnn("_type"); + System.out.println("_type: "+_type); + switch(_type) { + case "consult": + JSList ids = obj.jslist("idList"); + hases = new JSList<>(); + if(ids!=null) for(int i=0; i { + System.out.println("removeAllViews ..."); + if(progView!=null) { + progView.setVisibility(GONE); + progView = null; + setContentView(backView); + } + latch.countDown(); + }); + var files = new File(Util.programDir).listFiles(); + if(files == null) return; + Arrays.sort(files, (f1, f2) -> (int) (f1.lastModified() - f2.lastModified())); + try { + latch.await(); + } catch (InterruptedException ignored) {} + for(var file : files) { + if(hases!=null && hases.contains(file.getName())) continue; + var len = file.length(); + if(file.delete()) { + remain += len; + if(remain>=0) break; + } + } + } + break; + case "fileStart": + var size = obj.intg("size"); + var name = obj.stnn("id"); + System.out.println(" size: " + size + " name: " + name); + var fout = new FileOutputStream(Util.programDir + "/" + name); + IOs.write(fout, in, size); + fout.flush(); + fout.getFD().sync(); + fout.close(); + break; + case "imgFileStart": + size = obj.intg("size"); + fout = new FileOutputStream(Util.backImgFile); + IOs.write(fout, in, size); + fout.flush(); + fout.getFD().sync(); + fout.close(); + runOnUiThread(() -> { + backView.cosImg = BitmapFactory.decodeFile(Util.backImgFile); + backView.invalidate(); + }); + break; + case "imgFileEnd": + new JSMap("success", true).writeClose(out); + break label; + case "proEnd": + new JSMap("success", true).writeClose(out); + runOnUiThread(this::initProg); + break label; + case "DelPrograms": + var latch = new CountDownLatch(1); + AtomicBoolean ok = new AtomicBoolean(false); + runOnUiThread(() -> { + ok.set(delProgFile()); + latch.countDown(); + }); + try { + latch.await(); + } catch (InterruptedException ignored) {} + new JSMap("success", ok.get()).writeClose(out); + break label; + case "DelBackImg": + MainActivity.ins.runOnUiThread(() -> { + MainActivity.ins.backView.cosImg = null; + MainActivity.ins.backView.invalidate(); + }); + new JSMap("success", new File(Util.backImgFile).delete()).writeClose(out); + break label; + case "getPlayerState": + var descs = Util.getState(state); + new JSMap("code", state, "des_en", descs[0], "des", descs[1]).writeClose(out); + break label; + } + } + } catch (Throwable e) { + MainActivity.ins.runOnUiThread(() -> { + Util.makeText(MainActivity.this, e.getMessage()).show(); + }); + e.printStackTrace(); + } finally { + O.close(in, out); + } + } + } catch (Throwable e) { + MainActivity.ins.runOnUiThread(() -> { + Util.makeText(MainActivity.this, e.getMessage()).show(); + }); + e.printStackTrace(); + } + }).start(); + } + + public boolean delProgFile() { + if(progView!=null) { + progView.setVisibility(GONE); + progView = null; + setContentView(backView); + } + var files = new File(Util.programDir).listFiles(); + var ok = true; + if(files != null) for(var file : files) if(! file.delete()) ok = false; + state = 4; + try { + var out = new FileOutputStream(Util.programDir+"/program"); + out.write("{}".getBytes()); + out.flush(); + out.getFD().sync(); + out.close(); + } catch (Throwable ignored) { + } + return ok; + } + public void initProg() { + try { + var task = JSMap.fromClose(new BufferedInputStream(new FileInputStream(Util.programDir + "/program"))).jsmap("task"); + if(task==null) { + state = 3; + return; + } + var view = new ProgView(task, backView.width, backView.height, this); + if(view.getChildCount()==0) { + state = 3; + return; + } + if(progView!=null) progView.setVisibility(GONE); + progView = view; + setContentView(progView); + syncProg((System.currentTimeMillis()+999)/1000*1000); + choreographer.postFrameCallback(this); + } catch (FileNotFoundException e) { + state = 3; + e.printStackTrace(); + } catch (Throwable e) { + state = 7; + e.printStackTrace(); + } + } + + Choreographer choreographer = Choreographer.getInstance(); + ArrayList avas = new ArrayList<>(); + int curAva, curTimes = 1; + long syncMilli = Long.MAX_VALUE; + + @Override + public void doFrame(long frameTimeNanos) { + if(progView == null) return; + var milli = System.currentTimeMillis(); + var lastPage = page(curAva); + if(milli >= syncMilli) { + lastPage.setVisibility(GONE); + if(lastPage.hasVideo && progView.getChildCount()>1) lastPage.setLeft(lastPage.getRight()+1); + syncProg(milli-syncMilli>=1000 ? milli : syncMilli); + } else if(milli >= lastPage.endMilli) { + lastPage.setVisibility(GONE); + if(lastPage.hasVideo && curTimes==lastPage.repeatTimes && progView.getChildCount()>1) lastPage.setLeft(lastPage.getRight()+1); + if(curTimes < lastPage.repeatTimes) curTimes++; + else { + curTimes = 1; + curAva++; + if(curAva >= avas.size()) { + syncProg(milli-lastPage.endMilli>=1000 ? milli : lastPage.endMilli); + choreographer.postFrameCallback(this); + return; + } + } + page(curAva).setMillis(lastPage.endMilli); + } else { + for(var layer : lastPage.layers) { + for(var ele : layer.eles) if(ele.isShort) { + if(ele.view.getVisibility()!=VISIBLE) { + if(milli < ele.endMilli && milli >= ele.startMilli) ele.view.setVisibility(VISIBLE); + } else { + if(milli >= ele.endMilli) ele.view.setVisibility(GONE); + } + } + if(milli >= layer.endMilli) { + layer.endMilli += layer.dur; + for(var ele : layer.eles) { + ele.endMilli += layer.dur; + ele.startMilli += layer.dur; + if(ele.view.getVisibility()!=VISIBLE) { + if(milli < ele.endMilli && milli >= ele.startMilli) ele.view.setVisibility(VISIBLE); + } else { + if(milli >= ele.endMilli) ele.view.setVisibility(GONE); + } + } + } + } + } + choreographer.postFrameCallback(this); + } + + void syncProg(long milli) { + curTimes = 1; + var dur = calAvas(milli); + if(dur==0) { + syncMilli = milli + 1000; + if(state!=2) { + setContentView(backView); + state = 2; + } + } else { + var page = page(curAva = 0); + syncMilli = milli / dur * dur + dur; + if(syncMilli - milli >= 2000) page.setMillis(milli); + if(state != 6) { + setContentView(progView); + state = 6; + } + } + } + int calAvas(long milli) { + avas.clear(); + var dur = 0; + Page page; + for(int i=0; i eles = new ArrayList<>(); + long endMilli = Long.MAX_VALUE; + int dur; + boolean repeat; + } + + public static class Sche { + long startDate = -1, endDate = -1; + int startTime = -1, endTime = -1; + JSList weeks; + } + + ArrayList layers = new ArrayList<>(); + ArrayList sches; + long endMilli = Long.MAX_VALUE; + int dur, repeatTimes; + boolean hasVideo = false; + + public Page(Context context) { + super(context); + } + + public void setMillis(long milli) { + endMilli = milli + dur; + for(var layer : layers) { + if(layer.repeat) layer.endMilli = milli + layer.dur; + for(var ele : layer.eles) if(ele.isShort) { + if(ele.startTime > 0) { + ele.startMilli = milli + ele.startTime; + ele.view.setVisibility(GONE); + } else ele.view.setVisibility(VISIBLE); + ele.endMilli = milli + ele.endTime; + } + } + if(getLeft() != 0) setLeft(0); + setVisibility(VISIBLE); + } + public void remove(View view) { + view.setVisibility(GONE); + removeView(view); + for(int ll=0; ll 1) layer.eles.remove(ee); + else layers.remove(ll); + return; + } + } + } + public boolean isSchedule(long milli) { + if(sches==null) return true; + var local = milli + Dates.zoneOff; + var time = local % 86400000L; + var week = -1; + for(var sche : sches) { + if(notInRange(sche.startDate, local, sche.endDate)) continue; + if(notInRange(sche.startTime, time, sche.endTime)) continue; + if(sche.weeks==null) return true; + if(week==-1) week = LocalDate.ofEpochDay(local / 86400000L).getDayOfWeek().getValue(); + if(sche.weeks.contains(week)) return true; + } + return false; + } + public boolean notInRange(long start, long val, long end) { + if(end==-1) return false; + return start <= end ? !(val >= start && val < end) : val >= end && val < start; + } + + public void parse(JSList schedules) { + if(schedules!=null) for(var schedule : schedules) { + var sche = new Sche(); + var startTime = schedule.str("startTime"); + if(startTime!=null) sche.startTime = LocalTime.parse(startTime).toSecondOfDay()*1000; + var endTime = schedule.str("endTime"); + if(endTime!=null) sche.endTime = LocalTime.parse(endTime).toSecondOfDay()*1000; + if(sche.startTime==sche.endTime) sche.startTime = sche.endTime = -1; + var startDate = schedule.str("startDate"); + if(startDate!=null) sche.startDate = LocalDate.parse(startDate).toEpochDay() * 86400000L; + var endDate = schedule.str("endDate"); + if(endDate!=null) sche.endDate = (LocalDate.parse(endDate).toEpochDay() + 1) * 86400000L; + if(sche.startDate==sche.endDate) sche.startDate = sche.endDate = -1; + JSList weekFilter = schedule.jslist("weekFilter"); + if(weekFilter!=null && ! weekFilter.isEmpty() && weekFilter.size() < 7) sche.weeks = weekFilter; + if(sches==null) sches = new ArrayList<>(); + sches.add(sche); + } + } +} diff --git a/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/ProgView.java b/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/ProgView.java new file mode 100644 index 0000000..6d421c9 --- /dev/null +++ b/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/ProgView.java @@ -0,0 +1,167 @@ +package com.xixun.xixunplayer; + +import android.content.Context; +import android.net.Uri; +import android.webkit.WebView; +import android.webkit.WebViewClient; +import android.widget.AbsoluteLayout; +import android.widget.ImageView; + +import java.io.File; + +import gnph.util.JSList; +import gnph.util.JSMap; +import pl.droidsonroids.gif.GifImageView; + +public class ProgView extends AbsoluteLayout { + + public ProgView(JSMap task, int width, int height, Context context) { + super(context); + JSList pages = task.jslist("items"); + for(var pageMap : pages) { + var _program = pageMap.jsmap("_program"); + JSList layers = _program.jslist("layers"); + if(layers.isEmpty()) continue; + var splitWidths = _program.jslist("splitWidths"); + var page = new Page(context); + page.repeatTimes = pageMap.intg("repeatTimes"); + page.parse(pageMap.jslist("schedules")); + for(int ll=layers.size()-1; ll>=0; ll--) { + var layer = new Page.Layer(); + layer.repeat = layers.get(ll).bool("repeat"); + JSList sources = layers.get(ll).jslist("sources"); + var border = layers.get(ll).jsmap("border"); + EleBorder bdEle = null; + int bdWidth = 0, bdStart = 0xffff, bdEnd = 0; + if(border!=null) { + bdEle = new EleBorder(Util.programDir+"/"+border.stnn("img"), border.stnn("eff"), border.intg("speed"), context); + bdWidth = bdEle.img.getHeight(); + } + var ele = new Page.EleBase(); + int x, y, w, h; + for(var source : sources) { + ele.type = source.stnn("_type"); + if(ele.type.isEmpty()) continue; + var timeSpan = source.intg("timeSpan")*1000; + if(timeSpan==0) continue; + x = source.intg("left")+bdWidth; + y = source.intg("top")+bdWidth; + w = source.intg("width")-bdWidth-bdWidth; + h = source.intg("height")-bdWidth-bdWidth; + boolean notAudio = ! ele.type.equals("Audio"); + if((w<=0 || h<=0) && notAudio) continue; + ele.startTime = source.intg("playTime")*1000; + if(bdStart > ele.startTime) bdStart = ele.startTime; + ele.endTime = ele.startTime + timeSpan; + if(bdEnd < ele.endTime) bdEnd = ele.endTime; + if(layer.dur < ele.endTime) layer.dur = ele.endTime; + if(page.dur < ele.endTime && notAudio) page.dur = ele.endTime; + ele.id = source.stnn("id"); + ele.view = null; + if(ele.type.equals("Image")) { + ImageView imgView = source.stnn("fileExt").equalsIgnoreCase("gif") ? new GifImageView(context) : new ImageView(context); + imgView.setImageURI(Uri.fromFile(new File(Util.programDir+"/"+ele.id))); + imgView.setScaleType(ImageView.ScaleType.FIT_XY); + ele.view = imgView; + } else if(ele.type.equals("MultiPng")) { + JSList imgs = source.jslist("arrayPics"); + if(imgs.isEmpty()) continue; + if(imgs.size()==1 && imgs.get(0).intg("picDuration")==0) ele.view = new EleScroll(Util.programDir+"/", imgs.get(0), context); + else ele.view = new EleFlip(Util.programDir+"/", imgs, context); + } else if(ele.type.equals("SplitText")) { +// JSList imgs = source.jslist("arrayPics"); +// if(imgs.isEmpty()) continue; +// ele.wgt = new View(context); +// page.addView(ele.wgt, new AbsoluteLayout.LayoutParams(width, height, 0, 0)); +// var pheight = _program.intg("height"); +// if(imgs.size()==1 && imgs.get(0).intg("picDuration")==0) { +// var wgt = new EleScroll(ele.wgt, dir+"/", imgs.get(0), context); +// wgt->setGeometry(ele.x, ele.y, ele.w, ele.h); +// for(int i=1; isetGeometry(ele.x, ele.y, splitWidths[i].toInt()-ele.x, ele.h); +// wgt->splits.append(split); +// } +// } else { +// auto wgt = new EleFlip(dir+"/", imgs, ele.wgt); +// wgt->setGeometry(ele.x, ele.y, ele.w, ele.h); +// for(int i=1; isetGeometry(ele.x, ele.y, splitWidths[i].toInt()-ele.x, ele.h); +// wgt->splits.append(split); +// } +// } +// ele.w = 0; + } else if(ele.type.equals("DigitalClockNew")) ele.view = new EleDigiClock(Util.programDir+"/", source, context); + else if(ele.type.equals("AnalogClock")) ele.view = new EleAnaClock(w, h, Util.programDir+"/"+ele.id, source, context); + else if(ele.type.equals("Video")) { + page.hasVideo = true; + var videoView = new EleVideo(Util.programDir + "/" + ele.id, context); + ele.view = videoView; + var vol = source.intg("vol", 100); + if (vol < 100) videoView.vol = vol / 100.0f; + } else if(ele.type.equals("Audio")) { + var videoView = new EleVideo(Util.programDir+"/"+ele.id, context); + ele.view = videoView; + var vol = source.intg("vol", 100); + if(vol<100) videoView.vol = vol/100.0f; + } else if(ele.type.equals("WebURL")) { + var webView = new WebView(context); + webView.setWebViewClient(new WebViewClient() { + @Override + public boolean shouldOverrideUrlLoading(WebView view, String url) { + return false; + } + }); + webView.loadUrl(source.stnn("url")); + ele.view = webView; + } + else if(ele.type.equals("Timer")) ele.view = new EleTimer(Util.programDir+"/", source, context); + else if(ele.type.equals("EnvironmentalMonitoring")) ele.view = new EleEnviron(Util.programDir+"/", source, context); + else continue; + if(ele.view==null) continue; + if(w>0) page.addView(ele.view, new AbsoluteLayout.LayoutParams(w, h, x, y)); + layer.eles.add(ele); + ele = new Page.EleBase(); + } + if(bdEle!=null && ! sources.isEmpty()) { + JSList geometry = border.jslist("geometry"); + x = geometry.get(0).intValue(); + y = geometry.get(1).intValue(); + w = geometry.get(2).intValue(); + h = geometry.get(3).intValue(); + ele.startTime = bdStart; + ele.endTime = bdEnd; + ele.view = bdEle; + page.addView(ele.view, new AbsoluteLayout.LayoutParams(w, h, x, y)); + layer.eles.add(ele); + } + if(! layer.eles.isEmpty()) page.layers.add(layer); + } + if(page.dur==0) continue; + for_layer: for(int ll=0; ll= page.dur) { + if(layer.eles.size() > 1) { + layer.eles.remove(ee--); + continue; + } else { + page.layers.remove(ll--); + continue for_layer; + } + } else if(ele.endTime > page.dur) ele.endTime = page.dur; + ele.isShort = ele.startTime > 0 || ele.endTime < page.dur; + } + if(layer.dur > page.dur) layer.dur = page.dur; + } + page.setVisibility(GONE); + addView(page, new AbsoluteLayout.LayoutParams(width, height, 0, 0)); + } + } +} \ No newline at end of file diff --git a/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/Server.java b/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/Server.java new file mode 100644 index 0000000..f58dbcf --- /dev/null +++ b/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/Server.java @@ -0,0 +1,203 @@ +package com.xixun.xixunplayer; + +import android.annotation.SuppressLint; +import android.app.Service; +import android.content.Intent; +import android.graphics.BitmapFactory; +import android.os.Environment; +import android.os.IBinder; +import android.os.RemoteException; + +import com.xixun.util.PlayerInfo; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.nio.charset.StandardCharsets; +import java.util.Base64; + +import gnph.util.IOs; +import gnph.util.JSMap; +import gnph.util.URLConn; + +public class Server extends Service { + + @Override + public IBinder onBind(Intent intent) { + return binder; + } + + PlayerInfo.Stub binder = new PlayerInfo.Stub() { + @Override + public String getProgramName() throws RemoteException { + return null; + } + + @Override + public String getVersion() throws RemoteException { + return null; + } + + @Override + public void setScreenWidth(int w) throws RemoteException { + + } + + @Override + public void setScreenHeight(int h) throws RemoteException { + + } + + @Override + public void taskScreenshot(String cmdId) throws RemoteException { + + } + + @Override + public void setExternalTemperature(float t) throws RemoteException { + + } + + @Override + public void setInternalTemperature(float t) throws RemoteException { + + } + + @Override + public void setHumidity(float h) throws RemoteException { + + } + + @Override + public boolean forcePlayProgram(String pid) throws RemoteException { + return false; + } + + @Override + public boolean finishForcePlay() throws RemoteException { + return false; + } + + @Override + public String getCurProgramId() throws RemoteException { + return null; + } + + @Override + public void setUSBProgramPwd(String pwd) throws RemoteException { + + } + + @SuppressLint("ResourceType") + @Override + public String executeJosnCommand(String jsonstr) throws RemoteException { + System.out.println("Server executeJsonCommand ..."+jsonstr);//{"_type":"DeleteTask","id":"652522a0e81d1e000009201a","sendTo":"yzd-player"} + String id = null; + try { + var json = JSMap.from(jsonstr.getBytes(StandardCharsets.UTF_8)); + var _type = json.stnn("_type"); + id = json.stnn("id"); + if(_type.equals("DeleteTask")) { + MainActivity.ins.runOnUiThread(() -> MainActivity.ins.delProgFile()); + return new JSMap( + "_type", "DataCallback", + "result", "received command", + "cardId", Util.getCardId(), + "commandId", id + ).toString(); + } else if(_type.equals("PlayerStateCommand")) { + var descs = Util.getState(MainActivity.ins.state); + return new JSMap( + "_type", "Success", + "cardId", Util.getCardId(), + "commandId", id, + "code", MainActivity.ins.state, + "des_en", descs[0], + "des", descs[1] + ).toString(); + } else if(_type.equals("SetPlayerBackground")) { + var url = json.str("url"); + if(url==null) new File(Util.backImgFile).delete(); + else IOs.writeClose(new FileOutputStream(Util.backImgFile), new URLConn(url).in()); + MainActivity.ins.runOnUiThread(() -> { + MainActivity.ins.backView.cosImg = url==null ? null : BitmapFactory.decodeFile(Util.backImgFile); + MainActivity.ins.backView.invalidate(); + }); + return new JSMap( + "_type", "Success", + "cardId", Util.getCardId(), + "commandId", id + ).toString(); + } else if(_type.equals("GetPlayerBackground")) { + var backImg = new File(Util.backImgFile); + var img = Base64.getEncoder().encodeToString(IOs.readBytesClose(backImg.exists() ? new FileInputStream(backImg) : MainActivity.ins.getResources().openRawResource(R.drawable.back))); + return new JSMap( + "_type", "DataCallback", + "cardId", Util.getCardId(), + "commandId", id, + "img", img + ).toString(); + } + return new JSMap( + "_type", "Error", + "errorMessage", "Unknow Type", + "cardId", Util.getCardId(), + "commandId", id + ).toString(); + } catch (Exception e) { + return new JSMap( + "_type", "Error", + "errorMessage", e.toString(), + "cardId", Util.getCardId(), + "commandId", id + ).toString(); + } + } + + @Override + public void pausePlayer(boolean b) throws RemoteException { + + } + + @Override + public boolean isPause() throws RemoteException { + return false; + } + + @Override + public boolean clearTasks() throws RemoteException { + System.out.println("Server clearTasks ..."); + return true; + } + + @Override + public int countOfPrograms(int type) throws RemoteException { + return 0; + } + + @Override + public void playInsertTask(String pid) throws RemoteException { + + } + + @Override + public void stopInsertTask(String pid) throws RemoteException { + + } + + @Override + public String getProgramTask() throws RemoteException { + return null; + } + + @Override + public void setUploadLogUrl(String playLog) throws RemoteException { + + } + + @Override + public String getUploadLogUrl() throws RemoteException { + return null; + } + }; +} \ No newline at end of file diff --git a/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/Util.java b/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/Util.java new file mode 100644 index 0000000..b462e87 --- /dev/null +++ b/XixunPlayer/app/src/main/java/com/xixun/xixunplayer/Util.java @@ -0,0 +1,57 @@ +package com.xixun.xixunplayer; + +import android.content.Context; +import android.view.Gravity; +import android.widget.Toast; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.HashMap; + +import gnph.util.IOs; + +public class Util { + + public static final HashMap stateDescs = new HashMap<>(); + static { + stateDescs.put(1, new String[]{"Initialize", "初始化"}); + stateDescs.put(2, new String[]{"Schedules is over", "定时节目结束"}); + stateDescs.put(3, new String[]{"No programs waiting to be played", "无待播放的节目"}); + stateDescs.put(4, new String[]{"Delete program", "删除节目"}); + stateDescs.put(5, new String[]{"Program processing", "处理节目中"}); + stateDescs.put(6, new String[]{"Program Processed", "处理节目完成"}); + stateDescs.put(7, new String[]{"Program maybe error", "节目可能有误"}); + stateDescs.put(8, new String[]{"Screen-off", "关屏"}); + stateDescs.put(9, new String[]{"Program's area hasn't arrived yet", "定点节目不在范围"}); + } + public static final String[] stateDescsUnknow = {"Unknown", "未知"}; + + public static Toast makeText(Context context, CharSequence text) { + var toast = Toast.makeText(context, text, Toast.LENGTH_LONG); + toast.setGravity(Gravity.TOP | Gravity.LEFT, 0, 0); + return toast; + } + + public static String[] getState(int state) { + var descs = stateDescs.get(state); + return descs!=null ? descs : stateDescsUnknow; + } + + public static String programDir, backImgFile; + + public static String getCardId() { + try { + var bytes = IOs.readBytesClose(new FileInputStream(new File("/data/joey/signed/card.id"))); + if(bytes.length < 40) return ""; + byte[] cMyKey = new byte[]{97, 119, 38, 3, 46, 112, 36, 93, 58, 100, 103, 62, 115, 112, 114, 51, 43, 61, 2, 101, 119}; + for(int i=0; i<20; ++i) bytes[i] = (byte) (bytes[i * 2] - cMyKey[i] - i - (bytes[i * 2 + 1] - 3)); + var cardId = new String(bytes); + if(cardId.length() > 13) cardId = cardId.substring(0, 13); + return cardId; + } catch (IOException e) { + e.printStackTrace(); + return ""; + } + } +} diff --git a/XixunPlayer/app/src/main/java/gnph/android/LinearBox.java b/XixunPlayer/app/src/main/java/gnph/android/LinearBox.java new file mode 100644 index 0000000..f6606af --- /dev/null +++ b/XixunPlayer/app/src/main/java/gnph/android/LinearBox.java @@ -0,0 +1,36 @@ +package gnph.android; + +import android.content.Context; +import android.view.View; +import android.view.ViewGroup; +import android.widget.LinearLayout; + +public class LinearBox extends LinearLayout { + + public LinearBox(Context context) { + super(context); + } + public LinearBox(ViewGroup box) { + super(box.getContext()); + box.addView(this); + } + + public LinearBox horizontal() { + setOrientation(HORIZONTAL); + return this; + } + public LinearBox vertical() { + setOrientation(VERTICAL); + return this; + } + + public LinearBox addSpacing(int spacing) { + if(getOrientation()==HORIZONTAL) addView(new View(getContext()), new LayoutParams(spacing, 0)); + else addView(new View(getContext()), new LayoutParams(0, spacing)); + return this; + } + public LinearBox addStretch() { + addView(new View(getContext()), new LayoutParams(0, 0,1)); + return this; + } +} diff --git a/XixunPlayer/app/src/main/res/drawable/back.png b/XixunPlayer/app/src/main/res/drawable/back.png new file mode 100644 index 0000000000000000000000000000000000000000..7d65f1e9674968763d36921ed31ff417f2fa6136 GIT binary patch literal 1990 zcmV;%2RZnOP)0000WV@Og>004&z z004{+008|_004nN004b<008NZ002DZ000@y0t~--0002sX+uL$b5ch_001b@V_;xB z%>V>U4h#&rc_l?b?oJ93kx>c^NFXt}xPSpSU}RwUb`3-_FkIFREMa41APsO90WAd5 zAAndS9n5BA0kM-HYzYv%yriH6$kqX|lM9MKY@mx7c#1-ToPlf~AX_0FiJgSRPDw3J z2C{R2?0AIV^5-)!SbSk%V4jE&OPa>Ou)UpuLE;WVOl2Vh1Ai+6!?w!^vCsZs|1ydl zDoL#<0g3qOJ2Dg`7A1nEnLz=Xmd3#FX*mM}ZzKbQ@C612u4srmz<{+F7|;yV1PlxS zWuZ2EnlfCe00009a7bBm000tn000tn0p4aGcmMzfU`a$lRA@uhnt4zYR~*N4ha&_C zDiA|QKqD#zM_LkLrYN;qWKgH5sIAk{cGOW?af&+A>gb?$dT8zCv?I2)#SV&E?1)$E zSr3$2u{KBrIRc3X36XGw-08zSQVlPg-R!P`&p-UWFMsg9yYIdI{eHVlhr_{mOq<^H z*|GW~f2!}OJDnqg4JLyzE=IT@?YUJm;za@;9CR8ud`EiBxUw~KQCbYtBv5L4%w{VT)PZGSSP1{@ zri=;XF1(8-jqeK`1CIv4mMvW^8#j`g*#qwBdSOH<9t|wbjGdMg2?Z4>+YB(G6tsaL zK6`841SlxtE{U@e1GIrRUK$0qFBBA^YJY|X-pm*UBkE{=W=kkCG(bKk914o)?6tIa z`Is+YgD@Z)BkD^rC`Coj5d=WwLhEKHeEj-te~r4k zs7z75HqBKEIsu1u?)ED_CvyOVfn9G+S~(*g3eVW=j%CHwd(Sr7`>SfdfZ7B2&Y$us z_4j8Q{5yL9!T^_zYXej_>tWCw7cbteO}C1Z0qt~Wda!KB#mKt4A@zyUFr&58)=yN94Q@9MR* z>Wnoldb5>q!GJIj7R=LrH;a6+>q4pR9ksFo1Z{g}4HxpAg9GU>SWi?x*mbJ@^1oU* zgagD9>gX|7J-%R6(TFdN3k%{bOqX0LntHw{GbLUGN4iwKpQB%q%>OWP>@E|PB@JNQ{Rv~?oeSGpNpQM3-r(6*Uh@{lywN;zk6GiAHQ?Tn3z6Z_v&B@Z$J2CpYX@ zoU75acjI~^NTzk}#$;&(jGlnN`vEsV;V%s44HIy=0lbI+j~C)^r5+@k&NwA5JdnqB z#yW%5Y_`Tn307xIvyySO0Jr{fXXE}`Q1s)w0jl7zS&AJq#)<_{duI3P#^t;Jf}$S+ zONb_{Hv8#+a6N58f)F*J{|x{@A`K%J#2cwg@g1tB0>d7TjV&|lap?Ct5)qeiA_SY(vnxN;tPtHcJsK7X+204k( zg|hO}aOL8IlU$jEwI*9C@SG11W+FoP?`Dl=NkoBrmZxC1um>R=Hml^FRFQz!cM9dD z#q7(M2?B=9eE{<=Uz?USvH#<5=O{S!c2?AtRjO(Fu!j<2BL#D1lENJ6h|tF`3mJ_6 Y02stab3c&_+5i9m07*qoM6N<$f=&{R5dZ)H literal 0 HcmV?d00001 diff --git a/XixunPlayer/app/src/main/res/drawable/ic_launcher_background.xml b/XixunPlayer/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/XixunPlayer/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/XixunPlayer/app/src/main/res/drawable/ic_launcher_foreground.xml b/XixunPlayer/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/XixunPlayer/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/XixunPlayer/app/src/main/res/mipmap-anydpi/ic_launcher.xml b/XixunPlayer/app/src/main/res/mipmap-anydpi/ic_launcher.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/XixunPlayer/app/src/main/res/mipmap-anydpi/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/XixunPlayer/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml b/XixunPlayer/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/XixunPlayer/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/XixunPlayer/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/XixunPlayer/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..c209e78ecd372343283f4157dcfd918ec5165bb3 GIT binary patch literal 1404 zcmV-?1%vuhNk&F=1pok7MM6+kP&il$0000G0000-002h-06|PpNX!5L00Dqw+t%{r zzW2vH!KF=w&cMnnN@{whkTw+#mAh0SV?YL=)3MimFYCWp#fpdtz~8$hD5VPuQgtcN zXl<@<#Cme5f5yr2h%@8TWh?)bSK`O z^Z@d={gn7J{iyxL_y_%J|L>ep{dUxUP8a{byupH&!UNR*OutO~0{*T4q5R6@ApLF! z5{w?Z150gC7#>(VHFJZ-^6O@PYp{t!jH(_Z*nzTK4 zkc{fLE4Q3|mA2`CWQ3{8;gxGizgM!zccbdQoOLZc8hThi-IhN90RFT|zlxh3Ty&VG z?Fe{#9RrRnxzsu|Lg2ddugg7k%>0JeD+{XZ7>Z~{=|M+sh1MF7~ zz>To~`~LVQe1nNoR-gEzkpe{Ak^7{{ZBk2i_<+`Bq<^GB!RYG+z)h;Y3+<{zlMUYd zrd*W4w&jZ0%kBuDZ1EW&KLpyR7r2=}fF2%0VwHM4pUs}ZI2egi#DRMYZPek*^H9YK zay4Iy3WXFG(F14xYsoDA|KXgGc5%2DhmQ1gFCkrgHBm!lXG8I5h*uf{rn48Z!_@ z4Bk6TJAB2CKYqPjiX&mWoW>OPFGd$wqroa($ne7EUK;#3VYkXaew%Kh^3OrMhtjYN?XEoY`tRPQsAkH-DSL^QqyN0>^ zmC>{#F14jz4GeW{pJoRpLFa_*GI{?T93^rX7SPQgT@LbLqpNA}<@2wH;q493)G=1Y z#-sCiRNX~qf3KgiFzB3I>4Z%AfS(3$`-aMIBU+6?gbgDb!)L~A)je+;fR0jWLL-Fu z4)P{c7{B4Hp91&%??2$v9iRSFnuckHUm}or9seH6 z>%NbT+5*@L5(I9j@06@(!{ZI?U0=pKn8uwIg&L{JV14+8s2hnvbRrU|hZCd}IJu7*;;ECgO%8_*W Kmw_-CKmY()leWbG literal 0 HcmV?d00001 diff --git a/XixunPlayer/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/XixunPlayer/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..b2dfe3d1ba5cf3ee31b3ecc1ced89044a1f3b7a9 GIT binary patch literal 2898 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 literal 0 HcmV?d00001 diff --git a/XixunPlayer/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/XixunPlayer/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..4f0f1d64e58ba64d180ce43ee13bf9a17835fbca GIT binary patch literal 982 zcmV;{11bDcNk&G_0{{S5MM6+kP&il$0000G0000l001ul06|PpNU8t;00Dqo+t#w^ z^1csucXz7-Qrhzl9HuHB%l>&>1tG2^vb*E&k^T3$FG1eQZ51g$uv4V+kI`0<^1Z@N zk?Jjh$olyC%l>)Xq;7!>{iBj&BjJ`P&$fsCfpve_epJOBkTF?nu-B7D!hO=2ZR}

C%4 zc_9eOXvPbC4kzU8YowIA8cW~Uv|eB&yYwAObSwL2vY~UYI7NXPvf3b+c^?wcs~_t{ ze_m66-0)^{JdOMKPwjpQ@Sna!*?$wTZ~su*tNv7o!gXT!GRgivP}ec?5>l1!7<(rT zds|8x(qGc673zrvYIz;J23FG{9nHMnAuP}NpAED^laz3mAN1sy+NXK)!6v1FxQ;lh zOBLA>$~P3r4b*NcqR;y6pwyhZ3_PiDb|%n1gGjl3ZU}ujInlP{eks-#oA6>rh&g+!f`hv#_%JrgYPu z(U^&XLW^QX7F9Z*SRPpQl{B%x)_AMp^}_v~?j7 zapvHMKxSf*Mtyx8I}-<*UGn3)oHd(nn=)BZ`d$lDBwq_GL($_TPaS{UeevT(AJ`p0 z9%+hQb6z)U9qjbuXjg|dExCLjpS8$VKQ55VsIC%@{N5t{NsW)=hNGI`J=x97_kbz@ E0Of=7!TQj4N+cqN`nQhxvX7dAV-`K|Ub$-q+H-5I?Tx0g9jWxd@A|?POE8`3b8fO$T))xP* z(X?&brZw({`)WU&rdAs1iTa0x6F@PIxJ&&L|dpySV!ID|iUhjCcKz(@mE z!x@~W#3H<)4Ae(4eQJRk`Iz3<1)6^m)0b_4_TRZ+cz#eD3f8V;2r-1fE!F}W zEi0MEkTTx}8i1{`l_6vo0(Vuh0HD$I4SjZ=?^?k82R51bC)2D_{y8mi_?X^=U?2|F{Vr7s!k(AZC$O#ZMyavHhlQ7 zUR~QXuH~#o#>(b$u4?s~HLF*3IcF7023AlwAYudn0FV~|odGH^05AYPEfR)8p`i{n zwg3zPVp{+wOsxKc>)(pMupKF!Y2HoUqQ3|Yu|8lwR=?5zZuhG6J?H`bSNk_wPoM{u zSL{c@pY7+c2kck>`^q1^^gR0QB7Y?KUD{vz-uVX~;V-rW)PDcI)$_UjgVV?S?=oLR zf4}zz{#*R_{LkiJ#0RdQLNC^2Vp%JPEUvG9ra2BVZ92(p9h7Ka@!yf9(lj#}>+|u* z;^_?KWdzkM`6gqPo9;;r6&JEa)}R3X{(CWv?NvgLeOTq$cZXqf7|sPImi-7cS8DCN zGf;DVt3Am`>hH3{4-WzH43Ftx)SofNe^-#|0HdCo<+8Qs!}TZP{HH8~z5n`ExcHuT zDL1m&|DVpIy=xsLO>8k92HcmfSKhflQ0H~9=^-{#!I1g(;+44xw~=* zxvNz35vfsQE)@)Zsp*6_GjYD};Squ83<_?^SbALb{a`j<0Gn%6JY!zhp=Fg}Ga2|8 z52e1WU%^L1}15Ex0fF$e@eCT(()_P zvV?CA%#Sy08_U6VPt4EtmVQraWJX` zh=N|WQ>LgrvF~R&qOfB$!%D3cGv?;Xh_z$z7k&s4N)$WYf*k=|*jCEkO19{h_(%W4 zPuOqbCw`SeAX*R}UUsbVsgtuG?xs(#Ikx9`JZoQFz0n*7ZG@Fv@kZk`gzO$HoA9kN z8U5{-yY zvV{`&WKU2$mZeoBmiJrEdzUZAv1sRxpePdg1)F*X^Y)zp^Y*R;;z~vOv-z&)&G)JQ{m!C9cmziu1^nHA z`#`0c>@PnQ9CJKgC5NjJD8HM3|KC(g5nnCq$n0Gsu_DXk36@ql%npEye|?%RmG)

FJ$wK}0tWNB{uH;AM~i literal 0 HcmV?d00001 diff --git a/XixunPlayer/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/XixunPlayer/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..948a3070fe34c611c42c0d3ad3013a0dce358be0 GIT binary patch literal 1900 zcmV-y2b1_xNk&Fw2LJ$9MM6+kP&il$0000G0001A003VA06|PpNH75a00DqwTbm-~ zullQTcXxO9ki!OCRx^i?oR|n!<8G0=kI^!JSjFi-LL*`V;ET0H2IXfU0*i>o6o6Gy zRq6Ap5(_{XLdXcL-MzlN`ugSdZY_`jXhcENAu)N_0?GhF))9R;E`!bo9p?g?SRgw_ zEXHhFG$0{qYOqhdX<(wE4N@es3VIo$%il%6xP9gjiBri+2pI6aY4 zJbgh-Ud|V%3O!IcHKQx1FQH(_*TK;1>FQWbt^$K1zNn^cczkBs=QHCYZ8b&l!UV{K z{L0$KCf_&KR^}&2Fe|L&?1I7~pBENnCtCuH3sjcx6$c zwqkNkru);ie``q+_QI;IYLD9OV0ZxkuyBz|5<$1BH|vtey$> z5oto4=l-R-Aaq`Dk0}o9N0VrkqW_#;!u{!bJLDq%0092{Ghe=F;(kn} z+sQ@1=UlX30+2nWjkL$B^b!H2^QYO@iFc0{(-~yXj2TWz?VG{v`Jg zg}WyYnwGgn>{HFaG7E~pt=)sOO}*yd(UU-D(E&x{xKEl6OcU?pl)K%#U$dn1mDF19 zSw@l8G!GNFB3c3VVK0?uyqN&utT-D5%NM4g-3@Sii9tSXKtwce~uF zS&Jn746EW^wV~8zdQ1XC28~kXu8+Yo9p!<8h&(Q({J*4DBglPdpe4M_mD8AguZFn~ ztiuO~{6Bx?SfO~_ZV(GIboeR9~hAym{{fV|VM=77MxDrbW6`ujX z<3HF(>Zr;#*uCvC*bpoSr~C$h?_%nXps@A)=l_;({Fo#6Y1+Zv`!T5HB+)#^-Ud_; zBwftPN=d8Vx)*O1Mj+0oO=mZ+NVH*ptNDC-&zZ7Hwho6UQ#l-yNvc0Cm+2$$6YUk2D2t#vdZX-u3>-Be1u9gtTBiMB^xwWQ_rgvGpZ6(C@e23c!^K=>ai-Rqu zhqT`ZQof;9Bu!AD(i^PCbYV%yha9zuoKMp`U^z;3!+&d@Hud&_iy!O-$b9ZLcSRh? z)R|826w}TU!J#X6P%@Zh=La$I6zXa#h!B;{qfug}O%z@K{EZECu6zl)7CiNi%xti0 zB{OKfAj83~iJvmpTU|&q1^?^cIMn2RQ?jeSB95l}{DrEPTW{_gmU_pqTc)h@4T>~& zluq3)GM=xa(#^VU5}@FNqpc$?#SbVsX!~RH*5p0p@w z;~v{QMX0^bFT1!cXGM8K9FP+=9~-d~#TK#ZE{4umGT=;dfvWi?rYj;^l_Zxywze`W z^Cr{55U@*BalS}K%Czii_80e0#0#Zkhlij4-~I@}`-JFJ7$5{>LnoJSs??J8kWVl6|8A}RCGAu9^rAsfCE=2}tHwl93t0C?#+jMpvr7O3`2=tr{Hg$=HlnjVG^ewm|Js0J*kfPa6*GhtB>`fN!m#9J(sU!?(OSfzY*zS(FJ<-Vb zfAIg+`U)YaXv#sY(c--|X zEB+TVyZ%Ie4L$gi#Fc++`h6%vzsS$pjz9aLt+ZL(g;n$Dzy5=m=_TV(3H8^C{r0xd zp#a%}ht55dOq?yhwYPrtp-m1xXp;4X;)NhxxUpgP%XTLmO zcjaFva^}dP3$&sfFTIR_jC=2pHh9kpI@2(6V*GQo7Ws)`j)hd+tr@P~gR*2gO@+1? zG<`_tB+LJuF|SZ9tIec;h%}}6WClT`L>HSW?E{Hp1h^+mlbf_$9zA>!ug>NALJsO{ mU%z=YwVD?}XMya)Bp;vlyE5&E_6!fzx9pwrdz474!~g(M6R?N? literal 0 HcmV?d00001 diff --git a/XixunPlayer/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/XixunPlayer/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..1b9a6956b3acdc11f40ce2bb3f6efbd845cc243f GIT binary patch literal 3918 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�(p-{x$&=IACIfoAR!za)F-^da-t3#0Dycnp zwO~NVXwXCl;jE<}>%@xz|=8fIJAB?>+E{7)|4l${4ngA3G|=r z2Dyv;VVWSgZx9Wj>qUjleGl3Ei9K4>h!(lPS%8VOG>Xu0%6VDz^O=bjJmuP7>DeUv zrbI}MlHB^^d?{zv6d=@_ZD2lg1&G7UjnVN{1}9WkaM3H~btX0GtSzB+tZ^qRgWo4m z!GmimlG$=wgXCnr6j@m<1gAL46#T~5Bnm=2{^@>|t&`9mkEPddj zAvG~@Tv~TAm2i%VW}R-g(Z0)z-Y|szHr@rk>4MAyG*Ma*7Yh#H7(!-5>DZ@8r;_dx z{prSe<>~099F8vsYd2xff7uAS%7{S)f(|@me3t2$iy&NEc7OUEchp@9A|X;;IA>8!oX+y(BKJ$EzV* znR$z;!L$s7uy@{OT~nG#B!NRraT8(X##Ho!0r_o@gg0CA-9H^;-uE&?$2$nHv_00o z%cbuUc-tCx$Uh&EZ4Nf4Zgqv)Y6>usG3>GeQnxx_Z6+PcbX-+ysbt1hQ`K1LDpOE? zrAhIZhSN9yVIAOa22gn577tbc&i3|3V8NWy&!tw##`}9*x}gtI^h1DzZRA>UuaJG) zaZ7j)dq!O}{?#8Y7~7i6fHh4{`pL?>-18|p!S75Y#^DM>-S3)vuZG+Q7l@ek zQP~#cBpWgg#mApc_sPYjpw8odQuRokmTkzcNl`^CcKB7e&;zViV;{Y{o^Y$%7i0m# z62%#1Lq!RC?}lK>%mp}T!3Xv;L*0v*>USLm``N%>w>@fwC+#T&Tx2bN4w(20JB}oU zuSa6v^kXi0xPs?pbaOHnyiqq6By1EZY9OZ^^QA>{q-Hsd&m`pbQ%8121aWG-F5xf zlZ%;B{;C>X19|`^_?dVyCq>n+41w7|!tUS!{9rHlbhX=SZO5CQ^;!Du_E7*`GiR^Q w)2!4MKjfSAeNo!9>IaV6aUZ*?W>} zs4%E?srLW`CJh0GCIK@hTkrW7A15Iu%N&?Q^$0+!{Tv&|t^Y@u%!L zglTg&?Q5q#ijZ;&HBQ?FNPp;k3J5!&{^+SGq?AX~SiOM9jJMRpyP?RCr@z38AQyy&WRMaC;n4una$~nJKSp?q|s8F00c9?Q! zY_ovvjTFm+DeQM^LXJ#v0}6HRt3R1%5PT*}W!k8BEM;Jrj8dIceFo2fhzTqaB3KKk zGlCLI)gU25(#u6ch6GeB1k@eHq7l{EHXv0n6xE#ws#ri}08kkCf8hUt{|Ejb`2YW* zvg}0nSSX1m=76s?sZhRY$K=3dpJ+y*eDULGnL2}4>4nvW^7_<~wIM_5fjvwt4h1|g z)g0Z6ZFq9j<~9~b8((~TN{Z?ZQfw|is&Xp~AC61sj;xItKyCHdI|tCMC_LbXF>~vR z=w6V3^H=W4CbAgR4#xw}ETTwu2guW~=Crl@SMXv85jQ=%y!s^?m4PI0My7MWICO;- z175jm%&PcPWh8QdOU(#8bp4!N7ET-+)N}N2zk2)8ch|4Q&lPFNQgT-thu053`r*h3 z_8dI@G;`zn;lH$zX3RzIk`E8~`J=BBdR}qD%n@vVG1834)!pS1Y?zVkJGtsa(sB~y zNfMYKsOJb%5J(0ivK8d+l2D2y&5X!cg3BG!AJ}910|_${nF}sC1QF^nLIhzXk-Y#x z0)&1iK!O;Og0Ky!;`b~v%b$`S4E&fB)1NB4v@8wr( z&+NX4e^&o)ecb=)dd~C!{(1e6t?&9j{l8%U*k4)?`(L3;Qjw z#w7FS+U(94MaJKS!J9O8^$)36_J8;thW#2$y9i{bB{?M{QS_inZIJ!jwqAbfXYVd$ zQ5fC$6Nc9hFi8m^;oI-%C#BS|c8vy+@{jx6hFcf^_;2VRgkoN(0h!_VSGmgNPRsxI z8$rTo0LaYq-H5i&gtj81=&xU?H-Y2==G@uQV7E`@+2E9XQW@{&j`?EOktk|Ho{HU>ZqDzvgjwBmdex z&uZNd2C1h{{}2k6Ys9$*nFP3;K%u!MhW`uZy7Sn`1M1zs@Es&;z*Z>Gsh@-3Fe6pE zQD2@cqF((NrRevgvLsvM_8;;iNyJ5nyPyy?e!kvKjGj`6diRFBEe49Oa7wwkJFV7Z z$YT&DWloYu-H?3<0BKn9L&JYDT-SK~*6c5pi18P26$JESKRYj{T7Zk6KiRJcbvOO*{P56Q6s8msbeI3>|j>K9}Q9UBeq*inXKemCm`-<5|-$ZyN4u$(3 z&HcvqehFD%5Yrmykg-^d`=BSa8(i=>ZoC77^mWY{evp(km@aHqhUECBz76YiR+VYK zY_avFC~V3$=`6C4JhfHAQ@DZtUOwH`L;oYX6zK0-uI^?hS$ALfq}A7evR;ohJHij} zHSZdW?EKv9U1s4oD*<(0oQ*;MaQ6@cvGL zuHCPgm_NhVsgp^sfr*ia^Db}swo1?O(_Q2)y+S$CBm+g=9wCOUPbz(x)_GbaKa@A7 zuI&!ynLiZRT#V%_y_-D`0Z5lT*auoe{(U5NylTzFSJW()W-#F6*&A`LNO1bV#Y;QJ zSbLBnp|B^dtK|KIWC|No>JjWBWE@n7O)x{&^E(WMeMvp57#qA8m* zeTow*U@_86B#Fm*rxyYu5PRWaWHx8y> z*qmHEp(AMDl0v)ij(AY8fnH=~ZwwjVAbu*m5;xPfidh@ov6d8g zfJsi&!QyK53Es%sC39ts;54V68koALD4b|%tNHW0bIkZAJKa=W&FomJSEDT>W1xIX z1x%Z>AvNIsSPLcn3RTcHXb@KB?cuM)=x6fcIx>&(GxqZ8w3p#jJ(GVgc*`c0HG}dv zIop&Qim!K1NFwic%07KcjWgHBPUkq7f~lj;TPqVGTiT#cUeim>;nY`>h@a*S{qQex zQ`z62WK|Mj)Y{tfF{;T4P;c8$Q|KU?Joh zIkA^z%X7z|r>4aTh@|StTi!-r1D!g=zb#3d#{{&K3CqE$Iz-UH<%37c zRfkO`&uM%#AD3PHv`g5t0e^O%nVL0d{Xlx^EjEC3#skF@`zl-7PF^0oxW)1!C!JxR zWvuAHH?)61FKA1QeT*_sY7;_Id#!GmV4n`MO{~sv}VLSK` zXRw=Y=Clz*00B(5y^K;gCZMAzjT5+c3IC=)l(9VIDdatpxj3y89WwI|bH&$!ZEvp` zPR!T@#!(|KfI-w?!&+7$N3F6>tD{YO4Qg$d_`nNEdfVCha9vaPn0jI0`)`@*72hq! zpU5ND^P*RoEkbD5o#az(-g=Y)L>HH>Oc%}$ zT3Rs_ih0;4+Lv4Y;@Iv(;fUbQ=i-G(#>vghec~*j(I#r|5mqFiJBpzi&hzEcD{u$< zRsm0BVYn=pT;0>R(itW|*D&;O%bOc7et9ACaH#J>z3A1A~6fdP>pmbM%xzm4>|;c_?B+%sl;Qs2{t!60$^u zH1t@9^6>;?!FuusnISi$f5CL&;z?EqJN$FBuWDA#D5`cy_UvCFIVvf{c?4N0teh;d zET$7aVbj08KTQS!x?Nd1Is8q8qFzs}a=!@nJ;7FSfCY^T@D-gpw`w<6e#X3+;O}1h z$%I!M)0bg|EKUA04Qjn@+x{Rj8vt6Wn!R|3A92z}^$KfF5(#CWr4y#~re1CN4i4w0 z#GsypBR{xA3Er7sgAi(|}1-W?s~n$7?K|9WL8kpVfw-;#b9 z+mn;=ep!162U5R>_t}fOt~tE?s#m( zO-S$7>Ay6*hHdZ)7_oU915WYYCIX;hFI-U2EWYX!pllONr@Q--2o~`!isi6vTPLJ4@(|o=%NHYjo0_S&q*UQIROw@*N-By@PaQ&;YxFZ0aR zX&}LeOEz);#m~Hwm^VAY8DK}b$F4bo{jMN?d!lxKPhNklzr^Cd`0f4oJr^z=I|l`* zm8AHm*fPV`0=lF3Pnnp}&J0N1X@}-D94YvmUabFrLGSnTz7Mu^21F#O5tN#CuY9Vh zUZBH=ez%h*wkf0hBtXJh1SN3d+IF{gzT7lp)j}n?03lt;XSQRAh7qd&v;RwTYDuQ# zbI2*r<>?x-G0@hM{;%{VBD7nLKt~D`T~-HAt5;h%i0_=Ifs=yHma5dhJ+QMG?Ux(a z|E?1CMy1!~oA`FP!k~iG=t&5#>bVdz=peT8HMB6Y)#7PpETtNryT^+Rv3vpJaF^zP z{H}0-LyV9Fu21ID%wO9f1IKlFr1p4c{o-?03vyB-tr5duk^&L$;m_|f$vs`^Sl{j2 z95}oY{LlY+=ZS%J+tZoXCd0*sSU7w^gjovXn+g7uyra5{cU49@yHf#Z^Jl-$9cIfo z+AJuxH$VLb=#+uBbVmUjnx zxb1pZ@-O9=AIk4@S)m6fJ2?{HrNYwwnL3a45muuNjr;6$O`bGEM0T4A2_S$t=86*- zcO+0mywg*j#A4mU}enR_!cGmIYQ;qwfchWtFEXL)AK%*;=j znYne+hS4EMy3S)C*mZ1KI>!+)0V@9!N6H$Y}~MJ{rYuf zz^KljIWvFi-?#?V@LPR&c6Nn{!=XM z>}-h$S76;$H{E{Y%@^zlmOl^efBwa%UU+jJD9UVukQ3ti_kH-?H*RC0?M1W%FCvMB zM_+v6fk$6X2sx)-p~B3&Kl{nscK}pNLM*qjtpaf9>AU{-iPKQZR8yCg!TY}Qg*(;) z)gdvCcB%kppZc$VdvsK@)3l1{&DG!d_6OHOS`y=ITLEVu`unSKA2E%JD*DVX{LJ}K z9l>hMRDqxQh0lnpGHpVYneX}eA3Pt|2v%=q;rt)``R|#bDyB)OXY&vI_@|*}h}G?^ z@aZ4_!7cQPX`!fW_?{oT1NTwHs#l5L-0`E|y@48<3Q^HFf8=Idi zpJYD%1MkII!~|7I^WGo)IF=?{>ACnjJ_WUi39C}!Q{QnheVJqeKKqq5^o5CBde(g9 zvw$X6^jz_^E2$wSw4!q5*RG(C2_^XO$HBn_55vbl44OnTTRwRaePP0vo{K)U1#99& z<>rq7V&V(<&@I%MFoN5zrY}sz=(*-L&}1QQ*a%`u25h{cFj===17eB_uGuzG&byQ< zrm8BJZl4r_E$3k|Wo6FW0-6M7>qac5uFQsQcmkLWGfeH74S3Z_rJ!jgN++!@i=HW8 zkyjI(oPH-+-N#Qc^-mpNO`bc6r=2-<%&Wy5K1vfFJB(L_IkpS6fY^NmuL8qsgj>MD zn~BHH9WM~32_3vd=W&B)k7F9q%stJx+b_L_X-4zr^LVUMCmyCTA3sWtkvsmME?Xiy z?xOSfB=_$oY06~J-HcCq&)qcW{j;uP;?Dm}=hkq?zh&n!;m((-G-u_t|6x399Q;>A zgNpxoJNj{u|MFDH7Rhq@FCAl0dE|ddnl!oh9{Lq?@JDoR6L;C941IK`ISfdE$4S zE0AUQ8+2|Ncl_q5QkSp#AODp~(^mfP&%Au@@|TBQwoP`UU+V{6u8|)6ZA{~uKmQ*M zmrMTDU8S~8Eqi{^v0Ug&5Upcm#y7Z1(RbgZAG8jB$eRwCspQ)>5;U)oGZ&E5aeR*K z8Yt`Y0$G))Yd(Y3KH}tA4`-_QmNke5hU_|nq=xtyjwW(_o?itz>B>WM&^63bNdQ)k@-IgDHW*RW$Xo9#RzrTrCn7L2H{9Amq|qNg@#eZY=|P zCoI?2s+L)zsM%WX(NbVEY^`C>lFjIBYmJ6@DKJ0ZT4&F&WHW!dwa%QzOG!?jY_2(S zDcEzZbz*2Q!43|z))9yOP9X1Xt%DXzwY(3tl-TR=Qb_MbZYRrooh;dYYmS!U_as1(=YVB?Q_A|tNu5Ut&_q3jbfDM zoFxT^uEuH`nX3*sB%K?GuHUkweYReBwnHqh3P)~`+s3+Tj!rDA1e)8vuBv5J*IsxC zkd^~b(aGzArj08{>cnzOuy04C+C`}gb|Yz-1avxeWzev3NzcHbz_&4W@QCr$z3~w=8Ua- z`;vfG1~BP8CyLb=F7t1am~ph_#|O%$khSJ9%Vtcn)YmpgQxF?xM^_Vb+5fnpB^W0I`f%X8gb9#X{Q-yJG0{Z56aWeI&zPxnf5pdJA38bM`cYnS#x)% z`n1tFf$i)W-hGm(f9mde^=X@NcV_lFb=P`4&CI&H=IArijGwdCk&X@uQ$5xmj!~^? z#$ROCI)V-~t%L%GS#wo@U27ddR`4`3)WoB{R-4snfNrfee|kI8^bu#yDgYqOwas9# zmcb`3!kRJ`Cr=_tq)8aMt{aGtUZsqwVlj6DgCGre>AEt&x8H_in!x@uwgExIh|-mA zjdaC(29~CTVSaaF7HPbql&*9Uo8P@f)>LqCXclr}peS7_1BQ28u9PO8Eq1@`l3q9o zkfKCaO2?T?ZyA6loW<#9_c^O=m<&h}CA!ineAD@=(gbq`vyT|tiJ6#^B1$P;;qax` z55k&Q?wEh#87niLo*+n4L@65J(Nz~=Ya%7^(miLb(E>A3B@|Jjl;FU&D>o|9#7PJH z?|ago!o;WC^h=|T7PVBg(DAB}72cyUS zb(f>Bwbr!F1eTCO5fpj<{PqhY5>143p?~5ZA5H40);=@M#MYvrB6gqHbU_!GSY??i z%s=>-ciA4*zOOZHds0a(kWewZ4h(k8h(ua7HX)Au&mY~H8KY6(_cb$_&fA@QjIW-*heP3%$d!m5^AdnT}`12qA^c@!g3DOwZ5WwE2?)-yU z!)Vx#Mtxt?FzFTwK!77sy7)sMzUd->w4^bxtpM2j!b1pjgyk zGKwWGeb4)^zjy{9Es&PU1}gwg?|J#L$KJB7ett9@4M%-nGtIQr0>Fl@8-yh`-+1ed zS6r}(MeSvgSoFmH*_WPu@i?}!AB~2?;i&IxrkNg~cQ9Som98tcq)k^|eeER|Zl77t za-TVUc;DNvzVXJ%w52+#weN?+;i#{f#!Oc&z?81*N>^e~ltRS%ZI@lR{rs()HmqG! zx*}ZrI-EZ}ckJMiy>A^oofwDfC~IH)z8{VHKGT@#E5I(Ll&+MnMCl>~AV7+>Gi%mF zkU1QlKASdR0B80!YhP<$Ywi0?W2Ux45oPfxv9QolWzJPD^weBfvo4SONxP35106sAmh(e+vAs0GboFD@PvNs)jNPvarhW}0YliZEg{Gazv z+JDIpoojRVPr<*C|BTq<`6ga{5q^8^!|0cxe=rZ!zxH3%f5ZO0cQ*Z<^$Yt2{|Ek0 zyT|*F+CO@K;(owBKtGg!S^xj-Z~rga2m6nxKl9J=fBSuNKW_dLKWhJKeg^-Xe`^1? z`TyJj)8E!#>_3Y?uKrwqq3LJ#SGU>AzUO|6`nR^u&3FNN_jGOc zw)Nw`wr3yIKhgcee6IaN=ws>M{6677%)hPwx&HzC(f&u~&)6@b2kNRzBDQAP0*H73 zq%McOmRk{B3i47qRe=DA*$&odrbEJZ*pV9XXa&p@wlW~@Yfs>V{yiTtplMhgM*-Bz zsSnlq&pG;z0OUN%$~$3=g1UF+G*>+17eRbBf3=y79J}KR8owon@$1Z7MIrvvWWH)34nK2SD)GsrJ{l z1Cl#oVo3A8qY3e=aF)qzms~FG#2$LzT=gs&aVMOj>(%{y<&O0cG!nCiESl~x=^dF{ zKvj8F1K8Ng171wwM5Fh4KoQw`_c6#y$(5cAm7e}~nJ#A*fx+c9;y#&W!#VukR)ugk zKp3=+;Ut+IYn%m+r4d*<`L2h%aDnX5}^!5R|H;(34AoVWjRx(msBZvk;rCI*|~ zdOijqI@9Z{Vu!~jvHW{lBa$rnl4+!s_5sfK3bCGk-B%iDe&@-}+%fOKU|(9?V1 zHE8&@4z)Kx!RAvAs z!Wic9=o#(bg?kc-G68-m(jZ`^=XGUXb)}t(%&~sjFnV^sEX%hSy6UKC4iOhgV=BHV z2w`4g7Y=s#Vu2B_?#VQ|hP39@eArgfX>-0S+dd&^mx0*wp}>)x;c4RUgxz%;oNe?& z-7-lJ@Y^2^C;=qJsxx5|xF)*pTGhch2B&kxtn;f!7=gznk}I3}Dh}(CoMXgA5-p&kS202!l?!fT3t|HG*rIP~mS* z$Wjo}jq3}z$Qq!9yrtd3fM0N629ZM?LU$nv@Tv9b7I;D|;0H2dsA~g7Z7zp1| zB)XmrkMgF6OQr|R)HHD^TE{Y#j!~SR?b`Xt3Qs`B+x<hxexYeAjMUWdZ-*n9%(1)Wb(n2U<><7&9dwGJmrob)4%H? zlQ%z+L-^$dFhhH|@u$%97Qz?*Ynh2VG@q|?8vY&L74&fs&_b&3$x&Oyjl~LQDRRap zJU4U*R+(2Dd!G+lh8!V{pT_UJn+^1Qg6$` zqkNm(a#hWyc6SP+p5=C4HL8-m`pO`5o~`-LI?_h5CsH?F_%?nDodmz&pWR20WTpJE z?N|wSzLjMUK8E)a2tI}Lf;+;*M|h3Y(U#>)g1>zk9|Hd}oZAa2 zLYBWBoSW!Ts!RwXr^8h+U*@{9{zqS^iH)Op<;r`Uw~nc}<^$V~_i%$GFjaG?X1@E|M`h)nekvFKt`Dh-f>@|0-`Xoq)o` zx;JmzDfOV9qCx|EVpogEe0LK~tGS?5$$L_i6P$P6wIsCQaP_;d{{N=iV@+8LI}o#( zvo*Ejy=IIn{rdIQh1&q-{EuohpVOjJ^Q3lD*YTp37$^RRgn8ihpdu5{Ct%5-KO!VL zcNB6dUajXI9jkm-P|i3~GB-A(X`P1Oqqb$tcku)UJw0w3GeUijb__#QT4j%64z%EeB7S?jlWwx_7&+EEvB|6N=kV}DwnyAlX=?j`) zmU#!$*^@NIu#n_d7;WoJV@*Fbv9|yJO4;n|BNF2xy(54RyB>t~8lUOUW$&2%Nwi1y zx6JxW88>U2$#qhl^6KUbtmg9}D0o5vYDT7kWJthLGkpGnN4T>{St^_EU>4;DmLF9o zr|LqsA8_MoNLQ=}w?8u!ziSZ@PC#Y<#9uJFo-ozVo6D;<8j^1$c|qAE3ZTE5i~zmE z$BU5lw6l=EWsg^y^;8>r9qH{xfL|~PZYK#md$zZ0?o11gV<*WSW~cgy2GYGQir%wf zt4iW8D+;s*;RGrmd(-T<@2&j(Cb9xhV*l-x`TpK`xq|7p?5R%5*s!69?2c!cC*VY* z2DE^9pvOPLU!1e}wA8S8opcTJ3`NB>hY=JQnL~QFXR4K8A$BqJnoEB$wn-%u@E6Mh zCfMF4kusv3N!(aHC}4)Xs^xoOwXd%e^6pi5|DZo=Q25j+6HlJ^7FodH6y1bMROR^q zGu6)fopS`h%Sw<;ZH%TEPf+#81-#_v+@8nlR0jLcIDKQtLleOC)6yLZgC!D9X3GgS zohwU{v$jl=quD#Go^hB{`@Qw*a%`(^jyT~=q^bWgGzRj;|12J55HWdCWV}EB|K=%N z3Nq-qxJJ`>^|1MNN+q}zTB&ooE3j==AgK@^UW<^oSbeALa2peF)Th6{@sj0KyMNHZ zksk1+MXN2tv+22A%cQOGpS9)77(uP9mh+!5T5ERLvF@b}$+WvXM45Z?-kCa)fb~f1 znVbTD$Gx-0Zxc`0D@YgHakge6SL0H`-vN_x?AP0>iGH0_EE&=v83hMJgaKAI0jJXm zVxVz;X<$v6WW7}fxROO7vr#YLP;;lij5VrX{;>7kK6TtOH&6|Ar^xo>00%+u$C4@# z>!jOt6*3><171+WxoZnKDTzJtDRw+T030;yI}~uV@9fCnei^I*j>Bp&mzP2d=FPb_ zCM*l_+$LDR3B*a!A$g#>xsrZvw0lckxmMg>0aQd7tPyN=t{dgXb;Ie+T8{fZH=gdu zM7Rg9c(kg(Jg0?ARRRl=AONFKrvFj)lTY$KfT%6^6s`mk*ABGhsce*LsoD>K{z_M2 ziPpnu+lw22PfF!CoId^6n*G4H(Ix+#+N{C(da7t1BYMGEaE#PdpOLxsVD5riQXHp@OX;`S`8VnpM~)I920w~<3|mo0 zf8~Az`*?2?H&gZ&*K&bRkV@qzvMlRHXys8*Ze2+1c?5o!^+$&MHxB@4Ee5cke52R! zmn7AZtY6ST%ixgU5)%$%QcwHj7Es-Qu^kLAPwy%7pGBw_4Q9#da^W2$}axNHr03)_nw z5?yuNmXrI5HgS46)c5&}B)Tts49oU92>3xBLLy}FMUW=84DQbVq^;7_e7|(Sdz|&J z73N+M`rc2rt*oSWu#7S{*s~nH6HRHJS1SmzeXk|;CA)FI4bat3<%}nkB%;;?=F>B7ms9QSxv#@+69;@>QaR?REYX4&)=itG>rM{<{A79Rmk)`5ON#GL`*KX%}Ihk3w(RtM-WLt z?f&FLF}4N^yE!(pZ&Yj&Bc`~K0@4_}*0Om?wN|}4WJ>WL;G^H2*QpgEkGA~OET-Km zkwz|5{6dnz1U<2Pe9DNL>3g5FEIvp1jzP&2K#z~j%g6!7B;^zF+o95?fV{3mnB8*RMhCDNp>Am-3e@jNfMj?jHV$MWjk!DDKP zkAz$Y?Sr)!GUOX}qTQ5aMh|wq1uq}~joWyKl=b_LboM#wi{CMuz5x6BKlA-qy++cM01D3b7`uD z#l6M4pI;JCypO8JZ6?U&wNxR!{4oB_ zlV!x9+-&Qy6{%MQ{~yoZGkKiTSC`YS_j22~G;xUV855g2&C(zm^V!(wpcm@zn{%!g z4}JGo(sGZ1O~to-}le

UmY2RIYtNPVDpE$%vda+HD#3m z&VuXJ{BK&Qe+rBa7eq}Q(bq|tn(RrJAk|ztj2(i{d>nmQnM?;HF2k&9sA6up5tmjl z7lySlzMbifH17-m-Lwa_F&e7nOH?ESi3#ckR3tsM+jsck3`oG!uMS}|eAwVXv>}qxwq?QY%QJ0}r@^;fhuUA9W z*BVl>TGo&N004@xSiwDUXUvp51sVmqO3m)=B55aPwf@0=e}cN+$-BdKxY`YrT_4)0 z_d10#i44Q*rFr8MC>*)v$EJvz``(pb{e&*6k+b zsMz%($|1+8hn8c2?P(l@;Rb&CsZeYoCI3?2!LqjbwPXW3z4G$Qfj=cT5Yb%vY0(AX oeb?AaKtwrnc|$|zzw9vfvn^aJJ!zd)XFXqqy0000001=f@-~a#s literal 0 HcmV?d00001 diff --git a/XixunPlayer/app/src/main/res/values/colors.xml b/XixunPlayer/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..c8524cd --- /dev/null +++ b/XixunPlayer/app/src/main/res/values/colors.xml @@ -0,0 +1,5 @@ + + + #FF000000 + #FFFFFFFF + \ No newline at end of file diff --git a/XixunPlayer/app/src/main/res/values/strings.xml b/XixunPlayer/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..a619236 --- /dev/null +++ b/XixunPlayer/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + XixunPlayer + \ No newline at end of file diff --git a/XixunPlayer/app/src/main/res/values/themes.xml b/XixunPlayer/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..3a1eec4 --- /dev/null +++ b/XixunPlayer/app/src/main/res/values/themes.xml @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/XixunPlayer/app/src/main/res/xml/backup_rules.xml b/XixunPlayer/app/src/main/res/xml/backup_rules.xml new file mode 100644 index 0000000..fa0f996 --- /dev/null +++ b/XixunPlayer/app/src/main/res/xml/backup_rules.xml @@ -0,0 +1,13 @@ + + + + \ No newline at end of file diff --git a/XixunPlayer/app/src/main/res/xml/data_extraction_rules.xml b/XixunPlayer/app/src/main/res/xml/data_extraction_rules.xml new file mode 100644 index 0000000..9ee9997 --- /dev/null +++ b/XixunPlayer/app/src/main/res/xml/data_extraction_rules.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/XixunPlayer/build.gradle b/XixunPlayer/build.gradle new file mode 100644 index 0000000..3daed1d --- /dev/null +++ b/XixunPlayer/build.gradle @@ -0,0 +1,4 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +plugins { +id 'com.android.application' version '8.1.1' apply false +} \ No newline at end of file diff --git a/XixunPlayer/gradle.properties b/XixunPlayer/gradle.properties new file mode 100644 index 0000000..3e927b1 --- /dev/null +++ b/XixunPlayer/gradle.properties @@ -0,0 +1,21 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Enables namespacing of each library's R class so that its R class includes only the +# resources declared in the library itself and none from the library's dependencies, +# thereby reducing the size of the R class for that library +android.nonTransitiveRClass=true \ No newline at end of file diff --git a/XixunPlayer/gradle/wrapper/gradle-wrapper.jar b/XixunPlayer/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f GIT binary patch literal 59203 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

K7UpUK$>l@ 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 E2O(~oYXATM literal 0 HcmV?d00001 diff --git a/XixunPlayer/gradle/wrapper/gradle-wrapper.properties b/XixunPlayer/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..d587198 --- /dev/null +++ b/XixunPlayer/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Wed Oct 11 11:55:49 CST 2023 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/XixunPlayer/gradlew b/XixunPlayer/gradlew new file mode 100644 index 0000000..4f906e0 --- /dev/null +++ b/XixunPlayer/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# 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\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# 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 +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +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" -a "$nonstop" = "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 or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # 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=`expr $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 + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/XixunPlayer/gradlew.bat b/XixunPlayer/gradlew.bat new file mode 100644 index 0000000..107acd3 --- /dev/null +++ b/XixunPlayer/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/XixunPlayer/settings.gradle b/XixunPlayer/settings.gradle new file mode 100644 index 0000000..f507d7b --- /dev/null +++ b/XixunPlayer/settings.gradle @@ -0,0 +1,17 @@ +pluginManagement { + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + } +} + +rootProject.name = "XixunPlayer" +include ':app'