diff --git a/.github/workflows/android.yaml b/.github/workflows/android.yaml new file mode 100644 index 00000000..32aed76d --- /dev/null +++ b/.github/workflows/android.yaml @@ -0,0 +1,39 @@ +# Build Android version of the app + +name: Android + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + + build: + runs-on: macos-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + with: + submodules: recursive + - name: Setup Java + uses: actions/setup-java@v1 + with: + java-version: '12.x' + - name: Setup Flutter + uses: subosito/flutter-action@v1 + with: + flutter-version: '2.10.3' + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 + with: + gradle-version: 6.1.1 + - name: Build for Android + run: | + flutter pub get + cp lib/dummy_dsn.dart lib/dsn.dart + flutter build apk --debug diff --git a/.github/workflows/ios.yaml b/.github/workflows/ios.yaml new file mode 100644 index 00000000..202c684b --- /dev/null +++ b/.github/workflows/ios.yaml @@ -0,0 +1,39 @@ +# Build iOS version of the app + +name: iOS + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + + build: + runs-on: macos-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + with: + submodules: recursive + - name: Setup Java + uses: actions/setup-java@v1 + with: + java-version: '12.x' + - name: Setup Flutter + uses: subosito/flutter-action@v1 + with: + flutter-version: '2.10.3' + - name: Build for iOS + run: | + flutter pub get + cd ios + pod repo update + pod install + cd .. + cp lib/dummy_dsn.dart lib/dsn.dart + flutter build ios --release --no-codesign diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml new file mode 100644 index 00000000..a9d3fe78 --- /dev/null +++ b/.github/workflows/lint.yaml @@ -0,0 +1,37 @@ +# Run flutter linting checks + +name: lint + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + + lint: + runs-on: ubuntu-latest + + env: + SENTRY_DSN: ${{ secrets.SENTRY_DSN }} + + steps: + - name: Checkout code + uses: actions/checkout@v2 + with: + submodules: recursive + - name: Setup Java + uses: actions/setup-java@v1 + with: + java-version: '12.x' + - name: Setup Flutter + uses: subosito/flutter-action@v1 + with: + flutter-version: '2.10.3' + - run: flutter pub get + - run: cp lib/dummy_dsn.dart lib/dsn.dart + - run: flutter analyze + - run: flutter test --coverage diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml deleted file mode 100644 index 1e4db0e7..00000000 --- a/.github/workflows/test.yaml +++ /dev/null @@ -1,81 +0,0 @@ -# Run flutter linting checks - -name: test - -on: - push: - branches: - - master - pull_request: - branches: - - master - -jobs: - - lint: - runs-on: ubuntu-latest - - env: - SENTRY_DSN: ${{ secrets.SENTRY_DSN }} - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - submodules: recursive - - name: Setup Java - uses: actions/setup-java@v1 - with: - java-version: '12.x' - - name: Setup Flutter - uses: subosito/flutter-action@v1 - with: - flutter-version: '2.10.3' - - run: flutter pub get - - run: cp lib/dummy_dsn.dart lib/dsn.dart - - run: flutter analyze - - run: flutter test --coverage - - #android: - # runs-on: macos-latest - # - # steps: - # - name: Checkout code - # uses: actions/checkout@v2 - # with: - # submodules: recursive - # - name: Setup Java - # uses: actions/setup-java@v1 - # with: - # java-version: '12.x' - # - name: Setup Flutter - # uses: subosito/flutter-action@v1 - # with: - # flutter-version: '2.2.3' - # - name: Setup Gradle - # uses: gradle/gradle-build-action@v2 - # with: - # gradle-version: 6.1.1 - # - run: flutter pub get - # - run: cp lib/dummy_dsn.dart lib/dsn.dart - # - run: flutter build apk - - #ios: - # runs-on: macos-latest - # - # steps: - # - name: Checkout code - # uses: actions/checkout@v2 - # with: - # submodules: recursive - # - name: Setup Java - # uses: actions/setup-java@v1 - # with: - # java-version: '12.x' - # - name: Setup Flutter - # uses: subosito/flutter-action@v1 - # with: - # flutter-version: '2.2.3' - # - run: flutter pub get - # - run: cp lib/dummy_dsn.dart lib/dsn.dart - # - run: flutter build ios --release --no-codesign diff --git a/.gitignore b/.gitignore index 2604e33b..2f258989 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,7 @@ android/key.properties ios/Flutter/flutter_export_environment.sh ios/Flutter/Flutter.podspec ios/build +ios/Podfile.lock **/doc/api/ .dart_tool/ .flutter-plugins diff --git a/ios/Podfile.lock b/ios/Podfile.lock deleted file mode 100644 index 0ecaeec3..00000000 --- a/ios/Podfile.lock +++ /dev/null @@ -1,157 +0,0 @@ -PODS: - - audioplayers (0.0.1): - - Flutter - - camera (0.0.1): - - Flutter - - device_info_plus (0.0.1): - - Flutter - - DKImagePickerController/Core (4.3.2): - - DKImagePickerController/ImageDataManager - - DKImagePickerController/Resource - - DKImagePickerController/ImageDataManager (4.3.2) - - DKImagePickerController/PhotoGallery (4.3.2): - - DKImagePickerController/Core - - DKPhotoGallery - - DKImagePickerController/Resource (4.3.2) - - DKPhotoGallery (0.0.17): - - DKPhotoGallery/Core (= 0.0.17) - - DKPhotoGallery/Model (= 0.0.17) - - DKPhotoGallery/Preview (= 0.0.17) - - DKPhotoGallery/Resource (= 0.0.17) - - SDWebImage - - SwiftyGif - - DKPhotoGallery/Core (0.0.17): - - DKPhotoGallery/Model - - DKPhotoGallery/Preview - - SDWebImage - - SwiftyGif - - DKPhotoGallery/Model (0.0.17): - - SDWebImage - - SwiftyGif - - DKPhotoGallery/Preview (0.0.17): - - DKPhotoGallery/Model - - DKPhotoGallery/Resource - - SDWebImage - - SwiftyGif - - DKPhotoGallery/Resource (0.0.17): - - SDWebImage - - SwiftyGif - - file_picker (0.0.1): - - DKImagePickerController/PhotoGallery - - Flutter - - Flutter (1.0.0) - - FMDB (2.7.5): - - FMDB/standard (= 2.7.5) - - FMDB/standard (2.7.5) - - image_picker (0.0.1): - - Flutter - - MTBBarcodeScanner (5.0.11) - - open_file (0.0.1): - - Flutter - - package_info_plus (0.4.5): - - Flutter - - path_provider (0.0.1): - - Flutter - - qr_code_scanner (0.2.0): - - Flutter - - MTBBarcodeScanner - - SDWebImage (5.11.1): - - SDWebImage/Core (= 5.11.1) - - SDWebImage/Core (5.11.1) - - Sentry (6.2.1): - - Sentry/Core (= 6.2.1) - - Sentry/Core (6.2.1) - - sentry_flutter (0.0.1): - - Flutter - - Sentry (~> 6.2.1) - - shared_preferences (0.0.1): - - Flutter - - sqflite (0.0.2): - - Flutter - - FMDB (>= 2.7.5) - - SwiftyGif (5.4.0) - - url_launcher (0.0.1): - - Flutter - -DEPENDENCIES: - - audioplayers (from `.symlinks/plugins/audioplayers/ios`) - - camera (from `.symlinks/plugins/camera/ios`) - - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) - - file_picker (from `.symlinks/plugins/file_picker/ios`) - - Flutter (from `Flutter`) - - image_picker (from `.symlinks/plugins/image_picker/ios`) - - open_file (from `.symlinks/plugins/open_file/ios`) - - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) - - path_provider (from `.symlinks/plugins/path_provider/ios`) - - qr_code_scanner (from `.symlinks/plugins/qr_code_scanner/ios`) - - sentry_flutter (from `.symlinks/plugins/sentry_flutter/ios`) - - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) - - sqflite (from `.symlinks/plugins/sqflite/ios`) - - url_launcher (from `.symlinks/plugins/url_launcher/ios`) - -SPEC REPOS: - trunk: - - DKImagePickerController - - DKPhotoGallery - - FMDB - - MTBBarcodeScanner - - SDWebImage - - Sentry - - SwiftyGif - -EXTERNAL SOURCES: - audioplayers: - :path: ".symlinks/plugins/audioplayers/ios" - camera: - :path: ".symlinks/plugins/camera/ios" - device_info_plus: - :path: ".symlinks/plugins/device_info_plus/ios" - file_picker: - :path: ".symlinks/plugins/file_picker/ios" - Flutter: - :path: Flutter - image_picker: - :path: ".symlinks/plugins/image_picker/ios" - open_file: - :path: ".symlinks/plugins/open_file/ios" - package_info_plus: - :path: ".symlinks/plugins/package_info_plus/ios" - path_provider: - :path: ".symlinks/plugins/path_provider/ios" - qr_code_scanner: - :path: ".symlinks/plugins/qr_code_scanner/ios" - sentry_flutter: - :path: ".symlinks/plugins/sentry_flutter/ios" - shared_preferences: - :path: ".symlinks/plugins/shared_preferences/ios" - sqflite: - :path: ".symlinks/plugins/sqflite/ios" - url_launcher: - :path: ".symlinks/plugins/url_launcher/ios" - -SPEC CHECKSUMS: - audioplayers: 455322b54050b30ea4b1af7cd9e9d105f74efa8c - camera: 3164201dc344383e62282964016528c4f5a9ad50 - device_info_plus: e5c5da33f982a436e103237c0c85f9031142abed - DKImagePickerController: b5eb7f7a388e4643264105d648d01f727110fc3d - DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179 - file_picker: 3e6c3790de664ccf9b882732d9db5eaf6b8d4eb1 - Flutter: 434fef37c0980e73bb6479ef766c45957d4b510c - FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a - image_picker: e06f7a68f000bd36f552c1847e33cda96ed31f1f - MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb - open_file: 02eb5cb6b21264bd3a696876f5afbfb7ca4f4b7d - package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e - path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c - qr_code_scanner: bb67d64904c3b9658ada8c402e8b4d406d5d796e - SDWebImage: a7f831e1a65eb5e285e3fb046a23fcfbf08e696d - Sentry: 9b922b396b0e0bca8516a10e36b0ea3ebea5faf7 - sentry_flutter: 5b3c6d717db5b7482504a313c831b318297d4d37 - shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d - sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904 - SwiftyGif: 5d4af95df24caf1c570dbbcb32a3b8a0763bc6d7 - url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef - -PODFILE CHECKSUM: b019b84a1a5becd280bd8f3d9de4acab99656b4b - -COCOAPODS: 1.10.2 diff --git a/lib/settings/about.dart b/lib/settings/about.dart index 13af3c35..8e05c8be 100644 --- a/lib/settings/about.dart +++ b/lib/settings/about.dart @@ -83,6 +83,7 @@ class InvenTreeAboutWidget extends StatelessWidget { title: Text(L10().address), subtitle: Text(InvenTreeAPI().baseUrl.isNotEmpty ? InvenTreeAPI().baseUrl : L10().notConnected), leading: FaIcon(FontAwesomeIcons.globe), + trailing: InvenTreeAPI().isConnected() ? FaIcon(FontAwesomeIcons.checkCircle, color: COLOR_SUCCESS) : FaIcon(FontAwesomeIcons.timesCircle, color: COLOR_DANGER), ) );