Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
b0064d8
install and configure capcitor bluetooth plugin,
sultanmyrza Oct 18, 2021
db7b853
add `capacitor-community/http` plugin
sultanmyrza Oct 18, 2021
26af6b3
so far can upload 7 second go pro video from device (TODO: uplod dire…
sultanmyrza Oct 19, 2021
6eef999
seems like upload directly from camera also working
sultanmyrza Oct 19, 2021
882d3f6
allow clear traffic for go pro host
sultanmyrza Oct 21, 2021
9b739a2
add bluetooth permission for ios
sultanmyrza Oct 21, 2021
f7af24b
configure wifi related setting for ios
sultanmyrza Oct 21, 2021
bd0cf07
change ios app is to `io.numbersprotocol.capturelite.experiments.gopro`
sultanmyrza Oct 21, 2021
372b0ef
temporarely remove unused buttons to match ui
sultanmyrza Oct 25, 2021
455dfe3
show capture button from home page if connected to GoPro
sultanmyrza Oct 25, 2021
4a88197
add `NSBluetoothPeripheralUsageDescription`
sultanmyrza Nov 4, 2021
63ce792
change build version to 2 to be able to test in testflight
sultanmyrza Nov 4, 2021
d951717
removed my ip address (used for local development)
sultanmyrza Nov 12, 2021
ea48faf
removed useless comments
sultanmyrza Nov 12, 2021
ca5222b
remove useless `console.logs`
sultanmyrza Nov 12, 2021
ea6336d
remove some unusefull variables, methods
sultanmyrza Nov 12, 2021
fb497cd
add tutorial before upload (shows on android only)
sultanmyrza Dec 2, 2021
31e451f
add refresh button to refetch photos from GoPro
sultanmyrza Dec 27, 2021
2b7d5ba
change GoogleService-Info.plist for iOS
sultanmyrza Dec 28, 2021
763b2d0
change google-service for Android
sultanmyrza Dec 28, 2021
e5da7a2
upgraded compileSdkVersion and targetSdkVersion to 30 to pass play ma…
sultanmyrza Dec 28, 2021
c8ecd5d
rename android appId to io.numbersprotocol.capturelite.experiments.go…
sultanmyrza Dec 28, 2021
e02d223
update project version (ios)
sultanmyrza Jan 12, 2022
fe36e38
ci(.github/workflows/Dev-test.yml): add slack notification when devel…
b07902011 Jan 19, 2022
52918a0
style(.github/workflows/Dev-test.yml): end of file new line
b07902011 Jan 19, 2022
849ae19
fix(.github/workflows/Dev-test.yml): get real output from testing
b07902011 Jan 19, 2022
ffd70ea
ci(.github/workflows/build.yml): place notification to build.yml
b07902011 Jan 19, 2022
438a1ee
ci(.github/workflows/build.yml): change notification logic
b07902011 Jan 24, 2022
bb9da93
fix(.github/workflows/build.yml): add '-' to escape from error
b07902011 Jan 24, 2022
f2602b2
fix(build.yml): edit if flow
b07902011 Jan 24, 2022
cc9cd8e
fix(build.yml): fix ${{}} error
b07902011 Jan 24, 2022
a3f7a12
fix(build.yml): fix logic problem
b07902011 Jan 24, 2022
0df7d97
fix(build.yml): fix no remind in PR
b07902011 Jan 24, 2022
3cd7442
fix(build.yml): remove '/'
b07902011 Jan 24, 2022
38460af
Merge pull request #1188 from numbersprotocol/feature-slack-notification
b07902011 Jan 24, 2022
8f40b1e
build(all): merge sultanmyrza:feature/go-pro/bug-fix/refetch-photos i…
vincent10400094 Jan 25, 2022
473b1d4
fix(package.json): fix package @capacitor/bluetooth-le import problem
vincent10400094 Jan 25, 2022
0a15e0b
style(all): meet linting
vincent10400094 Jan 25, 2022
3cde523
fix(*.spec.ts): add shared testing module to pass teting
vincent10400094 Jan 25, 2022
2007c83
fix(go-pro-media-list-item-on-device.component.ts): fix linting error
vincent10400094 Jan 25, 2022
c122b5c
fix(go-pro-bluetooth.service.ts): ignore bluetooth not available issue
vincent10400094 Jan 26, 2022
3b6423a
fix(go-pro-bluetooth.service.ts): ignore bluetooth not available issue
vincent10400094 Jan 26, 2022
db9c455
fix(project.pbxproj ): change provisioning style back to manual
vincent10400094 Jan 26, 2022
a1983d5
build(ios/App): use NumbersAppDistributionV2 provisioning profile whi…
shc261392 Jan 26, 2022
e8c2860
Merge branch 'master' into develop
shc261392 Jan 27, 2022
f135820
feat(src/app/features/settings): make gopro option only appear after …
shc261392 Jan 27, 2022
82b33cd
build: bump version to 0.47.0
shc261392 Jan 27, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,3 +128,32 @@ jobs:
run: |
npx cap sync ios
xcodebuild archive -workspace ios/App/App.xcworkspace -scheme App -sdk iphoneos -configuration Debug -archivePath build/App.xcarchive -showBuildTimingSummary -allowProvisioningUpdates archive

notification-success:
runs-on: ubuntu-latest
needs: test

steps:
- uses: actions/checkout@v2

- name: Slack Notification
uses: rtCamp/action-slack-notify@v2
if: ${{ github.ref == 'refs/heads/develop' || github.event.pull_request.base.ref == 'develop'}}
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_COLOR: 'success'

notification-failure:
runs-on: ubuntu-latest
needs: test
if: ${{ failure() }}

steps:
- uses: actions/checkout@v2

- name: Slack Notification
uses: rtCamp/action-slack-notify@v2
if: ${{ github.ref == 'refs/heads/develop' || github.event.pull_request.base.ref == 'develop'}}
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_COLOR: 'failure'
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 0.47.0

### Added

- Add GoPro support (hidden by default)

###

## 0.46.0

### Added
Expand Down
2 changes: 1 addition & 1 deletion android/.idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion android/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ android {
applicationId "io.numbersprotocol.capturelite"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 290
versionName "0.46.0"
versionCode 300
versionName "0.47.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
Expand Down
3 changes: 3 additions & 0 deletions android/app/capacitor.build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ android {

apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle"
dependencies {
implementation project(':capacitor-community-bluetooth-le')
implementation project(':capacitor-community-http')
implementation project(':capacitor-community-wifi')
implementation project(':capacitor-blob-writer')

}
Expand Down
7 changes: 7 additions & 0 deletions android/app/google-services.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,13 @@
{
"client_id": "549594343019-2nnhn1apr7n1ie8l2tbbuhpelp5mul9v.apps.googleusercontent.com",
"client_type": 3
},
{
"client_id": "549594343019-2nnhn1apr7n1ie8l2tbbuhpelp5mul9v.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
"bundle_id": "io.numbersprotocol.capturelite"
}
}
]
}
Expand Down
24 changes: 24 additions & 0 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,30 @@
<!-- Audio -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<!-- Wi-Fi -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<!-- Bluetooth -->
<!-- Request legacy Bluetooth permissions on older devices. -->
<uses-permission
android:name="android.permission.BLUETOOTH"
android:maxSdkVersion="30" />
<uses-permission
android:name="android.permission.BLUETOOTH_ADMIN"
android:maxSdkVersion="30" />
<!-- Needed only if your app looks for Bluetooth devices.
You must add an attribute to this permission, or declare the
ACCESS_FINE_LOCATION permission, depending on the results when you
check location usage in your app. -->
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<!-- Needed only if your app makes the device discoverable to Bluetooth
devices. -->
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
<!-- Needed only if your app communicates with already-paired Bluetooth
devices. -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />


<queries>
<intent>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
import com.getcapacitor.Plugin;

import com.equimaps.capacitorblobwriter.BlobWriter;
import com.capacitorjs.community.plugins.bluetoothle.BluetoothLe;
import com.digaus.capacitor.wifi.Wifi;
import com.getcapacitor.plugin.http.Http;

import java.util.ArrayList;
import android.content.res.Configuration;
Expand Down Expand Up @@ -47,6 +50,9 @@ public void onCreate(Bundle savedInstanceState) {
this.init(savedInstanceState, new ArrayList<Class<? extends Plugin>>() {{
// Additional plugins you've installed go here
add(BlobWriter.class);
add(BluetoothLe.class);
add(Wifi.class);
add(Http.class);
}});
}
}
1 change: 1 addition & 0 deletions android/app/src/main/res/xml/network_security_config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="false">localhost</domain>
<domain includeSubdomains="true">10.5.5.9</domain>
</domain-config>
</network-security-config>
9 changes: 9 additions & 0 deletions android/capacitor.settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,14 @@
include ':capacitor-android'
project(':capacitor-android').projectDir = new File('../node_modules/@capacitor/android/capacitor')

include ':capacitor-community-bluetooth-le'
project(':capacitor-community-bluetooth-le').projectDir = new File('../node_modules/@capacitor-community/bluetooth-le/android')

include ':capacitor-community-http'
project(':capacitor-community-http').projectDir = new File('../node_modules/@capacitor-community/http/android')

include ':capacitor-community-wifi'
project(':capacitor-community-wifi').projectDir = new File('../node_modules/@capacitor-community/wifi/android')

include ':capacitor-blob-writer'
project(':capacitor-blob-writer').projectDir = new File('../node_modules/capacitor-blob-writer/android')
12 changes: 6 additions & 6 deletions ios/App/App.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,19 @@

/* Begin PBXBuildFile section */
2FAD9763203C412B000D30F8 /* config.xml in Resources */ = {isa = PBXBuildFile; fileRef = 2FAD9762203C412B000D30F8 /* config.xml */; };
3A9F028F2565C5B400C28730 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3A9F028E2565C5B400C28730 /* GoogleService-Info.plist */; };
50379B232058CBB4000EE86E /* capacitor.config.json in Resources */ = {isa = PBXBuildFile; fileRef = 50379B222058CBB4000EE86E /* capacitor.config.json */; };
504EC3081FED79650016851F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504EC3071FED79650016851F /* AppDelegate.swift */; };
504EC30D1FED79650016851F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30B1FED79650016851F /* Main.storyboard */; };
504EC30F1FED79650016851F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30E1FED79650016851F /* Assets.xcassets */; };
504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC3101FED79650016851F /* LaunchScreen.storyboard */; };
50B271D11FEDC1A000F3C39B /* public in Resources */ = {isa = PBXBuildFile; fileRef = 50B271D01FEDC1A000F3C39B /* public */; };
A084ECDBA7D38E1E42DFC39D /* Pods_App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF277DCFFFF123FFC6DF26C7 /* Pods_App.framework */; };
DE095D00277AF00900242276 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = DE095CFF277AF00900242276 /* GoogleService-Info.plist */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
2FAD9762203C412B000D30F8 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = config.xml; sourceTree = "<group>"; };
3A9F028D2565C4AD00C28730 /* App.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = App.entitlements; sourceTree = "<group>"; };
3A9F028E2565C5B400C28730 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
50379B222058CBB4000EE86E /* capacitor.config.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = capacitor.config.json; sourceTree = "<group>"; };
504EC3041FED79650016851F /* App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = App.app; sourceTree = BUILT_PRODUCTS_DIR; };
504EC3071FED79650016851F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
Expand All @@ -32,6 +31,7 @@
50B271D01FEDC1A000F3C39B /* public */ = {isa = PBXFileReference; lastKnownFileType = folder; path = public; sourceTree = SOURCE_ROOT; };
AF277DCFFFF123FFC6DF26C7 /* Pods_App.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_App.framework; sourceTree = BUILT_PRODUCTS_DIR; };
AF51FD2D460BCFE21FA515B2 /* Pods-App.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-App.release.xcconfig"; path = "Pods/Target Support Files/Pods-App/Pods-App.release.xcconfig"; sourceTree = "<group>"; };
DE095CFF277AF00900242276 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
FC68EB0AF532CFC21C3344DD /* Pods-App.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-App.debug.xcconfig"; path = "Pods/Target Support Files/Pods-App/Pods-App.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */

Expand Down Expand Up @@ -79,8 +79,8 @@
3A9F028D2565C4AD00C28730 /* App.entitlements */,
50379B222058CBB4000EE86E /* capacitor.config.json */,
504EC3071FED79650016851F /* AppDelegate.swift */,
3A9F028E2565C5B400C28730 /* GoogleService-Info.plist */,
504EC30B1FED79650016851F /* Main.storyboard */,
DE095CFF277AF00900242276 /* GoogleService-Info.plist */,
504EC30E1FED79650016851F /* Assets.xcassets */,
504EC3101FED79650016851F /* LaunchScreen.storyboard */,
504EC3131FED79650016851F /* Info.plist */,
Expand Down Expand Up @@ -166,7 +166,7 @@
50379B232058CBB4000EE86E /* capacitor.config.json in Resources */,
504EC30D1FED79650016851F /* Main.storyboard in Resources */,
2FAD9763203C412B000D30F8 /* config.xml in Resources */,
3A9F028F2565C5B400C28730 /* GoogleService-Info.plist in Resources */,
DE095D00277AF00900242276 /* GoogleService-Info.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -367,7 +367,7 @@
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
PRODUCT_BUNDLE_IDENTIFIER = io.numbersprotocol.capturelite;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = NumbersAppDistribution;
PROVISIONING_PROFILE_SPECIFIER = NumbersAppDistributionV2;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG USE_PUSH";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
Expand All @@ -391,7 +391,7 @@
MARKETING_VERSION = 0.17.0;
PRODUCT_BUNDLE_IDENTIFIER = io.numbersprotocol.capturelite;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = NumbersAppDistribution;
PROVISIONING_PROFILE_SPECIFIER = NumbersAppDistributionV2;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = USE_PUSH;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
Expand Down
10 changes: 10 additions & 0 deletions ios/App/App/App.entitlements
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,15 @@
<dict>
<key>aps-environment</key>
<string>development</string>
<key>com.apple.developer.networking.HotspotConfiguration</key>
<true/>
<key>com.apple.developer.networking.networkextension</key>
<array>
<string>app-proxy-provider</string>
</array>
<key>com.apple.external-accessory.wireless-configuration</key>
<true/>
<key>com.apple.developer.networking.wifi-info</key>
<true/>
</dict>
</plist>
8 changes: 8 additions & 0 deletions ios/App/App/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>NSBluetoothAlwaysUsageDescription</key>
<string>Uses Bluetooth to connect and interact with GoPro or any other Bluetooth devices.</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>Uses Bluetooth to connect and interact with GoPro Camera</string>
<key>NSCameraUsageDescription</key>
<string>Grant camera permission to allow the app to take images and videos of the unique moments that you want to keep.</string>
<key>NSLocationAlwaysUsageDescription</key>
Expand All @@ -55,6 +59,10 @@
<string>Grant permission to allow this app to save the photos and videos you take to the local storage.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Grant permission to allow the app to read the photos and videos you take by this app.</string>
<key>UIBackgroundModes</key>
<array>
<string>bluetooth-central</string>
</array>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
Expand Down
2 changes: 1 addition & 1 deletion ios/App/ExportOptions.plist
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<key>provisioningProfiles</key>
<dict>
<key>io.numbersprotocol.capturelite</key>
<string>NumbersAppDistribution</string>
<string>NumbersAppDistributionV2</string>
</dict>
<key>signingCertificate</key>
<string>Apple Distribution</string>
Expand Down
3 changes: 3 additions & 0 deletions ios/App/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ def capacitor_pods
# Automatic Capacitor Pod dependencies, do not delete
pod 'Capacitor', :path => '../../node_modules/@capacitor/ios'
pod 'CapacitorCordova', :path => '../../node_modules/@capacitor/ios'
pod 'CapacitorCommunityBluetoothLe', :path => '../../node_modules/@capacitor-community/bluetooth-le'
pod 'CapacitorCommunityHttp', :path => '../../node_modules/@capacitor-community/http'
pod 'CapacitorCommunityWifi', :path => '../../node_modules/@capacitor-community/wifi'
pod 'CapacitorBlobWriter', :path => '../../node_modules/capacitor-blob-writer'
# Do not delete
end
Expand Down
Loading