Skip to content

Commit

Permalink
Merge pull request #29 from Crequency/dev=main
Browse files Browse the repository at this point in the history
[Pull Request] 优化设备页面显示, 新增设备服务状态控制, 等其它改进
  • Loading branch information
Dynesshely committed Apr 18, 2023
2 parents 738d990 + 6f2d1ae commit e0a78d4
Show file tree
Hide file tree
Showing 42 changed files with 2,024 additions and 953 deletions.
90 changes: 52 additions & 38 deletions .github/workflows/build_apk.yml
Expand Up @@ -2,9 +2,10 @@ name: Build APK

on:
push:
tags:
- "v*"
branches:
- main
- dev=better-ci-cd
paths-ignore:
- "**/*.md"
- "kitx_mobile/.*/**"
Expand Down Expand Up @@ -47,41 +48,54 @@ jobs:
# DATA=$(cat data.json)
# - name: Upload Published Dashboard Artifacts
# uses: nanoufo/action-upload-artifacts-and-release-assets@main
# with:
# path: |-
# ${{ join(fromJSON(env.DATA).publish_list, '') }}

# - uses: actions/upload-artifact@v3
# with:
# path: kitx_mobile/.ci_cd/*.apk

# - uses: actions/upload-artifact@v3
# with:
# path: kitx_mobile/.ci_cd/*.sha1

- uses: actions/upload-artifact@v3
with:
name: kitx-mobile-arm64-v8a-release.apk
path: kitx_mobile/.ci_cd/kitx-mobile-arm64-v8a-release.apk

- uses: actions/upload-artifact@v3
with:
name: kitx-mobile-armeabi-v7a-release.apk
path: kitx_mobile/.ci_cd/kitx-mobile-armeabi-v7a-release.apk

- uses: actions/upload-artifact@v3
with:
name: kitx-mobile-x86_64-release.apk
path: kitx_mobile/.ci_cd/kitx-mobile-x86_64-release.apk

- uses: actions/upload-artifact@v3
with:
name: kitx-mobile-release.apk
path: kitx_mobile/.ci_cd/kitx-mobile-release.apk

- uses: actions/upload-artifact@v3
- name: Create Release and Upload Release Asset
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
name: apk signatures
path: kitx_mobile/.ci_cd/*.sha1
tag_name: ${{ github.ref }}
name: Release ${{ github.ref }}
body: Auto release by Actions.
draft: false
prerelease: false
files: |
kitx_mobile/.ci_cd/*.apk
kitx_mobile/.ci_cd/*.sha1
# - name: Upload Published Dashboard Artifacts
# uses: nanoufo/action-upload-artifacts-and-release-assets@main
# with:
# path: |-
# ${{ join(fromJSON(env.DATA).publish_list, '') }}

# - uses: actions/upload-artifact@v3
# with:
# path: kitx_mobile/.ci_cd/*.apk

# - uses: actions/upload-artifact@v3
# with:
# path: kitx_mobile/.ci_cd/*.sha1

# - uses: actions/upload-artifact@v3
# with:
# name: kitx-mobile-arm64-v8a-release.apk
# path: kitx_mobile/.ci_cd/kitx-mobile-arm64-v8a-release.apk

# - uses: actions/upload-artifact@v3
# with:
# name: kitx-mobile-armeabi-v7a-release.apk
# path: kitx_mobile/.ci_cd/kitx-mobile-armeabi-v7a-release.apk

# - uses: actions/upload-artifact@v3
# with:
# name: kitx-mobile-x86_64-release.apk
# path: kitx_mobile/.ci_cd/kitx-mobile-x86_64-release.apk

# - uses: actions/upload-artifact@v3
# with:
# name: kitx-mobile-release.apk
# path: kitx_mobile/.ci_cd/kitx-mobile-release.apk

# - uses: actions/upload-artifact@v3
# with:
# name: apk signatures
# path: kitx_mobile/.ci_cd/*.sha1
22 changes: 22 additions & 0 deletions .github/workflows/pr-merged.yml
@@ -0,0 +1,22 @@
name: "Pull Request Labeler"
on:
pull_request:
types:
- closed

jobs:
pr-merged:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- uses: actions/github-script@v6
with:
script: |
github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ["merged"]
})
43 changes: 42 additions & 1 deletion kitx_mobile/.gitignore
Expand Up @@ -39,6 +39,47 @@ build/
# Web related
lib/generated_plugin_registrant.dart

# Android related
**/android/**/gradle-wrapper.jar
.gradle/
**/android/captures/
**/android/gradlew
**/android/gradlew.bat
**/android/local.properties
**/android/**/GeneratedPluginRegistrant.java
**/android/key.properties
*.jks

# iOS/XCode related
**/ios/**/*.mode1v3
**/ios/**/*.mode2v3
**/ios/**/*.moved-aside
**/ios/**/*.pbxuser
**/ios/**/*.perspectivev3
**/ios/**/*sync/
**/ios/**/.sconsign.dblite
**/ios/**/.tags*
**/ios/**/.vagrant/
**/ios/**/DerivedData/
**/ios/**/Icon?
**/ios/**/Pods/
**/ios/**/.symlinks/
**/ios/**/profile
**/ios/**/xcuserdata
**/ios/.generated/
**/ios/Flutter/.last_build_id
**/ios/Flutter/App.framework
**/ios/Flutter/Flutter.framework
**/ios/Flutter/Flutter.podspec
**/ios/Flutter/Generated.xcconfig
**/ios/Flutter/ephemeral
**/ios/Flutter/app.flx
**/ios/Flutter/app.zip
**/ios/Flutter/flutter_assets/
**/ios/Flutter/flutter_export_environment.sh
**/ios/ServiceDefinitions.json
**/ios/Runner/GeneratedPluginRegistrant.*

# Symbolication related
app.*.symbols

Expand All @@ -52,4 +93,4 @@ android/app/release
pubspec.lock

# VSCode workspace settings
**/.vscode
**/.vscode
26 changes: 13 additions & 13 deletions kitx_mobile/analysis_options.yaml
@@ -1,17 +1,17 @@
analyzer:
strong-mode:
implicit-casts: false
errors:
avoid_returning_null_for_future: warning
cancel_subscriptions: warning
dead_code: warning
override_on_non_overriding_method: warning
unused_element: warning
unused_import: warning
avoid_empty_else: warning
exclude:
- test/**
- lib/models/**
strong-mode:
implicit-casts: false
errors:
avoid_returning_null_for_future: warning
cancel_subscriptions: warning
dead_code: warning
# override_on_non_overriding_method: warning
unused_element: warning
unused_import: warning
avoid_empty_else: warning
exclude:
- test/**
- lib/models/**
linter:
rules:
- always_use_package_imports
Expand Down
4 changes: 2 additions & 2 deletions kitx_mobile/android/app/src/debug/AndroidManifest.xml
@@ -1,8 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.crequency.kitx.kitx_mobile">
package="com.crequency.kitx.mobile">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
29 changes: 18 additions & 11 deletions kitx_mobile/android/app/src/main/AndroidManifest.xml
@@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.crequency.kitx.kitx_mobile">
package="com.crequency.kitx.mobile">

<queries>
<intent>
Expand Down Expand Up @@ -57,21 +57,28 @@
android:name="flutterEmbedding"
android:value="2" />
</application>

<!--模糊位置访问权限-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!--获取精确地址权限-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--网络访问权限-->
<uses-permission android:name="android.permission.INTERNET" />
<!--模糊位置访问权限-->
<!-- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />-->
<!-- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />-->
<!--网络信息权限-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--WIFI 信息-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--获取精确 MAC 地址权限-->
<uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" />
<!--文件写权限-->
<!-- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--文件读权限-->
<!-- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />-->
<!--SMS接收权限-->
<!-- <uses-permission android:name="android.permission.RECEIVE_SMS" />-->
<!-- <uses-permission android:name="android.permission.BLUETOOTH" />-->
<!-- <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />-->
<!-- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!--SMS 接收权限-->
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<!--蓝牙相关权限-->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<!--马达振动权限-->
<uses-permission android:name="android.permission.VIBRATE" />
</manifest>

This file was deleted.

@@ -0,0 +1,57 @@
package com.crequency.kitx.mobile

import android.util.Log
import android.widget.Toast
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodChannel
import java.lang.reflect.Method
import java.net.NetworkInterface
import java.util.*

class MainActivity : FlutterActivity() {

private val CHANNEL = "com.crequency.kitx.mobile/channel";
private lateinit var channel: MethodChannel

override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
super.configureFlutterEngine(flutterEngine)

channel = MethodChannel(flutterEngine.dartExecutor.binaryMessenger, CHANNEL)
channel.setMethodCallHandler { call, result ->
if (call.method == "getMAC") {
var mac = getMacAddress()
result.success(mac)
}

if (call.method == "toastText") {
var text = call.argument("text") ?: ""
result.success(text)
Toast.makeText(this, text, Toast.LENGTH_LONG).show()
}
}
}

private fun getMacAddress(): String? {
var fallBackValue = ""
try {
val all: List<NetworkInterface> =
Collections.list<NetworkInterface>(NetworkInterface.getNetworkInterfaces())
for (nif in all) {
if (!nif.getName().equals("wlan0", ignoreCase = true)) continue
val macBytes: ByteArray = nif.getHardwareAddress() ?: return fallBackValue
val res1 = StringBuilder()
for (b in macBytes) {
res1.append(String.format("%02X:", b))
}
if (res1.length > 0) {
res1.deleteCharAt(res1.length - 1)
}
return res1.toString()
}
} catch (ex: java.lang.Exception) {
return fallBackValue
}
return fallBackValue
}
}
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<?xml version="1.0" encoding="utf-8"?><!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="?android:colorBackground" />

Expand Down
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<?xml version="1.0" encoding="utf-8"?><!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" />

Expand Down
4 changes: 2 additions & 2 deletions kitx_mobile/android/app/src/profile/AndroidManifest.xml
@@ -1,8 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.crequency.kitx.kitx_mobile">
package="com.crequency.kitx.mobile">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.INTERNET" />
</manifest>

0 comments on commit e0a78d4

Please sign in to comment.