Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
32542baa24 | ||
|
|
de56aed530 |
@@ -35,5 +35,4 @@ LOCAL_PAIRING_ENABLED=1
|
||||
TEST_STATEOFUS=1
|
||||
FAST_CREATE_COMMUNITY_ENABLED=1
|
||||
TEST_NETWORKS_ENABLED=1
|
||||
SHOW_NOT_IMPLEMENTED_FEATURES=0
|
||||
ENABLE_ALERT_BANNER=0
|
||||
SHOW_NOT_IMPLEMENTED_FEATURES=1
|
||||
|
||||
@@ -35,6 +35,3 @@ LOCAL_PAIRING_ENABLED=1
|
||||
FAST_CREATE_COMMUNITY_ENABLED=1
|
||||
TEST_NETWORKS_ENABLED=1
|
||||
SHOW_NOT_IMPLEMENTED_FEATURES=1
|
||||
DELETE_MESSAGE_FOR_ME_UNDO_TIME_LIMIT=10000
|
||||
DELETE_MESSAGE_UNDO_TIME_LIMIT=10000
|
||||
ENABLE_ALERT_BANNER=0
|
||||
|
||||
@@ -37,4 +37,3 @@ LOCAL_PAIRING_ENABLED=1
|
||||
FAST_CREATE_COMMUNITY_ENABLED=1
|
||||
TEST_NETWORKS_ENABLED=1
|
||||
SHOW_NOT_IMPLEMENTED_FEATURES=1
|
||||
ENABLE_ALERT_BANNER=1
|
||||
|
||||
@@ -23,4 +23,3 @@ DATABASE_MANAGEMENT_ENABLED=1
|
||||
DELETE_MESSAGE_ENABLED=1
|
||||
FAST_CREATE_COMMUNITY_ENABLED=0
|
||||
TEST_NETWORKS_ENABLED=0
|
||||
ENABLE_ALERT_BANNER=1
|
||||
|
||||
@@ -145,14 +145,6 @@ android {
|
||||
jvmTarget = JavaVersion.VERSION_17
|
||||
}
|
||||
|
||||
// https://developer.android.com/studio/projects/install-ndk#vanilla_cmake
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
// This version must match cmakeVersions inside nix/pkgs/android-sdk/compose.nix
|
||||
version "3.22.1"
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_17
|
||||
targetCompatibility JavaVersion.VERSION_17
|
||||
|
||||
@@ -2,13 +2,6 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:installLocation="auto">
|
||||
|
||||
<queries>
|
||||
<intent>
|
||||
<action android:name="android.intent.action.SEND_MULTIPLE" />
|
||||
<data android:mimeType="*/*" />
|
||||
</intent>
|
||||
</queries>
|
||||
|
||||
<!-- non-dangerous permissions -->
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"/>
|
||||
|
||||
@@ -36,12 +36,6 @@ pipeline {
|
||||
))
|
||||
}
|
||||
|
||||
environment {
|
||||
/* Avoid race conditions with other builds using virtualenv. */
|
||||
VIRTUAL_ENV = "${WORKSPACE_TMP}/venv"
|
||||
PATH = "${VIRTUAL_ENV}/bin:${PATH}"
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Fetch') {
|
||||
steps { script {
|
||||
@@ -58,8 +52,7 @@ pipeline {
|
||||
stage('Setup') {
|
||||
steps { script {
|
||||
dir('test/appium') {
|
||||
sh "python3 -m venv ${VIRTUAL_ENV}"
|
||||
sh 'pip3 install -r requirements.txt'
|
||||
sh 'pip3 install --user -r requirements.txt'
|
||||
}
|
||||
} }
|
||||
}
|
||||
|
||||
@@ -54,12 +54,6 @@ pipeline {
|
||||
))
|
||||
}
|
||||
|
||||
environment {
|
||||
/* Avoid race conditions with other builds using virtualenv. */
|
||||
VIRTUAL_ENV = "${WORKSPACE_TMP}/venv"
|
||||
PATH = "${VIRTUAL_ENV}/bin:${PATH}"
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Prep') {
|
||||
steps { script {
|
||||
@@ -85,8 +79,7 @@ pipeline {
|
||||
stage('Setup') {
|
||||
steps { script {
|
||||
dir('test/appium') {
|
||||
sh "python3 -m venv ${VIRTUAL_ENV}"
|
||||
sh 'pip3 install -r requirements.txt'
|
||||
sh 'pip3 install --user -r requirements.txt'
|
||||
}
|
||||
} }
|
||||
}
|
||||
|
||||
@@ -35,11 +35,6 @@ pipeline {
|
||||
))
|
||||
}
|
||||
|
||||
environment {
|
||||
/* Avoid race conditions with other builds using virtualenv. */
|
||||
VIRTUAL_ENV = "${WORKSPACE_TMP}/venv"
|
||||
PATH = "${VIRTUAL_ENV}/bin:${PATH}"
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Prep') {
|
||||
@@ -56,8 +51,7 @@ pipeline {
|
||||
stage('Setup') {
|
||||
steps { script {
|
||||
dir('test/appium') {
|
||||
sh "python3 -m venv ${VIRTUAL_ENV}"
|
||||
sh 'pip3 install -r requirements.txt'
|
||||
sh 'pip3 install --user -r requirements.txt'
|
||||
}
|
||||
} }
|
||||
}
|
||||
|
||||
+19
-18
@@ -8,7 +8,7 @@ The generally accepted requirements for its use are described below:
|
||||
- Once a PR is created, it moves to the ```REVIEW``` column where a review will be requested automatically.
|
||||
- You can also request a review inside the PR from a particular person if needed.
|
||||
- When creating a PR, do not forget to assign it to yourself.
|
||||
- Also in case the PR adds new functionality, a description **MUST** be added.
|
||||
- Also in case the PR adds new functionality, a short description would be appreciated.
|
||||
|
||||
### What if the work is still in progress?
|
||||
|
||||
@@ -28,11 +28,26 @@ Ready for testing, a PR should meet the following criteria:
|
||||
4. Has the label: `request-manual-qa` or `skip-manual-qa`.
|
||||
5. PRs **MUST** identify what area is affected and should have a description.
|
||||
|
||||
**NOTE:** Make sure that QAs are OK with that
|
||||
|
||||
### Adding `skip-manual-qa`
|
||||
|
||||
- Please ask another team member before adding the `skip-manual-qa` label (PR/Status community/DMs) so that there's a second opinion.
|
||||
- The PR MUST have a proper reasoning why manual QA is skipped.
|
||||
- The PR MUST include the steps of testing that has been done by the developer prior to moving it forward.
|
||||
**From the perspective of a developer it means that once work on PR is finished:**
|
||||
|
||||
1. It should be rebased to the latest `develop`. If there are conflicts - they should be resolved if possible.
|
||||
2. If the PR was in the `Contributor` column - it should be moved to `Review` column.
|
||||
3. Wait for the review.
|
||||
4. Make sure that after review and before requesting manual QA your PR is rebased to current develop.
|
||||
5. The PR **MUST** be moved to the E2E column when it is ready for testing (**mandatory for all PRs**).
|
||||
That will also trigger e2e tests run. QAs are monitoring PRs from E2E column and take it into test.
|
||||
|
||||
6. After that - PR will be taken into manual testing by the QA team.
|
||||
|
||||
### E2E tests and analyzing the results
|
||||
|
||||
The PR **MUST** be moved to the E2E column when it is ready for testing (**mandatory for all PRs**).
|
||||
That will also trigger e2e tests run. QAs are monitoring PRs from E2E column and take it into test.
|
||||
This step cannot be skipped. So, at least one comment from the `status-im-auto` bot with results is a prerequisite for moving forward.
|
||||
Information on how to analyze tests can be found [here](https://github.com/status-im/status-mobile/blob/develop/doc/how-to-launch-e2e.md).
|
||||
Tests might be flaky, as they depend on infrastructure - SauceLabs and Waku.
|
||||
@@ -44,20 +59,6 @@ Please, respect this rule.**
|
||||
|
||||
## Testing PR
|
||||
|
||||
### Adding `skip-manual-qa`
|
||||
|
||||
**Do not hesitate to use a `skip-manual-qa`** if you're sure that it is a simple flow and you checked it.
|
||||
- Please ask another team member before adding the `skip-manual-qa` label (PR/Status community/DMs) so that there's a second opinion.
|
||||
- The PR MUST have a proper reasoning why manual QA is skipped.
|
||||
- The PR MUST include the steps of testing that has been done by the developer prior to moving it forward.
|
||||
|
||||
**NOTE:** Make sure that QAs are OK with that;
|
||||
|
||||
Before merging PRs, please make sure that information is added about how you tested the PRs, that e2s have been passed and their results have been reviewed.
|
||||
|
||||
The QA team appreciates your help!
|
||||
|
||||
|
||||
### Manual testing
|
||||
|
||||
#### Prerequisites for manual testing
|
||||
@@ -98,7 +99,7 @@ There are three possible scenarios when the design review is completed:
|
||||
---
|
||||
**Notes:**
|
||||
- If your PR has a long story and started from `develop` branch several days ago, please rebase it to current develop before adding label
|
||||
- if PR can be tested by developer (in case of small changes) and/or developer is sure that the changes made cannot introduce a regression, then PR can be merged without manual testing. Also, currently, PRs are not manually tested if the changes relate only the design (creation of components, etc.) and do not affect the functionality (see `skip-manual-qa` label)
|
||||
- if PR can be tested by developer (in case of small changes) and/or developer is sure that the changes made cannot introduce a regression, then PR can be merged without manual testing. Also, currently, PRs are not manually tested if the changes relate only the design (creation of components, etc.) and do not affect the functionality.
|
||||
---
|
||||
|
||||
#### Why my PR is in `Contributor` column?
|
||||
|
||||
@@ -128,19 +128,3 @@ Status-mobile uses `shadow-cljs` for hot reloading changes and uses its own [rel
|
||||
|
||||
### Solution
|
||||
Open react native's [In-App Developer Menu](https://reactnative.dev/docs/debugging#accessing-the-in-app-developer-menu) and press "Disable Fast Refresh" or "Disable Hot Reloading"
|
||||
|
||||
# App crashing after running `make run-ios`
|
||||
|
||||
### Cause
|
||||
It's possible that installing XCode from a `.xip` file might cause XCode to act funny
|
||||
Since it's not installed from the App Store, Or you might be missing a Rosetta installation.
|
||||
|
||||
[Reference/Similar issue](https://github.com/expo/expo-cli/issues/3197)
|
||||
|
||||
You might see something like this after running `make run-ios`:
|
||||
```
|
||||
Underlying error (domain=FBSOpenApplicationServiceErrorDomain, code=1):
|
||||
```
|
||||
### Solution
|
||||
Run `softwareupdate --install-rosetta --agree-to-license`
|
||||
to accept XCode's license and install Rosetta.
|
||||
|
||||
+2
-2
@@ -164,7 +164,7 @@ def build_ios_e2e
|
||||
# 3. directory where to up StatusIm.app
|
||||
derived_data_path: 'status-ios',
|
||||
output_name: 'StatusIm.app',
|
||||
buildlog_path: 'logs',
|
||||
buildlog_path: 'ios/logs',
|
||||
# -------------------------------------
|
||||
# Normal stuff
|
||||
scheme: 'StatusIm',
|
||||
@@ -231,7 +231,7 @@ platform :ios do
|
||||
clean: true,
|
||||
export_method: 'app-store',
|
||||
output_directory: 'status-ios',
|
||||
buildlog_path: 'logs',
|
||||
buildlog_path: 'ios/logs',
|
||||
include_symbols: false,
|
||||
export_options: {
|
||||
"combileBitcode": true,
|
||||
|
||||
+10
-22
@@ -1,28 +1,13 @@
|
||||
def node_require(script)
|
||||
# Resolve script with node to allow for hoisting
|
||||
require Pod::Executable.execute_command('node', ['-p',
|
||||
"require.resolve(
|
||||
'#{script}',
|
||||
{paths: [process.argv[1]]},
|
||||
)", __dir__]).strip
|
||||
end
|
||||
|
||||
node_require('react-native/scripts/react_native_pods.rb')
|
||||
node_require('react-native-permissions/scripts/setup.rb')
|
||||
# Resolve react_native_pods.rb with node to allow for hoisting
|
||||
require Pod::Executable.execute_command('node', ['-p',
|
||||
'require.resolve(
|
||||
"react-native/scripts/react_native_pods.rb",
|
||||
{paths: [process.argv[1]]},
|
||||
)', __dir__]).strip
|
||||
|
||||
platform :ios, min_ios_version_supported
|
||||
prepare_react_native_project!
|
||||
|
||||
setup_permissions([
|
||||
'Camera',
|
||||
'FaceID',
|
||||
'MediaLibrary',
|
||||
'Microphone',
|
||||
'Notifications',
|
||||
'PhotoLibrary',
|
||||
'PhotoLibraryAddOnly',
|
||||
])
|
||||
|
||||
linkage = ENV['USE_FRAMEWORKS']
|
||||
if linkage != nil
|
||||
Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
|
||||
@@ -48,7 +33,7 @@ abstract_target 'Status' do
|
||||
use_react_native!(
|
||||
:path => config[:reactNativePath],
|
||||
:fabric_enabled => flags[:fabric_enabled],
|
||||
:hermes_enabled => true,
|
||||
:hermes_enabled => false,
|
||||
# An absolute path to your application root.
|
||||
:app_path => "#{Pod::Config.instance.installation_root}/.."
|
||||
)
|
||||
@@ -58,6 +43,9 @@ abstract_target 'Status' do
|
||||
|
||||
pod 'SSZipArchive', '2.4.3'
|
||||
|
||||
permissions_path = '../node_modules/react-native-permissions/ios'
|
||||
pod 'Permission-Microphone', :path => "#{permissions_path}/Microphone/Permission-Microphone.podspec"
|
||||
pod 'Permission-Camera', :path => "#{permissions_path}/Camera/Permission-Camera.podspec"
|
||||
pod "react-native-status-keycard", path: "../node_modules/react-native-status-keycard"
|
||||
pod "react-native-status", path: "../modules/react-native-status"
|
||||
pod "Keycard", git: "https://github.com/status-im/Keycard.swift.git"
|
||||
|
||||
+93
-139
@@ -14,15 +14,11 @@ PODS:
|
||||
- ReactCommon/turbomodule/core (= 0.73.5)
|
||||
- fmt (6.2.1)
|
||||
- glog (0.3.5)
|
||||
- hermes-engine (0.73.5):
|
||||
- hermes-engine/Pre-built (= 0.73.5)
|
||||
- hermes-engine/Pre-built (0.73.5)
|
||||
- HMSegmentedControl (1.5.6)
|
||||
- Keycard (3.0.6):
|
||||
- CryptoSwift
|
||||
- secp256k1
|
||||
- SSZipArchive
|
||||
- libevent (2.1.12)
|
||||
- libwebp (1.2.4):
|
||||
- libwebp/demux (= 1.2.4)
|
||||
- libwebp/mux (= 1.2.4)
|
||||
@@ -32,6 +28,10 @@ PODS:
|
||||
- libwebp/mux (1.2.4):
|
||||
- libwebp/demux
|
||||
- libwebp/webp (1.2.4)
|
||||
- Permission-Camera (3.8.0):
|
||||
- RNPermissions
|
||||
- Permission-Microphone (3.8.0):
|
||||
- RNPermissions
|
||||
- RCT-Folly (2022.05.16.00):
|
||||
- boost
|
||||
- DoubleConversion
|
||||
@@ -48,12 +48,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- RCT-Folly/Futures (2022.05.16.00):
|
||||
- boost
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- libevent
|
||||
- RCTRequired (0.73.5)
|
||||
- RCTTypeSafety (0.73.5):
|
||||
- FBLazyVector (= 0.73.5)
|
||||
@@ -77,11 +71,11 @@ PODS:
|
||||
- DoubleConversion
|
||||
- FBReactNativeSpec
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
- React-Core
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-NativeModulesApple
|
||||
@@ -90,11 +84,10 @@ PODS:
|
||||
- ReactCommon/turbomodule/core
|
||||
- React-Core (0.73.5):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-Core/Default (= 0.73.5)
|
||||
- React-cxxreact
|
||||
- React-hermes
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-perflogger
|
||||
@@ -104,11 +97,10 @@ PODS:
|
||||
- Yoga
|
||||
- React-Core/CoreModulesHeaders (0.73.5):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact
|
||||
- React-hermes
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-perflogger
|
||||
@@ -118,10 +110,9 @@ PODS:
|
||||
- Yoga
|
||||
- React-Core/Default (0.73.5):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-cxxreact
|
||||
- React-hermes
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-perflogger
|
||||
@@ -131,12 +122,11 @@ PODS:
|
||||
- Yoga
|
||||
- React-Core/DevSupport (0.73.5):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-Core/Default (= 0.73.5)
|
||||
- React-Core/RCTWebSocket (= 0.73.5)
|
||||
- React-cxxreact
|
||||
- React-hermes
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-jsinspector (= 0.73.5)
|
||||
@@ -147,11 +137,10 @@ PODS:
|
||||
- Yoga
|
||||
- React-Core/RCTActionSheetHeaders (0.73.5):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact
|
||||
- React-hermes
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-perflogger
|
||||
@@ -161,11 +150,10 @@ PODS:
|
||||
- Yoga
|
||||
- React-Core/RCTAnimationHeaders (0.73.5):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact
|
||||
- React-hermes
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-perflogger
|
||||
@@ -175,11 +163,10 @@ PODS:
|
||||
- Yoga
|
||||
- React-Core/RCTBlobHeaders (0.73.5):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact
|
||||
- React-hermes
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-perflogger
|
||||
@@ -189,11 +176,10 @@ PODS:
|
||||
- Yoga
|
||||
- React-Core/RCTImageHeaders (0.73.5):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact
|
||||
- React-hermes
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-perflogger
|
||||
@@ -203,11 +189,10 @@ PODS:
|
||||
- Yoga
|
||||
- React-Core/RCTLinkingHeaders (0.73.5):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact
|
||||
- React-hermes
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-perflogger
|
||||
@@ -217,11 +202,10 @@ PODS:
|
||||
- Yoga
|
||||
- React-Core/RCTNetworkHeaders (0.73.5):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact
|
||||
- React-hermes
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-perflogger
|
||||
@@ -231,11 +215,10 @@ PODS:
|
||||
- Yoga
|
||||
- React-Core/RCTSettingsHeaders (0.73.5):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact
|
||||
- React-hermes
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-perflogger
|
||||
@@ -245,11 +228,10 @@ PODS:
|
||||
- Yoga
|
||||
- React-Core/RCTTextHeaders (0.73.5):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact
|
||||
- React-hermes
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-perflogger
|
||||
@@ -259,11 +241,10 @@ PODS:
|
||||
- Yoga
|
||||
- React-Core/RCTVibrationHeaders (0.73.5):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact
|
||||
- React-hermes
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-perflogger
|
||||
@@ -273,11 +254,10 @@ PODS:
|
||||
- Yoga
|
||||
- React-Core/RCTWebSocket (0.73.5):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-Core/Default (= 0.73.5)
|
||||
- React-cxxreact
|
||||
- React-hermes
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-perflogger
|
||||
@@ -301,7 +281,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-callinvoker (= 0.73.5)
|
||||
- React-debug (= 0.73.5)
|
||||
@@ -315,7 +294,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -337,6 +315,7 @@ PODS:
|
||||
- React-Fabric/textlayoutmanager (= 0.73.5)
|
||||
- React-Fabric/uimanager (= 0.73.5)
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -348,7 +327,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -356,6 +334,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -367,7 +346,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -375,6 +353,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -386,7 +365,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -394,6 +372,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -405,7 +384,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -413,6 +391,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -424,7 +403,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -443,6 +421,7 @@ PODS:
|
||||
- React-Fabric/components/unimplementedview (= 0.73.5)
|
||||
- React-Fabric/components/view (= 0.73.5)
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -454,7 +433,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -462,6 +440,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -473,7 +452,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -481,6 +459,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -492,7 +471,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -500,6 +478,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -511,7 +490,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -519,6 +497,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -530,7 +509,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -538,6 +516,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -549,7 +528,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -557,6 +535,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -568,7 +547,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -576,6 +554,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -587,7 +566,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -595,6 +573,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -606,7 +585,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -614,6 +592,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -625,7 +604,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -633,6 +611,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -644,7 +623,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -652,6 +630,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -664,7 +643,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -672,6 +650,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -683,7 +662,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -691,6 +669,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -702,7 +681,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -710,6 +688,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -721,7 +700,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -729,6 +707,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -740,7 +719,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -748,6 +726,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -759,7 +738,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -767,6 +745,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -778,7 +757,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -786,6 +764,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -797,7 +776,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -806,6 +784,7 @@ PODS:
|
||||
- React-debug
|
||||
- React-Fabric/uimanager
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -817,7 +796,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired
|
||||
- RCTTypeSafety
|
||||
@@ -825,6 +803,7 @@ PODS:
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-graphics
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor
|
||||
- React-logger
|
||||
@@ -836,13 +815,13 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- RCTRequired (= 0.73.5)
|
||||
- RCTTypeSafety (= 0.73.5)
|
||||
- React-Fabric
|
||||
- React-graphics
|
||||
- React-ImageManager
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-jsiexecutor (= 0.73.5)
|
||||
- React-logger
|
||||
@@ -855,18 +834,6 @@ PODS:
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- React-Core/Default (= 0.73.5)
|
||||
- React-utils
|
||||
- React-hermes (0.73.5):
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- RCT-Folly/Futures (= 2022.05.16.00)
|
||||
- React-cxxreact (= 0.73.5)
|
||||
- React-jsi
|
||||
- React-jsiexecutor (= 0.73.5)
|
||||
- React-jsinspector (= 0.73.5)
|
||||
- React-perflogger (= 0.73.5)
|
||||
- React-ImageManager (0.73.5):
|
||||
- glog
|
||||
- RCT-Folly/Fabric
|
||||
@@ -876,6 +843,11 @@ PODS:
|
||||
- React-graphics
|
||||
- React-rendererdebug
|
||||
- React-utils
|
||||
- React-jsc (0.73.5):
|
||||
- React-jsc/Fabric (= 0.73.5)
|
||||
- React-jsi (= 0.73.5)
|
||||
- React-jsc/Fabric (0.73.5):
|
||||
- React-jsi (= 0.73.5)
|
||||
- React-jserrorhandler (0.73.5):
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- React-debug
|
||||
@@ -886,13 +858,11 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-jsiexecutor (0.73.5):
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-cxxreact (= 0.73.5)
|
||||
- React-jsi (= 0.73.5)
|
||||
@@ -909,30 +879,22 @@ PODS:
|
||||
- React-Core
|
||||
- react-native-blob-util (0.13.18):
|
||||
- React-Core
|
||||
- react-native-blur (4.4.0):
|
||||
- glog
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- react-native-blur (4.3.3):
|
||||
- React-Core
|
||||
- react-native-cameraroll (7.5.2):
|
||||
- glog
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-Core
|
||||
- react-native-compat (2.12.2):
|
||||
- glog
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- react-native-cameraroll (5.10.0):
|
||||
- React-Core
|
||||
- react-native-config (1.5.0):
|
||||
- react-native-config/App (= 1.5.0)
|
||||
- react-native-config/App (1.5.0):
|
||||
- React-Core
|
||||
- react-native-get-random-values (1.11.0):
|
||||
- React-Core
|
||||
- react-native-hole-view (3.0.0-alpha4):
|
||||
- React-Core
|
||||
- react-native-image-resizer (1.2.3):
|
||||
- React
|
||||
- react-native-lottie-splash-screen (1.1.2):
|
||||
- React
|
||||
- react-native-mail (6.1.1):
|
||||
- React-Core
|
||||
- react-native-netinfo (4.7.0):
|
||||
- React
|
||||
- react-native-orientation-locker (1.5.0):
|
||||
@@ -953,10 +915,10 @@ PODS:
|
||||
- React-nativeconfig (0.73.5)
|
||||
- React-NativeModulesApple (0.73.5):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- React-callinvoker
|
||||
- React-Core
|
||||
- React-cxxreact
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-runtimeexecutor
|
||||
- ReactCommon/turbomodule/bridging
|
||||
@@ -978,7 +940,7 @@ PODS:
|
||||
- RCTTypeSafety
|
||||
- React-Core
|
||||
- React-CoreModules
|
||||
- React-hermes
|
||||
- React-jsc
|
||||
- React-nativeconfig
|
||||
- React-NativeModulesApple
|
||||
- React-RCTFabric
|
||||
@@ -987,7 +949,6 @@ PODS:
|
||||
- React-runtimescheduler
|
||||
- ReactCommon
|
||||
- React-RCTBlob (0.73.5):
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-Codegen
|
||||
- React-Core/RCTBlobHeaders
|
||||
@@ -998,7 +959,6 @@ PODS:
|
||||
- ReactCommon
|
||||
- React-RCTFabric (0.73.5):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly/Fabric (= 2022.05.16.00)
|
||||
- React-Core
|
||||
- React-debug
|
||||
@@ -1006,6 +966,7 @@ PODS:
|
||||
- React-FabricImage
|
||||
- React-graphics
|
||||
- React-ImageManager
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-nativeconfig
|
||||
- React-RCTImage
|
||||
@@ -1066,11 +1027,11 @@ PODS:
|
||||
- React-jsi (= 0.73.5)
|
||||
- React-runtimescheduler (0.73.5):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-callinvoker
|
||||
- React-cxxreact
|
||||
- React-debug
|
||||
- React-jsc
|
||||
- React-jsi
|
||||
- React-rendererdebug
|
||||
- React-runtimeexecutor
|
||||
@@ -1086,7 +1047,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-callinvoker (= 0.73.5)
|
||||
- React-cxxreact (= 0.73.5)
|
||||
@@ -1099,7 +1059,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-callinvoker (= 0.73.5)
|
||||
- React-cxxreact (= 0.73.5)
|
||||
@@ -1110,7 +1069,6 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2022.05.16.00)
|
||||
- React-callinvoker (= 0.73.5)
|
||||
- React-cxxreact (= 0.73.5)
|
||||
@@ -1163,7 +1121,7 @@ PODS:
|
||||
- TOCropViewController
|
||||
- RNKeychain (8.1.2):
|
||||
- React-Core
|
||||
- RNPermissions (4.1.5):
|
||||
- RNPermissions (3.8.0):
|
||||
- React-Core
|
||||
- RNReanimated (3.6.1):
|
||||
- glog
|
||||
@@ -1195,9 +1153,9 @@ DEPENDENCIES:
|
||||
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
|
||||
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
|
||||
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
|
||||
- hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
|
||||
- Keycard (from `https://github.com/status-im/Keycard.swift.git`)
|
||||
- libevent (~> 2.1.12)
|
||||
- Permission-Camera (from `../node_modules/react-native-permissions/ios/Camera/Permission-Camera.podspec`)
|
||||
- Permission-Microphone (from `../node_modules/react-native-permissions/ios/Microphone/Permission-Microphone.podspec`)
|
||||
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
|
||||
- RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
|
||||
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
|
||||
@@ -1213,8 +1171,8 @@ DEPENDENCIES:
|
||||
- React-Fabric (from `../node_modules/react-native/ReactCommon`)
|
||||
- React-FabricImage (from `../node_modules/react-native/ReactCommon`)
|
||||
- React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`)
|
||||
- React-hermes (from `../node_modules/react-native/ReactCommon/hermes`)
|
||||
- React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`)
|
||||
- React-jsc (from `../node_modules/react-native/ReactCommon/jsc`)
|
||||
- React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`)
|
||||
- React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
|
||||
- React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
|
||||
@@ -1226,12 +1184,11 @@ DEPENDENCIES:
|
||||
- react-native-blob-util (from `../node_modules/react-native-blob-util`)
|
||||
- "react-native-blur (from `../node_modules/@react-native-community/blur`)"
|
||||
- "react-native-cameraroll (from `../node_modules/@react-native-camera-roll/camera-roll`)"
|
||||
- "react-native-compat (from `../node_modules/@walletconnect/react-native-compat`)"
|
||||
- react-native-config (from `../node_modules/react-native-config`)
|
||||
- react-native-get-random-values (from `../node_modules/react-native-get-random-values`)
|
||||
- react-native-hole-view (from `../node_modules/react-native-hole-view`)
|
||||
- react-native-image-resizer (from `../node_modules/react-native-image-resizer`)
|
||||
- react-native-lottie-splash-screen (from `../node_modules/react-native-lottie-splash-screen`)
|
||||
- react-native-mail (from `../node_modules/react-native-mail`)
|
||||
- "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)"
|
||||
- react-native-orientation-locker (from `../node_modules/react-native-orientation-locker`)
|
||||
- react-native-shake (from `../node_modules/react-native-shake`)
|
||||
@@ -1286,7 +1243,6 @@ SPEC REPOS:
|
||||
- CryptoSwift
|
||||
- fmt
|
||||
- HMSegmentedControl
|
||||
- libevent
|
||||
- libwebp
|
||||
- SDWebImage
|
||||
- SDWebImageWebPCoder
|
||||
@@ -1307,11 +1263,12 @@ EXTERNAL SOURCES:
|
||||
:path: "../node_modules/react-native/React/FBReactNativeSpec"
|
||||
glog:
|
||||
:podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
|
||||
hermes-engine:
|
||||
:podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec"
|
||||
:tag: hermes-2024-02-20-RNv0.73.5-18f99ace4213052c5e7cdbcd39ee9766cd5df7e4
|
||||
Keycard:
|
||||
:git: https://github.com/status-im/Keycard.swift.git
|
||||
Permission-Camera:
|
||||
:path: "../node_modules/react-native-permissions/ios/Camera/Permission-Camera.podspec"
|
||||
Permission-Microphone:
|
||||
:path: "../node_modules/react-native-permissions/ios/Microphone/Permission-Microphone.podspec"
|
||||
RCT-Folly:
|
||||
:podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
|
||||
RCTRequired:
|
||||
@@ -1338,10 +1295,10 @@ EXTERNAL SOURCES:
|
||||
:path: "../node_modules/react-native/ReactCommon"
|
||||
React-graphics:
|
||||
:path: "../node_modules/react-native/ReactCommon/react/renderer/graphics"
|
||||
React-hermes:
|
||||
:path: "../node_modules/react-native/ReactCommon/hermes"
|
||||
React-ImageManager:
|
||||
:path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios"
|
||||
React-jsc:
|
||||
:path: "../node_modules/react-native/ReactCommon/jsc"
|
||||
React-jserrorhandler:
|
||||
:path: "../node_modules/react-native/ReactCommon/jserrorhandler"
|
||||
React-jsi:
|
||||
@@ -1364,18 +1321,16 @@ EXTERNAL SOURCES:
|
||||
:path: "../node_modules/@react-native-community/blur"
|
||||
react-native-cameraroll:
|
||||
:path: "../node_modules/@react-native-camera-roll/camera-roll"
|
||||
react-native-compat:
|
||||
:path: "../node_modules/@walletconnect/react-native-compat"
|
||||
react-native-config:
|
||||
:path: "../node_modules/react-native-config"
|
||||
react-native-get-random-values:
|
||||
:path: "../node_modules/react-native-get-random-values"
|
||||
react-native-hole-view:
|
||||
:path: "../node_modules/react-native-hole-view"
|
||||
react-native-image-resizer:
|
||||
:path: "../node_modules/react-native-image-resizer"
|
||||
react-native-lottie-splash-screen:
|
||||
:path: "../node_modules/react-native-lottie-splash-screen"
|
||||
react-native-mail:
|
||||
:path: "../node_modules/react-native-mail"
|
||||
react-native-netinfo:
|
||||
:path: "../node_modules/@react-native-community/netinfo"
|
||||
react-native-orientation-locker:
|
||||
@@ -1490,43 +1445,42 @@ SPEC CHECKSUMS:
|
||||
FBReactNativeSpec: 146c741a3f40361f6bc13a4ba284678cbedb5881
|
||||
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
|
||||
glog: 530710e7949eb12c82670bd09e946becf50a3c2a
|
||||
hermes-engine: 1d1835b2cc54c381909d94d1b3c8e0a2f1a94a0e
|
||||
HMSegmentedControl: 34c1f54d822d8308e7b24f5d901ec674dfa31352
|
||||
Keycard: ac6df4d91525c3c82635ac24d4ddd9a80aca5fc8
|
||||
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
|
||||
libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef
|
||||
Permission-Camera: e6d142d7d8b714afe0a83e5e6ae17eb949f1e3e9
|
||||
Permission-Microphone: 644b1de8bcc2afcaf934e09a22bee507a95796a7
|
||||
RCT-Folly: 7169b2b1c44399c76a47b5deaaba715eeeb476c0
|
||||
RCTRequired: 2544c0f1081a5fa12e108bb8cb40e5f4581ccd87
|
||||
RCTTypeSafety: 50efabe2b115c11ed03fbf3fd79e2f163ddb5d7c
|
||||
React: 84221d5e0ce297bc57c4b6af539a62d812d89f10
|
||||
React-callinvoker: 5d17577ecc7f784535ebedf3aad4bcbf8f4b5117
|
||||
React-Codegen: 857e7984fc277aadde2a7a427288b6918ece7b2b
|
||||
React-Core: 8e782e7e24c7843871a0d9c3c8d7c5b3ebb73832
|
||||
React-Codegen: 86ddd366e10277244cb665e680c9631c459876d1
|
||||
React-Core: 89feaf0468bcfdfc09aace4a3dda48ffc20628f4
|
||||
React-CoreModules: 7875ee247e3e6e0e683b52cd1cdda1b71618bd55
|
||||
React-cxxreact: 788cd771c6e94d44f8d472fdfae89b67226067ea
|
||||
React-cxxreact: 0f83bc025517476a7e009afd240e62b7cb99f110
|
||||
React-debug: 55c7f2b8463bfe85567c9f4ede904085601130c9
|
||||
React-Fabric: 8cb43853496bb8032420edf62e7281c53109e682
|
||||
React-FabricImage: fbdc0ef7ed58a87c77600017c19a751932de3e47
|
||||
React-Fabric: ca74011a194b1783dc3270a504c240835d3cb983
|
||||
React-FabricImage: 384372a69647c6e30ce64b56ebe33cc30341dfce
|
||||
React-graphics: dc8307b615f14e13f1081ac23ea66697808bcd29
|
||||
React-hermes: d9acaa4ebf2118d9bd8a541af8c620c467b356b6
|
||||
React-ImageManager: 2a97ddc9b1f459121697d629cfbe69712997d76f
|
||||
React-jsc: 899086c7f0ab7b6ab85873d55882c2aea8473cbf
|
||||
React-jserrorhandler: b97b16674258ccaeff5a70047a097a140e76d12d
|
||||
React-jsi: 1d59d0a148c76641ac577729e0268bafa494152c
|
||||
React-jsiexecutor: 262b66928ad948491d03fd328bb5b822cce94647
|
||||
React-jsi: 60bc1fdca5f69162ab9d0c4623ea77538308a4c3
|
||||
React-jsiexecutor: 5ae96903178c1fdb9f18b0367b3bb73e8f6641e1
|
||||
React-jsinspector: 32db5e364bcae8fca8cdf8891830636275add0c5
|
||||
React-logger: 0331362115f0f5b392bd7ed14636d1a3ea612479
|
||||
React-Mapbuffer: 7c35cd53a22d0be04d3f26f7881c7fb7dd230216
|
||||
react-native-background-timer: 1f7d560647b40e6a60b01c452ba29c54bf581fc4
|
||||
react-native-biometrics: 352e5a794bfffc46a0c86725ea7dc62deb085bdc
|
||||
react-native-blob-util: 600972b1782380a5a7d5db61a3817ea32349dae9
|
||||
react-native-blur: 799045500f56146afc46245148080e7b7623cb75
|
||||
react-native-cameraroll: af8eec1e585d053ff485d98ec837f9a8a11b5745
|
||||
react-native-compat: 84e00e8dcff9251278c0d48f2bce81f4502e3925
|
||||
react-native-blur: c6d0a1dc2b4b519f7afe3b14d8151998632b6d18
|
||||
react-native-cameraroll: 4701ae7c3dbcd3f5e9e150ca17f250a276154b35
|
||||
react-native-config: 5330c8258265c1e5fdb8c009d2cabd6badd96727
|
||||
react-native-get-random-values: 21325b2244dfa6b58878f51f9aa42821e7ba3d06
|
||||
react-native-hole-view: 6935448993bac79f2b5a4ad7e9741094cf810679
|
||||
react-native-image-resizer: 2f1577efa3bc762597681f530c8e8d05ce0ceeb3
|
||||
react-native-lottie-splash-screen: 4e1b1fd9d6633f9cd2106d6877eb5ba0147f3e2b
|
||||
react-native-mail: 8fdcd3aef007c33a6877a18eb4cf7447a1d4ce4a
|
||||
react-native-netinfo: ddaca8bbb9e6e914b1a23787ccb879bc642931c9
|
||||
react-native-orientation-locker: 851f6510d8046ea2f14aa169b1e01fcd309a94ba
|
||||
react-native-shake: de052eaa3eadc4a326b8ddd7ac80c06e8d84528c
|
||||
@@ -1536,13 +1490,13 @@ SPEC CHECKSUMS:
|
||||
react-native-transparent-video: e484ad11ace8e5f62516e2c5e15efd3cb4df24b0
|
||||
react-native-webview: 88293a0f23eca8465c0433c023ec632930e644d0
|
||||
React-nativeconfig: 1166714a4f7ea57a0df5c2cb44fbc70f98d580f9
|
||||
React-NativeModulesApple: 726664e9829eb5eed8170241000e46ead269a05f
|
||||
React-NativeModulesApple: 461b7a216dffdcfcae46afeba2e0859a78eef71e
|
||||
React-perflogger: 0dd9f1725d55f8264b81efadd373fe1d9cca7dc2
|
||||
React-RCTActionSheet: 05656d2102b0d0a2676d58bad4d80106af5367b2
|
||||
React-RCTAnimation: 6c66beae98730fb7615df28caf651e295f2401e5
|
||||
React-RCTAppDelegate: 891b80c596fffcb3f90431739495d606a9a0d610
|
||||
React-RCTBlob: 8ecee445ec5fa9ed8a8621a136183c1045165100
|
||||
React-RCTFabric: f291e06bc63fef26cdd105537bae5c6a8d3bdca8
|
||||
React-RCTAppDelegate: 0a5359f86586fc8fa2604dd86fab5899dbea57a9
|
||||
React-RCTBlob: b377b7580098c6332d14cb09985dcff3eea29c26
|
||||
React-RCTFabric: b45c27ec85755dbc95e8a7abccb9142a375ee22d
|
||||
React-RCTImage: 585b16465146cb839da02f3179ce7cb19d332642
|
||||
React-RCTLinking: 09ba11f7df62946e7ddca1b51aa3bf47b230e008
|
||||
React-RCTNetwork: e070f8d2fca60f1e9571936ce54d165e77129e76
|
||||
@@ -1552,9 +1506,9 @@ SPEC CHECKSUMS:
|
||||
React-rendererdebug: ee05480666415f7a76e6cf0a7a50363423f44809
|
||||
React-rncore: 010565651e9cf2e4fac9517a348446789dd55e01
|
||||
React-runtimeexecutor: 56f562a608056fb0c1711d900a992e26f375d817
|
||||
React-runtimescheduler: 814b644a5f456c7df1fba7bcd9914707152527c6
|
||||
React-runtimescheduler: 7b558337d22a47a270b5c99d8016b5ab743b3035
|
||||
React-utils: 987a4526a2fc0acdfaf87888adfe0bf9d0452066
|
||||
ReactCommon: 2947b0bffd82ea0e58ca7928881152d4c6dae9af
|
||||
ReactCommon: dcc87812d79ce368cc41b7cf49fb624cf3c22b6b
|
||||
ReactNativeAudioToolkit: de9610f323e855ac6574be8c99621f3d57c5df06
|
||||
ReactNativeCameraKit: d95d3e19c514526a234d9f93c6db7e7f10eef9ea
|
||||
ReactNativeNavigation: 46305e1026fa4cdcf0cfb3822932fc58d090668d
|
||||
@@ -1567,7 +1521,7 @@ SPEC CHECKSUMS:
|
||||
RNGestureHandler: 15c6ef51acba34c49ff03003806cf5dd6098f383
|
||||
RNImageCropPicker: 486e2f7e2b0461ce24321f751410dce1b3b49e6d
|
||||
RNKeychain: a65256b6ca6ba6976132cc4124b238a5b13b3d9c
|
||||
RNPermissions: 08e619529cced22695f4b6d0efcc0a233e278903
|
||||
RNPermissions: 215c54462104b3925b412b0fb3c9c497b21c358b
|
||||
RNReanimated: dee37576492f1a375017515f5c77e66e5eec696b
|
||||
RNShare: 859ff710211285676b0bcedd156c12437ea1d564
|
||||
RNStaticSafeAreaInsets: 055ddbf5e476321720457cdaeec0ff2ba40ec1b8
|
||||
@@ -1580,6 +1534,6 @@ SPEC CHECKSUMS:
|
||||
TOCropViewController: edfd4f25713d56905ad1e0b9f5be3fbe0f59c863
|
||||
Yoga: a716eea57d0d3430219c0a5a233e1e93ee931eb7
|
||||
|
||||
PODFILE CHECKSUM: 5dd4a5279260d370bcdf016158c825ceb404ee06
|
||||
PODFILE CHECKSUM: c9c6dfac28e31314e1a2ee2dc47364ad151f13f2
|
||||
|
||||
COCOAPODS: 1.13.0
|
||||
|
||||
@@ -8,11 +8,10 @@
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
00E356F31AD99517003FC87E /* StatusImTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* StatusImTests.m */; };
|
||||
0BF51D8C7FBD6A668E6E1FC0 /* libPods-Status-StatusIm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 45C29909A975E0654116557F /* libPods-Status-StatusIm.a */; };
|
||||
131972279C6DBF736235F9F9 /* libPods-Status-StatusIm-StatusImTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D9DF8AC0F6547107DE1A25D /* libPods-Status-StatusIm-StatusImTests.a */; };
|
||||
13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; };
|
||||
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
||||
25DC9C9DC25846BD8D084888 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 8B9A886A2CB448B1ABA0EB62 /* libc++.tbd */; };
|
||||
2B6F8F28B81E862D44C8723D /* libPods-Status-StatusImPR.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 87038678EE47E8EF6E93EB54 /* libPods-Status-StatusImPR.a */; };
|
||||
3870E1E692E24133A80B07DE /* Inter-SemiBold.otf in Resources */ = {isa = PBXBuildFile; fileRef = 693A62DB37BC4CD5A30E5C96 /* Inter-SemiBold.otf */; };
|
||||
393D26E3080B443A998F4A2F /* Inter-Italic.otf in Resources */ = {isa = PBXBuildFile; fileRef = B07176ACDAA1422E8F0A3D6B /* Inter-Italic.otf */; };
|
||||
3A2626CF245C3F2200D5F94B /* Dummy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A2626CE245C3F2200D5F94B /* Dummy.swift */; };
|
||||
@@ -37,6 +36,7 @@
|
||||
3AAD2AD324A3A60E0075D594 /* Inter-SemiBold.otf in Resources */ = {isa = PBXBuildFile; fileRef = 693A62DB37BC4CD5A30E5C96 /* Inter-SemiBold.otf */; };
|
||||
3AAD2AD424A3A60E0075D594 /* Inter-SemiBoldItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = A4F2BBE8D4DD4140A6CCAC39 /* Inter-SemiBoldItalic.otf */; };
|
||||
3ABC7AF8245FF85900612C45 /* InterStatus-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = 9C76AF5A418D4D65A4CAD1D9 /* InterStatus-Regular.otf */; };
|
||||
42AC64E4D3CA4E676400C598 /* libPods-Status-StatusIm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D2D9E4943562065BF98E304 /* libPods-Status-StatusIm.a */; };
|
||||
57C854A7993C47A3B1AECD32 /* Inter-MediumItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = C6B1215047604CD59A4C74D6 /* Inter-MediumItalic.otf */; };
|
||||
65F6941925780A4F00A45E76 /* Bridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65F6941825780A4F00A45E76 /* Bridge.swift */; };
|
||||
65F6941A25780A4F00A45E76 /* Bridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65F6941825780A4F00A45E76 /* Bridge.swift */; };
|
||||
@@ -46,6 +46,7 @@
|
||||
715D8133290BE850006F5C88 /* UbuntuMono-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 715D8131290BE850006F5C88 /* UbuntuMono-Regular.ttf */; };
|
||||
74B758FC20D7C00B003343C3 /* launch-image-universal.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 74B758FB20D7C00B003343C3 /* launch-image-universal.storyboard */; };
|
||||
8391E8E0E93C41A98AAA6631 /* Inter-SemiBoldItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = A4F2BBE8D4DD4140A6CCAC39 /* Inter-SemiBoldItalic.otf */; };
|
||||
8CF1CA9463A4048F97BABB82 /* libPods-Status-StatusIm-StatusImTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 466C47BA171B53CAE0AD6A19 /* libPods-Status-StatusIm-StatusImTests.a */; };
|
||||
B24FC7FD1DE7195700D694FF /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B24FC7FC1DE7195700D694FF /* Social.framework */; };
|
||||
B24FC7FF1DE7195F00D694FF /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B24FC7FE1DE7195F00D694FF /* MessageUI.framework */; };
|
||||
B2F2D1BC1D9D531B00B7B453 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B2F2D1BB1D9D531B00B7B453 /* Images.xcassets */; };
|
||||
@@ -60,7 +61,6 @@
|
||||
D1786306E0184916B11F4C37 /* Inter-Medium.otf in Resources */ = {isa = PBXBuildFile; fileRef = B2A38FC3D3954DE7B2B171F8 /* Inter-Medium.otf */; };
|
||||
D84616FB563A48EBB1678699 /* Inter-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = CD4A2C27D6D5473184DC1F7E /* Inter-Bold.otf */; };
|
||||
D99C50E5E18942A39C8DDF61 /* Inter-BoldItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = B321D25F4493470980039457 /* Inter-BoldItalic.otf */; };
|
||||
DE2F1721F9D5702C7CEC5594 /* libPods-Status-StatusImPR.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B17DF204648B8189F8ABD0A7 /* libPods-Status-StatusImPR.a */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
@@ -108,40 +108,40 @@
|
||||
00E356EE1AD99517003FC87E /* StatusImTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StatusImTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
00E356F21AD99517003FC87E /* StatusImTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = StatusImTests.m; sourceTree = "<group>"; };
|
||||
0C331FD392B615DDAD0997F5 /* Pods-Status-StatusImPR.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusImPR.release.xcconfig"; path = "Target Support Files/Pods-Status-StatusImPR/Pods-Status-StatusImPR.release.xcconfig"; sourceTree = "<group>"; };
|
||||
13B07F961A680F5B00A75B9A /* StatusIm.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StatusIm.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = StatusIm/AppDelegate.h; sourceTree = "<group>"; };
|
||||
13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = StatusIm/AppDelegate.mm; sourceTree = "<group>"; };
|
||||
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = StatusIm/Info.plist; sourceTree = "<group>"; };
|
||||
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = StatusIm/main.m; sourceTree = "<group>"; };
|
||||
1426DF592BA248FC81D955CB /* Inter-Regular.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-Regular.otf"; path = "../resources/fonts/Inter-Regular.otf"; sourceTree = "<group>"; };
|
||||
1B74FBFCB9B8E34B63250A52 /* Pods-Status-StatusIm-StatusImTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusIm-StatusImTests.release.xcconfig"; path = "Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
232FE8EAB57384181B0DB836 /* Pods-Status-StatusIm.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusIm.release.xcconfig"; path = "Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm.release.xcconfig"; sourceTree = "<group>"; };
|
||||
2D9DF8AC0F6547107DE1A25D /* libPods-Status-StatusIm-StatusImTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Status-StatusIm-StatusImTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
2756A97EBFF084FA94990AA5 /* Pods-Status-StatusIm-StatusImTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusIm-StatusImTests.release.xcconfig"; path = "Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
2D2D9E4943562065BF98E304 /* libPods-Status-StatusIm.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Status-StatusIm.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
3A2626CE245C3F2200D5F94B /* Dummy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Dummy.swift; sourceTree = "<group>"; };
|
||||
3A6406FB24A3ADF90046ED37 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
3A8F8EA924A4D31600BF206D /* GameKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameKit.framework; path = System/Library/Frameworks/GameKit.framework; sourceTree = SDKROOT; };
|
||||
3AAD2ADC24A3A60E0075D594 /* Status PR.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Status PR.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
3AB1C3AD245C043900098F67 /* StatusIm-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "StatusIm-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
45C29909A975E0654116557F /* libPods-Status-StatusIm.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Status-StatusIm.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
466C47BA171B53CAE0AD6A19 /* libPods-Status-StatusIm-StatusImTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Status-StatusIm-StatusImTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4C16DE0B1F89508700AA10DB /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
||||
4E586E1B0E544F64AA9F5BD1 /* libz.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
|
||||
5AAC8D9B1AF8BB7C8AB89845 /* Pods-Status-StatusImPR.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusImPR.debug.xcconfig"; path = "Target Support Files/Pods-Status-StatusImPR/Pods-Status-StatusImPR.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
65F693BD2578002500A45E76 /* CoreNFC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreNFC.framework; path = System/Library/Frameworks/CoreNFC.framework; sourceTree = SDKROOT; };
|
||||
65F693BF2578003600A45E76 /* CoreNFC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreNFC.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/System/iOSSupport/System/Library/Frameworks/CoreNFC.framework; sourceTree = DEVELOPER_DIR; };
|
||||
65F6941725780A4E00A45E76 /* StatusImTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "StatusImTests-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
65F6941825780A4F00A45E76 /* Bridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Bridge.swift; sourceTree = "<group>"; };
|
||||
680C14B0F642A5F544C397B7 /* Pods-Status-StatusIm.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusIm.debug.xcconfig"; path = "Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
693A62DB37BC4CD5A30E5C96 /* Inter-SemiBold.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-SemiBold.otf"; path = "../resources/fonts/Inter-SemiBold.otf"; sourceTree = "<group>"; };
|
||||
715D8131290BE850006F5C88 /* UbuntuMono-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "UbuntuMono-Regular.ttf"; path = "../resources/fonts/UbuntuMono-Regular.ttf"; sourceTree = "<group>"; };
|
||||
74B758FB20D7C00B003343C3 /* launch-image-universal.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = "launch-image-universal.storyboard"; sourceTree = "<group>"; };
|
||||
7A393286DD0E844D050D0B89 /* Pods-Status-StatusImPR.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusImPR.release.xcconfig"; path = "Target Support Files/Pods-Status-StatusImPR/Pods-Status-StatusImPR.release.xcconfig"; sourceTree = "<group>"; };
|
||||
7BF7B2DB23EE09E5229629DA /* Pods-Status-StatusImPR.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusImPR.debug.xcconfig"; path = "Target Support Files/Pods-Status-StatusImPR/Pods-Status-StatusImPR.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
7FA4F04CE45319370F87C4FD /* Pods-Status-StatusIm.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusIm.release.xcconfig"; path = "Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm.release.xcconfig"; sourceTree = "<group>"; };
|
||||
87038678EE47E8EF6E93EB54 /* libPods-Status-StatusImPR.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Status-StatusImPR.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
8B9A886A2CB448B1ABA0EB62 /* libc++.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
|
||||
922C4CA61F4D5F8B0033C753 /* StatusIm.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = StatusIm.entitlements; path = StatusIm/StatusIm.entitlements; sourceTree = "<group>"; };
|
||||
9C76AF5A418D4D65A4CAD1D9 /* InterStatus-Regular.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "InterStatus-Regular.otf"; path = "../resources/fonts/InterStatus-Regular.otf"; sourceTree = "<group>"; };
|
||||
9EC0135C1E06FB1900155B5C /* RCTWKWebView.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWKWebView.xcodeproj; path = "../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView.xcodeproj"; sourceTree = "<group>"; };
|
||||
A0B5AD061DF0F6CC98603A99 /* Pods-Status-StatusIm.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusIm.debug.xcconfig"; path = "Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
A4F2BBE8D4DD4140A6CCAC39 /* Inter-SemiBoldItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-SemiBoldItalic.otf"; path = "../resources/fonts/Inter-SemiBoldItalic.otf"; sourceTree = "<group>"; };
|
||||
B07176ACDAA1422E8F0A3D6B /* Inter-Italic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-Italic.otf"; path = "../resources/fonts/Inter-Italic.otf"; sourceTree = "<group>"; };
|
||||
B17DF204648B8189F8ABD0A7 /* libPods-Status-StatusImPR.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Status-StatusImPR.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
B24FC7FC1DE7195700D694FF /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; };
|
||||
B24FC7FE1DE7195F00D694FF /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; };
|
||||
B2A38FC3D3954DE7B2B171F8 /* Inter-Medium.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-Medium.otf"; path = "../resources/fonts/Inter-Medium.otf"; sourceTree = "<group>"; };
|
||||
@@ -153,7 +153,7 @@
|
||||
C6B1215047604CD59A4C74D6 /* Inter-MediumItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-MediumItalic.otf"; path = "../resources/fonts/Inter-MediumItalic.otf"; sourceTree = "<group>"; };
|
||||
CD4A2C27D6D5473184DC1F7E /* Inter-Bold.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-Bold.otf"; path = "../resources/fonts/Inter-Bold.otf"; sourceTree = "<group>"; };
|
||||
CE4E31B21D8695250033ED64 /* Statusgo.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Statusgo.xcframework; path = "../modules/react-native-status/ios/RCTStatus/Statusgo.xcframework"; sourceTree = "<group>"; };
|
||||
D40C4023C7D5B793AEF98426 /* Pods-Status-StatusIm-StatusImTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusIm-StatusImTests.debug.xcconfig"; path = "Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
D42A8AC52E48DA4C89F20C13 /* Pods-Status-StatusIm-StatusImTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Status-StatusIm-StatusImTests.debug.xcconfig"; path = "Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -161,7 +161,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
131972279C6DBF736235F9F9 /* libPods-Status-StatusIm-StatusImTests.a in Frameworks */,
|
||||
8CF1CA9463A4048F97BABB82 /* libPods-Status-StatusIm-StatusImTests.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -174,7 +174,7 @@
|
||||
CE4E31B31D8695250033ED64 /* Statusgo.xcframework in Frameworks */,
|
||||
25DC9C9DC25846BD8D084888 /* libc++.tbd in Frameworks */,
|
||||
BA68A2377A20496EA737000D /* libz.tbd in Frameworks */,
|
||||
0BF51D8C7FBD6A668E6E1FC0 /* libPods-Status-StatusIm.a in Frameworks */,
|
||||
42AC64E4D3CA4E676400C598 /* libPods-Status-StatusIm.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -188,7 +188,7 @@
|
||||
3AAD2AC224A3A60E0075D594 /* Statusgo.xcframework in Frameworks */,
|
||||
3AAD2AC524A3A60E0075D594 /* libc++.tbd in Frameworks */,
|
||||
3AAD2AC624A3A60E0075D594 /* libz.tbd in Frameworks */,
|
||||
DE2F1721F9D5702C7CEC5594 /* libPods-Status-StatusImPR.a in Frameworks */,
|
||||
2B6F8F28B81E862D44C8723D /* libPods-Status-StatusImPR.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -314,9 +314,9 @@
|
||||
CE4E31B21D8695250033ED64 /* Statusgo.xcframework */,
|
||||
8B9A886A2CB448B1ABA0EB62 /* libc++.tbd */,
|
||||
4E586E1B0E544F64AA9F5BD1 /* libz.tbd */,
|
||||
45C29909A975E0654116557F /* libPods-Status-StatusIm.a */,
|
||||
2D9DF8AC0F6547107DE1A25D /* libPods-Status-StatusIm-StatusImTests.a */,
|
||||
B17DF204648B8189F8ABD0A7 /* libPods-Status-StatusImPR.a */,
|
||||
2D2D9E4943562065BF98E304 /* libPods-Status-StatusIm.a */,
|
||||
466C47BA171B53CAE0AD6A19 /* libPods-Status-StatusIm-StatusImTests.a */,
|
||||
87038678EE47E8EF6E93EB54 /* libPods-Status-StatusImPR.a */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
@@ -324,12 +324,12 @@
|
||||
D0D5C8D06825D33BA2D2121E /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A0B5AD061DF0F6CC98603A99 /* Pods-Status-StatusIm.debug.xcconfig */,
|
||||
232FE8EAB57384181B0DB836 /* Pods-Status-StatusIm.release.xcconfig */,
|
||||
D40C4023C7D5B793AEF98426 /* Pods-Status-StatusIm-StatusImTests.debug.xcconfig */,
|
||||
1B74FBFCB9B8E34B63250A52 /* Pods-Status-StatusIm-StatusImTests.release.xcconfig */,
|
||||
7BF7B2DB23EE09E5229629DA /* Pods-Status-StatusImPR.debug.xcconfig */,
|
||||
7A393286DD0E844D050D0B89 /* Pods-Status-StatusImPR.release.xcconfig */,
|
||||
680C14B0F642A5F544C397B7 /* Pods-Status-StatusIm.debug.xcconfig */,
|
||||
7FA4F04CE45319370F87C4FD /* Pods-Status-StatusIm.release.xcconfig */,
|
||||
D42A8AC52E48DA4C89F20C13 /* Pods-Status-StatusIm-StatusImTests.debug.xcconfig */,
|
||||
2756A97EBFF084FA94990AA5 /* Pods-Status-StatusIm-StatusImTests.release.xcconfig */,
|
||||
5AAC8D9B1AF8BB7C8AB89845 /* Pods-Status-StatusImPR.debug.xcconfig */,
|
||||
0C331FD392B615DDAD0997F5 /* Pods-Status-StatusImPR.release.xcconfig */,
|
||||
);
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
@@ -341,12 +341,11 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "StatusImTests" */;
|
||||
buildPhases = (
|
||||
5937040F3338CDF93E777A93 /* [CP] Check Pods Manifest.lock */,
|
||||
99EA576680D5849CA4274106 /* [CP] Check Pods Manifest.lock */,
|
||||
00E356EA1AD99517003FC87E /* Sources */,
|
||||
00E356EB1AD99517003FC87E /* Frameworks */,
|
||||
00E356EC1AD99517003FC87E /* Resources */,
|
||||
7AD665439C08CFEF5EF84F6A /* [CP] Embed Pods Frameworks */,
|
||||
02C1A8CA208E38DA07BAC311 /* [CP] Copy Pods Resources */,
|
||||
835B3E5945D5F723935FD4E1 /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -362,15 +361,14 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "StatusIm" */;
|
||||
buildPhases = (
|
||||
1DFD6BF757E89B72F40FCEE9 /* [CP] Check Pods Manifest.lock */,
|
||||
140572B0EA34D6F884AB6CC4 /* [CP] Check Pods Manifest.lock */,
|
||||
13B07F871A680F5B00A75B9A /* Sources */,
|
||||
13B07F8C1A680F5B00A75B9A /* Frameworks */,
|
||||
13B07F8E1A680F5B00A75B9A /* Resources */,
|
||||
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
|
||||
20B6B6891D92C42700CC5C6A /* Embed Frameworks */,
|
||||
E3914A731DF919ED00EBB515 /* Run Script */,
|
||||
50F2A2E15670F86233743A5C /* [CP] Embed Pods Frameworks */,
|
||||
1B623A051F855FC5B09A0480 /* [CP] Copy Pods Resources */,
|
||||
5BEC29A10D63DFF8AFF5B788 /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -385,15 +383,14 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 3AAD2AD924A3A60E0075D594 /* Build configuration list for PBXNativeTarget "StatusImPR" */;
|
||||
buildPhases = (
|
||||
EB421F3ED78A38D285D771D2 /* [CP] Check Pods Manifest.lock */,
|
||||
78F85303177A5D4820A08DC1 /* [CP] Check Pods Manifest.lock */,
|
||||
3AAD2ABB24A3A60E0075D594 /* Sources */,
|
||||
3AAD2ABF24A3A60E0075D594 /* Frameworks */,
|
||||
3AAD2AC924A3A60E0075D594 /* Resources */,
|
||||
3AAD2AD524A3A60E0075D594 /* Bundle React Native code and images */,
|
||||
3AAD2AD624A3A60E0075D594 /* Embed Frameworks */,
|
||||
3AAD2AD724A3A60E0075D594 /* Run Script */,
|
||||
F4561A2D3C9E6C4B66F4C4F5 /* [CP] Embed Pods Frameworks */,
|
||||
6FA1467F7B916ED92FA688E0 /* [CP] Copy Pods Resources */,
|
||||
776D3E96946780BFE216ACF2 /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -547,55 +544,7 @@
|
||||
shellPath = "/usr/bin/env sh";
|
||||
shellScript = "set -o errexit\nexport NODE_BINARY=\"${NODE_BINARY:-node}\"\nexport NODE_ARGS=\"${NODE_ARGS:- --max-old-space-size=16384 }\"\n\n\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n";
|
||||
};
|
||||
02C1A8CA208E38DA07BAC311 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests-resources.sh",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNPermissions/RNPermissionsPrivacyInfo.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNPermissionsPrivacyInfo.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
1B623A051F855FC5B09A0480 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm-resources.sh",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNPermissions/RNPermissionsPrivacyInfo.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNPermissionsPrivacyInfo.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
1DFD6BF757E89B72F40FCEE9 /* [CP] Check Pods Manifest.lock */ = {
|
||||
140572B0EA34D6F884AB6CC4 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@@ -645,47 +594,29 @@
|
||||
shellPath = "/usr/bin/env sh";
|
||||
shellScript = "\"${PROJECT_DIR}/scripts/set_xcode_version.sh\" > ../logs/set_xcode_version.log 2>&1\n";
|
||||
};
|
||||
50F2A2E15670F86233743A5C /* [CP] Embed Pods Frameworks */ = {
|
||||
5BEC29A10D63DFF8AFF5B788 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm-frameworks.sh",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm-resources.sh",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm-frameworks.sh\"\n";
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm/Pods-Status-StatusIm-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
5937040F3338CDF93E777A93 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-Status-StatusIm-StatusImTests-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
6FA1467F7B916ED92FA688E0 /* [CP] Copy Pods Resources */ = {
|
||||
776D3E96946780BFE216ACF2 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@@ -693,14 +624,12 @@
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusImPR/Pods-Status-StatusImPR-resources.sh",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNPermissions/RNPermissionsPrivacyInfo.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNPermissionsPrivacyInfo.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
@@ -709,39 +638,7 @@
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusImPR/Pods-Status-StatusImPR-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
7AD665439C08CFEF5EF84F6A /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests-frameworks.sh",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
E3914A731DF919ED00EBB515 /* Run Script */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 8;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Run Script";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 1;
|
||||
shellPath = "/usr/bin/env sh";
|
||||
shellScript = "\"${PROJECT_DIR}/scripts/set_xcode_version.sh\" > ../logs/set_xcode_version.log 2>&1\n";
|
||||
};
|
||||
EB421F3ED78A38D285D771D2 /* [CP] Check Pods Manifest.lock */ = {
|
||||
78F85303177A5D4820A08DC1 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@@ -763,24 +660,64 @@
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
F4561A2D3C9E6C4B66F4C4F5 /* [CP] Embed Pods Frameworks */ = {
|
||||
835B3E5945D5F723935FD4E1 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusImPR/Pods-Status-StatusImPR-frameworks.sh",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests-resources.sh",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle",
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusImPR/Pods-Status-StatusImPR-frameworks.sh\"\n";
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Status-StatusIm-StatusImTests/Pods-Status-StatusIm-StatusImTests-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
99EA576680D5849CA4274106 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-Status-StatusIm-StatusImTests-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
E3914A731DF919ED00EBB515 /* Run Script */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 8;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Run Script";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 1;
|
||||
shellPath = "/usr/bin/env sh";
|
||||
shellScript = "\"${PROJECT_DIR}/scripts/set_xcode_version.sh\" > ../logs/set_xcode_version.log 2>&1\n";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
@@ -828,7 +765,7 @@
|
||||
/* Begin XCBuildConfiguration section */
|
||||
00E356F61AD99517003FC87E /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D40C4023C7D5B793AEF98426 /* Pods-Status-StatusIm-StatusImTests.debug.xcconfig */;
|
||||
baseConfigurationReference = D42A8AC52E48DA4C89F20C13 /* Pods-Status-StatusIm-StatusImTests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
BUNDLE_ID_SUFFIX = .debug;
|
||||
@@ -865,7 +802,7 @@
|
||||
};
|
||||
00E356F71AD99517003FC87E /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 1B74FBFCB9B8E34B63250A52 /* Pods-Status-StatusIm-StatusImTests.release.xcconfig */;
|
||||
baseConfigurationReference = 2756A97EBFF084FA94990AA5 /* Pods-Status-StatusIm-StatusImTests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
BUNDLE_ID_SUFFIX = "";
|
||||
@@ -898,7 +835,7 @@
|
||||
};
|
||||
13B07F941A680F5B00A75B9A /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = A0B5AD061DF0F6CC98603A99 /* Pods-Status-StatusIm.debug.xcconfig */;
|
||||
baseConfigurationReference = 680C14B0F642A5F544C397B7 /* Pods-Status-StatusIm.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon$(BUNDLE_ID_SUFFIX)";
|
||||
BUNDLE_ID_SUFFIX = .debug;
|
||||
@@ -980,7 +917,7 @@
|
||||
};
|
||||
13B07F951A680F5B00A75B9A /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 232FE8EAB57384181B0DB836 /* Pods-Status-StatusIm.release.xcconfig */;
|
||||
baseConfigurationReference = 7FA4F04CE45319370F87C4FD /* Pods-Status-StatusIm.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon$(BUNDLE_ID_SUFFIX)";
|
||||
BUNDLE_ID_SUFFIX = "";
|
||||
@@ -1055,7 +992,7 @@
|
||||
};
|
||||
3AAD2ADA24A3A60E0075D594 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 7BF7B2DB23EE09E5229629DA /* Pods-Status-StatusImPR.debug.xcconfig */;
|
||||
baseConfigurationReference = 5AAC8D9B1AF8BB7C8AB89845 /* Pods-Status-StatusImPR.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon$(BUNDLE_ID_SUFFIX)";
|
||||
BUNDLE_ID_SUFFIX = .debug;
|
||||
@@ -1135,7 +1072,7 @@
|
||||
};
|
||||
3AAD2ADB24A3A60E0075D594 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 7A393286DD0E844D050D0B89 /* Pods-Status-StatusImPR.release.xcconfig */;
|
||||
baseConfigurationReference = 0C331FD392B615DDAD0997F5 /* Pods-Status-StatusImPR.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = "AppIconPR$(BUNDLE_ID_SUFFIX)";
|
||||
BUNDLE_ID_SUFFIX = "";
|
||||
@@ -1285,22 +1222,18 @@
|
||||
);
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_CFLAGS = (
|
||||
"$(inherited)",
|
||||
" ",
|
||||
);
|
||||
OTHER_CFLAGS = "$(inherited)";
|
||||
OTHER_CPLUSPLUSFLAGS = (
|
||||
"$(OTHER_CFLAGS)",
|
||||
"-DFOLLY_NO_CONFIG",
|
||||
"-DFOLLY_MOBILE=1",
|
||||
"-DFOLLY_USE_LIBCPP=1",
|
||||
"-DFOLLY_CFG_NO_COROUTINES=1",
|
||||
" ",
|
||||
);
|
||||
OTHER_LDFLAGS = "$(inherited)";
|
||||
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
|
||||
SDKROOT = iphoneos;
|
||||
USE_HERMES = true;
|
||||
USE_HERMES = false;
|
||||
VALID_ARCHS = arm64;
|
||||
"VALID_ARCHS[sdk=iphonesimulator*]" = x86_64;
|
||||
};
|
||||
@@ -1376,22 +1309,18 @@
|
||||
);
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
ONLY_ACTIVE_ARCH = NO;
|
||||
OTHER_CFLAGS = (
|
||||
"$(inherited)",
|
||||
" ",
|
||||
);
|
||||
OTHER_CFLAGS = "$(inherited)";
|
||||
OTHER_CPLUSPLUSFLAGS = (
|
||||
"$(OTHER_CFLAGS)",
|
||||
"-DFOLLY_NO_CONFIG",
|
||||
"-DFOLLY_MOBILE=1",
|
||||
"-DFOLLY_USE_LIBCPP=1",
|
||||
"-DFOLLY_CFG_NO_COROUTINES=1",
|
||||
" ",
|
||||
);
|
||||
OTHER_LDFLAGS = "$(inherited)";
|
||||
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
|
||||
SDKROOT = iphoneos;
|
||||
USE_HERMES = true;
|
||||
USE_HERMES = false;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
VALID_ARCHS = arm64;
|
||||
};
|
||||
|
||||
+2
-2
@@ -47,8 +47,7 @@ class AccountManager(private val reactContext: ReactApplicationContext) : ReactC
|
||||
|
||||
private fun updateConfig(jsonConfigString: String, absRootDirPath: String, keystoreDirPath: String): String {
|
||||
val jsonConfig = JSONObject(jsonConfigString)
|
||||
// when doing local pair syncing, backend will provide default data dir
|
||||
val dataDirPath = jsonConfig.optString("DataDir","")
|
||||
val dataDirPath = jsonConfig.getString("DataDir")
|
||||
val logEnabled = jsonConfig.getBoolean("LogEnabled")
|
||||
val gethLogFile = if (logEnabled) logManager.prepareLogsFile(reactContext) else null
|
||||
val gethLogDirPath = gethLogFile?.parent
|
||||
@@ -141,6 +140,7 @@ class AccountManager(private val reactContext: ReactApplicationContext) : ReactC
|
||||
updatedJsonConfigString
|
||||
} catch (e: JSONException) {
|
||||
Log.e(TAG, "updateConfig failed: ${e.message}")
|
||||
System.exit(1)
|
||||
""
|
||||
}
|
||||
}
|
||||
|
||||
-133
@@ -1,133 +0,0 @@
|
||||
package im.status.ethereum.module
|
||||
|
||||
import com.facebook.react.bridge.ReactApplicationContext
|
||||
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
||||
import com.facebook.react.bridge.ReactMethod
|
||||
import com.facebook.react.bridge.ReadableMap
|
||||
import com.facebook.react.bridge.Callback
|
||||
import android.util.Log
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.content.pm.PackageManager
|
||||
import java.io.File
|
||||
import androidx.core.content.FileProvider
|
||||
import android.text.Html
|
||||
|
||||
class MailManager(private val reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) {
|
||||
|
||||
private val utils = Utils(reactContext)
|
||||
|
||||
override fun getName() = "MailManager"
|
||||
|
||||
@ReactMethod
|
||||
fun mail(options: ReadableMap, callback: Callback) {
|
||||
Log.d(TAG, "attempting to send email")
|
||||
val i = Intent(Intent.ACTION_SEND_MULTIPLE)
|
||||
val selectorIntent = Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:"))
|
||||
i.selector = selectorIntent
|
||||
|
||||
if (options.hasKey("subject") && !options.isNull("subject")) {
|
||||
i.putExtra(Intent.EXTRA_SUBJECT, options.getString("subject"))
|
||||
}
|
||||
|
||||
if (options.hasKey("body") && !options.isNull("body")) {
|
||||
val body = options.getString("body")
|
||||
if (options.hasKey("isHTML") && options.getBoolean("isHTML")) {
|
||||
i.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(body))
|
||||
} else {
|
||||
i.putExtra(Intent.EXTRA_TEXT, body)
|
||||
}
|
||||
}
|
||||
|
||||
if (options.hasKey("recipients") && !options.isNull("recipients")) {
|
||||
val recipients = options.getArray("recipients")
|
||||
i.putExtra(Intent.EXTRA_EMAIL, this.utils.readableArrayToStringArray(recipients!!))
|
||||
}
|
||||
|
||||
if (options.hasKey("ccRecipients") && !options.isNull("ccRecipients")) {
|
||||
val ccRecipients = options.getArray("ccRecipients")
|
||||
i.putExtra(Intent.EXTRA_CC, this.utils.readableArrayToStringArray(ccRecipients!!))
|
||||
}
|
||||
|
||||
if (options.hasKey("bccRecipients") && !options.isNull("bccRecipients")) {
|
||||
val bccRecipients = options.getArray("bccRecipients")
|
||||
i.putExtra(Intent.EXTRA_BCC, this.utils.readableArrayToStringArray(bccRecipients!!))
|
||||
}
|
||||
|
||||
if (options.hasKey("attachments") && !options.isNull("attachments")) {
|
||||
val r = options.getArray("attachments")
|
||||
val length = r?.size() ?: 0
|
||||
|
||||
val provider = reactContext.applicationContext.packageName + ".rnmail.provider"
|
||||
val resolvedIntentActivities = reactContext.packageManager.queryIntentActivities(i,
|
||||
PackageManager.MATCH_DEFAULT_ONLY)
|
||||
|
||||
val uris = ArrayList<Uri>()
|
||||
for (keyIndex in 0 until length) {
|
||||
val clip = r?.getMap(keyIndex)
|
||||
val uri: Uri
|
||||
if (clip?.hasKey("path") == true && !clip.isNull("path")) {
|
||||
val path = clip.getString("path")
|
||||
val file = File(path)
|
||||
uri = FileProvider.getUriForFile(reactContext, provider, file)
|
||||
} else if (clip?.hasKey("uri") == true && !clip.isNull("uri")) {
|
||||
val uriPath = clip.getString("uri")
|
||||
uri = Uri.parse(uriPath)
|
||||
} else {
|
||||
callback.invoke("not_found")
|
||||
return
|
||||
}
|
||||
uris.add(uri)
|
||||
|
||||
for (resolvedIntentInfo in resolvedIntentActivities) {
|
||||
val packageName = resolvedIntentInfo.activityInfo.packageName
|
||||
reactContext.grantUriPermission(packageName, uri,
|
||||
Intent.FLAG_GRANT_WRITE_URI_PERMISSION or Intent.FLAG_GRANT_READ_URI_PERMISSION)
|
||||
}
|
||||
}
|
||||
|
||||
i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
|
||||
i.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris)
|
||||
}
|
||||
|
||||
val manager = reactContext.packageManager
|
||||
val list = manager.queryIntentActivities(i, 0)
|
||||
|
||||
if (list == null || list.isEmpty()) {
|
||||
Log.d(TAG, "not_available")
|
||||
callback.invoke("not_available")
|
||||
return
|
||||
}
|
||||
|
||||
if (list.size == 1) {
|
||||
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
try {
|
||||
reactContext.startActivity(i)
|
||||
} catch (ex: Exception) {
|
||||
Log.e(TAG, ex.message!!)
|
||||
callback.invoke("error")
|
||||
}
|
||||
} else {
|
||||
var chooserTitle = "Send Mail"
|
||||
|
||||
if (options.hasKey("customChooserTitle") && !options.isNull("customChooserTitle")) {
|
||||
chooserTitle = options.getString("customChooserTitle") ?: ""
|
||||
}
|
||||
|
||||
val chooser = Intent.createChooser(i, chooserTitle)
|
||||
chooser.flags = Intent.FLAG_ACTIVITY_NEW_TASK
|
||||
|
||||
try {
|
||||
reactContext.startActivity(chooser)
|
||||
} catch (ex: Exception) {
|
||||
Log.e(TAG, ex.message!!)
|
||||
callback.invoke("error")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val TAG = "MailManager"
|
||||
}
|
||||
|
||||
}
|
||||
-1
@@ -74,5 +74,4 @@ class NetworkManager(private val reactContext: ReactApplicationContext) : ReactC
|
||||
fun recover(rpcParams: String, callback: Callback) {
|
||||
utils.executeRunnableStatusGoMethod({ Statusgo.recover(rpcParams) }, callback)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
@@ -43,6 +43,7 @@ class StatusModule(private val reactContext: ReactApplicationContext, private va
|
||||
}
|
||||
|
||||
override fun handleSignal(jsonEventString: String) {
|
||||
Log.d(TAG, "Signal event")
|
||||
val params = Arguments.createMap()
|
||||
params.putString("jsonEvent", jsonEventString)
|
||||
reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java).emit("gethEvent", params)
|
||||
|
||||
-1
@@ -24,7 +24,6 @@ class StatusPackage(private val rootedDevice: Boolean) : ReactPackage {
|
||||
add(LogManager(reactContext))
|
||||
add(Utils(reactContext))
|
||||
add(NetworkManager(reactContext))
|
||||
add(MailManager(reactContext))
|
||||
add(RNSelectableTextInputModule(reactContext))
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ import com.facebook.react.bridge.Callback
|
||||
import com.facebook.react.bridge.ReactApplicationContext
|
||||
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
||||
import com.facebook.react.bridge.ReactMethod
|
||||
import com.facebook.react.bridge.ReadableArray;
|
||||
import android.util.Log
|
||||
import org.json.JSONException
|
||||
import org.json.JSONObject
|
||||
@@ -142,15 +141,4 @@ class Utils(private val reactContext: ReactApplicationContext) : ReactContextBas
|
||||
fun toChecksumAddress(address: String): String {
|
||||
return Statusgo.toChecksumAddress(address)
|
||||
}
|
||||
|
||||
fun readableArrayToStringArray(r: ReadableArray): Array<String> {
|
||||
val length = r.size()
|
||||
val strArray = Array(length) { "" }
|
||||
|
||||
for (keyIndex in 0 until length) {
|
||||
strArray[keyIndex] = r.getString(keyIndex) ?: ""
|
||||
}
|
||||
|
||||
return strArray
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<paths xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<external-path name="rnmail_dl" path="Download/" />
|
||||
<cache-path name="rnmail_cache" path="/" />
|
||||
<root-path name="rnmail_sdcard" path="." />
|
||||
</paths>
|
||||
@@ -66,9 +66,6 @@ RCT_EXPORT_METHOD(restoreAccountAndLogin:(NSString *)request) {
|
||||
NSData *configData = [config dataUsingEncoding:NSUTF8StringEncoding];
|
||||
NSDictionary *configJSON = [NSJSONSerialization JSONObjectWithData:configData options:NSJSONReadingMutableContainers error:nil];
|
||||
NSString *relativeDataDir = [configJSON objectForKey:@"DataDir"];
|
||||
if (relativeDataDir == nil) {
|
||||
relativeDataDir = @"";
|
||||
}
|
||||
NSString *absDataDir = [rootUrl.path stringByAppendingString:relativeDataDir];
|
||||
NSURL *absDataDirUrl = [NSURL fileURLWithPath:absDataDir];
|
||||
NSString *keystoreDir = [@"/keystore/" stringByAppendingString:keyUID];
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
#import <sys/utsname.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <React/RCTBridgeModule.h>
|
||||
#import "RCTLog.h"
|
||||
|
||||
@interface MailManager : NSObject <RCTBridgeModule, MFMailComposeViewControllerDelegate>
|
||||
|
||||
@end
|
||||
@@ -1,207 +0,0 @@
|
||||
#import <MessageUI/MessageUI.h>
|
||||
#import "MailManager.h"
|
||||
#import <React/RCTConvert.h>
|
||||
#import <React/RCTLog.h>
|
||||
#import "React/RCTBridge.h"
|
||||
#import "React/RCTEventDispatcher.h"
|
||||
|
||||
@implementation MailManager
|
||||
{
|
||||
NSMutableDictionary *_callbacks;
|
||||
}
|
||||
|
||||
- (instancetype)init
|
||||
{
|
||||
if ((self = [super init])) {
|
||||
_callbacks = [[NSMutableDictionary alloc] init];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (dispatch_queue_t)methodQueue
|
||||
{
|
||||
return dispatch_get_main_queue();
|
||||
}
|
||||
|
||||
+ (BOOL)requiresMainQueueSetup
|
||||
{
|
||||
return YES;
|
||||
}
|
||||
|
||||
RCT_EXPORT_MODULE();
|
||||
|
||||
RCT_EXPORT_METHOD(mail:(NSDictionary *)options
|
||||
callback: (RCTResponseSenderBlock)callback)
|
||||
{
|
||||
if ([MFMailComposeViewController canSendMail])
|
||||
{
|
||||
MFMailComposeViewController *mail = [[MFMailComposeViewController alloc] init];
|
||||
mail.mailComposeDelegate = self;
|
||||
_callbacks[RCTKeyForInstance(mail)] = callback;
|
||||
|
||||
if (options[@"subject"]){
|
||||
NSString *subject = [RCTConvert NSString:options[@"subject"]];
|
||||
[mail setSubject:subject];
|
||||
}
|
||||
|
||||
BOOL isHTML = NO;
|
||||
|
||||
if (options[@"isHTML"]){
|
||||
isHTML = [options[@"isHTML"] boolValue];
|
||||
}
|
||||
|
||||
if (options[@"body"]){
|
||||
NSString *body = [RCTConvert NSString:options[@"body"]];
|
||||
[mail setMessageBody:body isHTML:isHTML];
|
||||
}
|
||||
|
||||
if (options[@"recipients"]){
|
||||
NSArray *recipients = [RCTConvert NSArray:options[@"recipients"]];
|
||||
[mail setToRecipients:recipients];
|
||||
}
|
||||
|
||||
if (options[@"ccRecipients"]){
|
||||
NSArray *ccRecipients = [RCTConvert NSArray:options[@"ccRecipients"]];
|
||||
[mail setCcRecipients:ccRecipients];
|
||||
}
|
||||
|
||||
if (options[@"bccRecipients"]){
|
||||
NSArray *bccRecipients = [RCTConvert NSArray:options[@"bccRecipients"]];
|
||||
[mail setBccRecipients:bccRecipients];
|
||||
}
|
||||
if (options[@"attachments"]) {
|
||||
NSArray *attachments = [RCTConvert NSArray:options[@"attachments"]];
|
||||
for (NSDictionary *attachment in attachments) {
|
||||
if ((attachment[@"path"] || attachment[@"uri"]) && (attachment[@"type"] || attachment[@"mimeType"])) {
|
||||
NSString *attachmentPath = [RCTConvert NSString:attachment[@"path"]];
|
||||
NSString *attachmentUri = [RCTConvert NSString:attachment[@"uri"]];
|
||||
NSString *attachmentType = [RCTConvert NSString:attachment[@"type"]];
|
||||
NSString *attachmentName = [RCTConvert NSString:attachment[@"name"]];
|
||||
NSString *attachmentMimeType = [RCTConvert NSString:attachment[@"mimeType"]];
|
||||
|
||||
// Set default filename if not specificed
|
||||
if (!attachmentName) {
|
||||
attachmentName = [[attachmentPath lastPathComponent] stringByDeletingPathExtension];
|
||||
}
|
||||
|
||||
NSData *fileData;
|
||||
if (attachmentPath) {
|
||||
NSFileManager *fileManager = [NSFileManager defaultManager];
|
||||
if (![fileManager fileExistsAtPath:attachmentPath]){
|
||||
callback(@[[NSString stringWithFormat: @"attachment file with path '%@' does not exist", attachmentPath]]);
|
||||
return;
|
||||
}
|
||||
// Get the resource path and read the file using NSData
|
||||
fileData = [NSData dataWithContentsOfFile:attachmentPath];
|
||||
} else if (attachmentUri) {
|
||||
// Get the URI and read it using NSData
|
||||
NSURL *attachmentURL = [[NSURLComponents componentsWithString:attachmentUri] URL];
|
||||
NSError *error = nil;
|
||||
fileData = [NSData dataWithContentsOfURL:attachmentURL options:0 error:&error];
|
||||
if (!fileData) {
|
||||
callback(@[[NSString stringWithFormat: @"attachment file with uri '%@' does not exist", attachmentUri]]);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Determine the MIME type
|
||||
NSString *mimeType;
|
||||
if (attachmentType) {
|
||||
/*
|
||||
* Add additional mime types and PR if necessary. Find the list
|
||||
* of supported formats at http://www.iana.org/assignments/media-types/media-types.xhtml
|
||||
*/
|
||||
NSDictionary *supportedMimeTypes = @{
|
||||
@"jpeg" : @"image/jpeg",
|
||||
@"jpg" : @"image/jpeg",
|
||||
@"png" : @"image/png",
|
||||
@"doc" : @"application/msword",
|
||||
@"docx" : @"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
||||
@"ppt" : @"application/vnd.ms-powerpoint",
|
||||
@"pptx" : @"application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
||||
@"html" : @"text/html",
|
||||
@"csv" : @"text/csv",
|
||||
@"pdf" : @"application/pdf",
|
||||
@"vcard" : @"text/vcard",
|
||||
@"json" : @"application/json",
|
||||
@"zip" : @"application/zip",
|
||||
@"text" : @"text/*",
|
||||
@"mp3" : @"audio/mpeg",
|
||||
@"wav" : @"audio/wav",
|
||||
@"aiff" : @"audio/aiff",
|
||||
@"flac" : @"audio/flac",
|
||||
@"ogg" : @"audio/ogg",
|
||||
@"xls" : @"application/vnd.ms-excel",
|
||||
@"ics" : @"text/calendar",
|
||||
@"xlsx" : @"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
||||
};
|
||||
if([supportedMimeTypes objectForKey:attachmentType]) {
|
||||
mimeType = [supportedMimeTypes objectForKey:attachmentType];
|
||||
} else {
|
||||
callback(@[[NSString stringWithFormat: @"Mime type '%@' for attachment is not handled", attachmentType]]);
|
||||
return;
|
||||
}
|
||||
} else if (attachmentMimeType) {
|
||||
mimeType = attachmentMimeType;
|
||||
}
|
||||
|
||||
// Add attachment
|
||||
[mail addAttachmentData:fileData mimeType:mimeType fileName:attachmentName];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
UIViewController *root = [[[[UIApplication sharedApplication] delegate] window] rootViewController];
|
||||
|
||||
while (root.presentedViewController) {
|
||||
root = root.presentedViewController;
|
||||
}
|
||||
[root presentViewController:mail animated:YES completion:nil];
|
||||
} else {
|
||||
callback(@[@"not_available"]);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark MFMailComposeViewControllerDelegate Methods
|
||||
|
||||
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
|
||||
{
|
||||
NSString *key = RCTKeyForInstance(controller);
|
||||
RCTResponseSenderBlock callback = _callbacks[key];
|
||||
if (callback) {
|
||||
switch (result) {
|
||||
case MFMailComposeResultSent:
|
||||
callback(@[[NSNull null] , @"sent"]);
|
||||
break;
|
||||
case MFMailComposeResultSaved:
|
||||
callback(@[[NSNull null] , @"saved"]);
|
||||
break;
|
||||
case MFMailComposeResultCancelled:
|
||||
callback(@[[NSNull null] , @"cancelled"]);
|
||||
break;
|
||||
case MFMailComposeResultFailed:
|
||||
callback(@[@"failed"]);
|
||||
break;
|
||||
default:
|
||||
callback(@[@"error"]);
|
||||
break;
|
||||
}
|
||||
[_callbacks removeObjectForKey:key];
|
||||
} else {
|
||||
RCTLogWarn(@"No callback registered for mail: %@", controller.title);
|
||||
}
|
||||
UIViewController *ctrl = [[[[UIApplication sharedApplication] delegate] window] rootViewController];
|
||||
while (ctrl.presentedViewController && ctrl != controller) {
|
||||
ctrl = ctrl.presentedViewController;
|
||||
}
|
||||
[ctrl dismissViewControllerAnimated:YES completion:nil];
|
||||
}
|
||||
|
||||
#pragma mark Private
|
||||
|
||||
static NSString *RCTKeyForInstance(id instance)
|
||||
{
|
||||
return [NSString stringWithFormat:@"%p", instance];
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -38,6 +38,9 @@ static RCTBridge *bridge;
|
||||
return;
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
NSLog(@"[handleSignal] Received an event from Status-Go: %@", signal);
|
||||
#endif
|
||||
[bridge.eventDispatcher sendAppEventWithName:@"gethEvent"
|
||||
body:@{@"jsonEvent": signal}];
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
CE4E31B11D86951A0033ED64 /* Statusgo.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE4E31B01D86951A0033ED64 /* Statusgo.xcframework */; };
|
||||
E92244EB2B485F2400915F4C /* UIHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = E92244E92B485F2400915F4C /* UIHelper.m */; };
|
||||
E967A3AC2B47BD5A00FB19B2 /* Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = E967A3AB2B47BD5A00FB19B2 /* Utils.m */; };
|
||||
E9AEB5FE2BD8EEB100FB2926 /* MailManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E9AEB5FD2BD8EEB100FB2926 /* MailManager.m */; };
|
||||
E9BEF3602B470BF1001F6755 /* NetworkManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E9BEF35E2B470BF1001F6755 /* NetworkManager.m */; };
|
||||
E9C33AA62B4828A60074B1C5 /* DatabaseManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E9C33AA52B4828A60074B1C5 /* DatabaseManager.m */; };
|
||||
E9DB08932B4858B400F51053 /* LogManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E9DB08912B4858B400F51053 /* LogManager.m */; };
|
||||
@@ -43,8 +42,6 @@
|
||||
E92244EA2B485F2400915F4C /* UIHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIHelper.h; sourceTree = "<group>"; };
|
||||
E967A3AA2B47BD5A00FB19B2 /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Utils.h; sourceTree = "<group>"; };
|
||||
E967A3AB2B47BD5A00FB19B2 /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Utils.m; sourceTree = "<group>"; };
|
||||
E9AEB5FC2BD8EEB100FB2926 /* MailManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MailManager.h; sourceTree = "<group>"; };
|
||||
E9AEB5FD2BD8EEB100FB2926 /* MailManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MailManager.m; sourceTree = "<group>"; };
|
||||
E9BEF35E2B470BF1001F6755 /* NetworkManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NetworkManager.m; sourceTree = "<group>"; };
|
||||
E9BEF35F2B470BF1001F6755 /* NetworkManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkManager.h; sourceTree = "<group>"; };
|
||||
E9C33AA42B4828A60074B1C5 /* DatabaseManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DatabaseManager.h; sourceTree = "<group>"; };
|
||||
@@ -89,8 +86,6 @@
|
||||
206C9F3C1D474E910063E3E6 /* Status */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E9AEB5FC2BD8EEB100FB2926 /* MailManager.h */,
|
||||
E9AEB5FD2BD8EEB100FB2926 /* MailManager.m */,
|
||||
E92244EA2B485F2400915F4C /* UIHelper.h */,
|
||||
E92244E92B485F2400915F4C /* UIHelper.m */,
|
||||
E9DB08922B4858B400F51053 /* LogManager.h */,
|
||||
@@ -168,7 +163,6 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
E9DB08932B4858B400F51053 /* LogManager.m in Sources */,
|
||||
E9AEB5FE2BD8EEB100FB2926 /* MailManager.m in Sources */,
|
||||
E9F5C3322B483B6C001A7F40 /* EncryptionUtils.m in Sources */,
|
||||
E967A3AC2B47BD5A00FB19B2 /* Utils.m in Sources */,
|
||||
E92244EB2B485F2400915F4C /* UIHelper.m in Sources */,
|
||||
|
||||
@@ -1128,6 +1128,8 @@ Persistent<Function> r_call;
|
||||
std::queue<std::string> q;
|
||||
|
||||
void run(char *json) {
|
||||
printf("signal received %s\n", json);
|
||||
|
||||
std::string str(json);
|
||||
q.push(str);
|
||||
}
|
||||
|
||||
+100
-460
@@ -1165,21 +1165,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "androidx/databinding/databinding-common/3.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"databinding-common-3.5.3.pom": {
|
||||
"sha1": "0f85f7500d68d4eaed465ec194e18779374a7a68",
|
||||
"sha256": "sha256-paY7t0Iz/AxIVcvQLT4sAPgqTvvMChxgS3SmWRod2tw="
|
||||
},
|
||||
"databinding-common-3.5.3.jar": {
|
||||
"sha1": "72bb6cb779ae61710a01ff76d9d3cab355c44a4f",
|
||||
"sha256": "sha256-WRoV+qBtmUWoqA8m8n2vBosrLirqakvhN7/SixHZVgA="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "androidx/databinding/databinding-common/3.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -1289,21 +1274,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "androidx/databinding/databinding-compiler-common/3.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"databinding-compiler-common-3.5.3.pom": {
|
||||
"sha1": "345b6f4cea120faa14f118c08150de5d8afccce1",
|
||||
"sha256": "sha256-LRdv8FuX6tdlmxdHuhK/a/bhc8zIONVFAniG0toDu+A="
|
||||
},
|
||||
"databinding-compiler-common-3.5.3.jar": {
|
||||
"sha1": "32bfc30c00fdc550723ffd9bff3ef2471fbd4a3a",
|
||||
"sha256": "sha256-yDZslWiT00cwjhF5Be1v2xq+gFW54gEhOrjyMO3GNRg="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "androidx/databinding/databinding-compiler-common/3.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -3002,21 +2972,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/databinding/baseLibrary/3.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"baseLibrary-3.5.3.pom": {
|
||||
"sha1": "81372394c257edc4595cf19c33f7460892eeaa3e",
|
||||
"sha256": "sha256-knlU7d5unzROdh7YkGliIzSrDWc3i9B2rDIkfhX/Bmk="
|
||||
},
|
||||
"baseLibrary-3.5.3.jar": {
|
||||
"sha1": "5da8b7daa2f10ec359a13ee778eeabf15c1758b1",
|
||||
"sha256": "sha256-zebU7vY+5eBbiqtY/4Xq85zD5u2E/RhL9lWNgvjZwGc="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/databinding/baseLibrary/3.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -3520,21 +3475,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/analytics-library/crash/26.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"crash-26.5.3.pom": {
|
||||
"sha1": "2b6f117c8542a9132bbd1982960ff93be002eb77",
|
||||
"sha256": "sha256-ZrYgjqqWCNZ7K84UQIlBptcRC4ePlCVTmsIeuEWnqBU="
|
||||
},
|
||||
"crash-26.5.3.jar": {
|
||||
"sha1": "d199e964be1fa3e7162344b91336afae6c7ea789",
|
||||
"sha256": "sha256-86x29qjj+M7mPiqew2n87T3przHhRQzZOdiHXWcT758="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/analytics-library/crash/26.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -3659,21 +3599,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/analytics-library/protos/26.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"protos-26.5.3.pom": {
|
||||
"sha1": "a2452eb3233ef51f1dda9b5508cfe340134b4978",
|
||||
"sha256": "sha256-FYV7IPvj+TmJoQA2xD32xOTygrtjh07jAghoOH7gRuY="
|
||||
},
|
||||
"protos-26.5.3.jar": {
|
||||
"sha1": "16d70f0d597eac5d39180b1ce2d9b274f8802cf9",
|
||||
"sha256": "sha256-8uut8euJZzFc/sTTw3UkQFSh8W15+N4l0eiYPVq0D70="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/analytics-library/protos/26.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -3798,21 +3723,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/analytics-library/shared/26.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"shared-26.5.3.pom": {
|
||||
"sha1": "14c908921dd73687f66f496dfc73fa807d57e40d",
|
||||
"sha256": "sha256-FkUuC4D4/OiS5yBlJvWnupvlSungNjArA0ktU240P54="
|
||||
},
|
||||
"shared-26.5.3.jar": {
|
||||
"sha1": "594abc68f0518057cdb150e4c8cc73bc5c94183e",
|
||||
"sha256": "sha256-dpzYinI6GR6dmPsEGULf5Irzo+8kqP6wCI2NTNfhurA="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/analytics-library/shared/26.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -3937,21 +3847,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/analytics-library/tracker/26.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"tracker-26.5.3.pom": {
|
||||
"sha1": "8551b232bde0e0cd7a9983f4acc716ed2fa8d59b",
|
||||
"sha256": "sha256-fAbjPrxxjgXSaoM5kD9ZoVTedhcXTPha/bxi0Nsgnkc="
|
||||
},
|
||||
"tracker-26.5.3.jar": {
|
||||
"sha1": "6a84a345f5155eca774cd238c233a2f6fad551b9",
|
||||
"sha256": "sha256-dqhsU6BlaXcW4tXGEAyd4LrpHVacu5vRn6U+Pw5n63M="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/analytics-library/tracker/26.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -4076,21 +3971,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/annotations/26.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"annotations-26.5.3.pom": {
|
||||
"sha1": "03c6890f54f0b7c91aaeb7d66e87c52e53b10d79",
|
||||
"sha256": "sha256-4vEHB5aOWAXrLslhHTRa1GVrKLeEpApil0rlXPIQzh4="
|
||||
},
|
||||
"annotations-26.5.3.jar": {
|
||||
"sha1": "87a36f2086b41d1ec162a6e74c4f999d58eb1310",
|
||||
"sha256": "sha256-/js3c6HdNGlY2KFUess2UN/74HfTmtdMX3b7f6k/NYw="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/annotations/26.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -4503,21 +4383,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/build/apksig/3.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"apksig-3.5.3.pom": {
|
||||
"sha1": "fe080d599c11357971f21a2b7475d9915515d363",
|
||||
"sha256": "sha256-5sSQBWPiQJf82rf++W6oPPf6sfSTn6teEVRL8Ng0LZ0="
|
||||
},
|
||||
"apksig-3.5.3.jar": {
|
||||
"sha1": "d5ffda89f909743ad8e77b3c28ed351695037543",
|
||||
"sha256": "sha256-SMfd+nhnEtdmpzyt1+3JGGhsGv1s6FcRyvUQYx+0CQ8="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/build/apksig/3.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -4627,21 +4492,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/build/apkzlib/3.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"apkzlib-3.5.3.pom": {
|
||||
"sha1": "d41d21481aa9ea302638d5008d1c54e391981843",
|
||||
"sha256": "sha256-unLu4SDrvKUNUxJUZlaH2INOewFTQfQfdi2GKoiPDrI="
|
||||
},
|
||||
"apkzlib-3.5.3.jar": {
|
||||
"sha1": "8e17d7b8bb5f756c139619d86facca1675bc6164",
|
||||
"sha256": "sha256-aNpGeSdH6yIHK7PygeptifcYAB6Mmaa75oYJM/73qdw="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/build/apkzlib/3.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -4766,21 +4616,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/build/builder-model/3.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"builder-model-3.5.3.pom": {
|
||||
"sha1": "64d0223622a2c59fb67f8fb5c22b6535efef29b5",
|
||||
"sha256": "sha256-8kaKB3hYve1NA/D8BkGjtpr5zskjdqqjht3XoSTIQQM="
|
||||
},
|
||||
"builder-model-3.5.3.jar": {
|
||||
"sha1": "775377503072e1b6a701c3ea923c468cedd4e2eb",
|
||||
"sha256": "sha256-U1xpawkp6LOZLwiCPpTFtci+UzCVThX8TuFhCW+gT6I="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/build/builder-model/3.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -4917,21 +4752,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/build/builder-test-api/3.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"builder-test-api-3.5.3.pom": {
|
||||
"sha1": "f910b8864ae8e3e3c39823ca7ca6ba99a09d7564",
|
||||
"sha256": "sha256-9IV0lJ6wAgzUWwuGES1aMXxpH+0OPxPYzY7VNbmksUI="
|
||||
},
|
||||
"builder-test-api-3.5.3.jar": {
|
||||
"sha1": "cf9ce50cd19a816c5bc7d4c6362699aa98c8ac0f",
|
||||
"sha256": "sha256-euZFcKEsjav85tiA+KSNsVqoMRHbcC2iTAWvv3H8FUc="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/build/builder-test-api/3.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -5068,21 +4888,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/build/builder/3.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"builder-3.5.3.pom": {
|
||||
"sha1": "b327e842abd63da2281e74c59de69ab2b5998443",
|
||||
"sha256": "sha256-dNWTs6MgZG6PVaytZxU/2aWQk8a3lqkGYmbXPzO99ZA="
|
||||
},
|
||||
"builder-3.5.3.jar": {
|
||||
"sha1": "39bba1af533b25f6c1140e3c795ff815a6ad86ba",
|
||||
"sha256": "sha256-BcvZGDubmg4SisvDkSVAwXLg11pcNY2kZcb3F5JMV0E="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/build/builder/3.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -5324,21 +5129,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/build/gradle-api/3.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"gradle-api-3.5.3.pom": {
|
||||
"sha1": "ef22e3a71efd8cb517d4b039076f4b69013c0208",
|
||||
"sha256": "sha256-1T+FRJWgpHkt+LVOWXFAdtk3HW9ah5AABwdUoYDS7kU="
|
||||
},
|
||||
"gradle-api-3.5.3.jar": {
|
||||
"sha1": "c1d6a6b3e5b744caaf6eea2452d8db62c8e2882f",
|
||||
"sha256": "sha256-yOi/eI7S+LRswAqWJOAKivQLwx/x2CmL10DxhAC9PS4="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/build/gradle-api/3.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -5509,21 +5299,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/build/gradle/3.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"gradle-3.5.3.pom": {
|
||||
"sha1": "6bfb2b4c34c37c4f2addcb6d99db19fa7a1a5810",
|
||||
"sha256": "sha256-k8NC3tdmWdVBdyaKn9lBLf4HLozxd26vtHxZCBmOZdI="
|
||||
},
|
||||
"gradle-3.5.3.jar": {
|
||||
"sha1": "12e36e5f81cc2face28e0c14cb98941d773cae6a",
|
||||
"sha256": "sha256-Zyk97dM5uJypz2xEAJvNj4Bb9CnCVYYuq/LeuBDYuRA="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/build/gradle/3.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -5788,21 +5563,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/build/manifest-merger/26.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"manifest-merger-26.5.3.pom": {
|
||||
"sha1": "4cc40406dfe779b3b575e66c970ae0e9986b0c94",
|
||||
"sha256": "sha256-ZjxoTo8jLgEYXLnqBwjqCRwxAhYiDHlQthqQZlX0Vj4="
|
||||
},
|
||||
"manifest-merger-26.5.3.jar": {
|
||||
"sha1": "36674041b9d2644a30b75b6d8b7106bc16eac78a",
|
||||
"sha256": "sha256-tGBtBgLyH5GhdM+4UWtabpj/rJWNPzzYmTuVDvSbgEk="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/build/manifest-merger/26.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -5939,21 +5699,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/common/26.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"common-26.5.3.pom": {
|
||||
"sha1": "ace0f2945bba30c12223d7634a69da21a4242fd7",
|
||||
"sha256": "sha256-9ikVDGRk14qviKUSEpiyeycF0HdW2W5hH6/yuJgdgeQ="
|
||||
},
|
||||
"common-26.5.3.jar": {
|
||||
"sha1": "47409edcd2331596b42c33160101a86046e1c6f5",
|
||||
"sha256": "sha256-YAVo9B+xn8eWSHtvxTnlKr0Jj60cZ4vONcAqMVGeJPY="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/common/26.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -6078,21 +5823,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/ddms/ddmlib/26.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"ddmlib-26.5.3.pom": {
|
||||
"sha1": "f69c10111005d9ed625cc0b75fed9c5c2fcd1bcb",
|
||||
"sha256": "sha256-y79URq2NFK1PQ/kl063FlIr3hP7NdEvk04bf50sXe1s="
|
||||
},
|
||||
"ddmlib-26.5.3.jar": {
|
||||
"sha1": "804a61e67286eeec17d195c78a135f0ed2fbdb8a",
|
||||
"sha256": "sha256-IlrK31Fopg4wIKM81mm6TYatse+ePnEhcREd4t+RrCs="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/ddms/ddmlib/26.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -6217,21 +5947,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/dvlib/26.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"dvlib-26.5.3.pom": {
|
||||
"sha1": "1983f43ea2ef12519c4ac4579930af7494b4fb1c",
|
||||
"sha256": "sha256-HNYT321rRp1fKslux7VIkAzONv7xDrPJAZVIITehh5c="
|
||||
},
|
||||
"dvlib-26.5.3.jar": {
|
||||
"sha1": "9caa13fe83508ba5687199c02b7ddb885abd8f14",
|
||||
"sha256": "sha256-+f3/TUDUJ1vhgAWJ2GlS33ErcQa7MD2o5f5zaqIogGU="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/dvlib/26.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -6431,21 +6146,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/layoutlib/layoutlib-api/26.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"layoutlib-api-26.5.3.pom": {
|
||||
"sha1": "75263963e8b5baa185153cbdf1a5347628a71927",
|
||||
"sha256": "sha256-Qs1kefYxk/LNrFGbBIi08IbYhToLabRA84yCWHE09eE="
|
||||
},
|
||||
"layoutlib-api-26.5.3.jar": {
|
||||
"sha1": "6549e729f3f27c7d05049494f25cfd01890c00e0",
|
||||
"sha256": "sha256-/7VaULd7u4vTgnr7gpGhRVzZU7EmBYzP3db/rvkwM9A="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/layoutlib/layoutlib-api/26.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -6615,21 +6315,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/lint/lint-gradle-api/26.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"lint-gradle-api-26.5.3.pom": {
|
||||
"sha1": "ce7c04f4c18db0fe372667092500726dc1436b2b",
|
||||
"sha256": "sha256-tD6Ht965r/ZdBmPvIpAUoOyV9OsgUpxwTbEXrkq7I00="
|
||||
},
|
||||
"lint-gradle-api-26.5.3.jar": {
|
||||
"sha1": "34f6edb87863c7e9f89f24c36485374ad350166a",
|
||||
"sha256": "sha256-+xQk+cpYS2WRw5znSR5tiXYAVx4XPPkogrqTQWPGDMQ="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/lint/lint-gradle-api/26.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -6874,21 +6559,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/repository/26.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"repository-26.5.3.pom": {
|
||||
"sha1": "f8f4198066a0abb5dd28ddf7e7bbb9ce9c6df714",
|
||||
"sha256": "sha256-1VAgYQtJuNTY+UgjN7nkcyAEjcxoEYb4tLuJAxaMxUE="
|
||||
},
|
||||
"repository-26.5.3.jar": {
|
||||
"sha1": "91466e99a63da0267b17bdfb617f54582e311618",
|
||||
"sha256": "sha256-X8tsUpwFkmiZtGzyUA46ChpjOV59RY6na8sHXKoF1Lg="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/repository/26.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -7013,21 +6683,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/sdklib/26.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"sdklib-26.5.3.pom": {
|
||||
"sha1": "08fa943d8253d6301e2dd02bb953fe73bd1406f7",
|
||||
"sha256": "sha256-UQ3bott3wc/Uw37/g/L25qPv4gXqt8Zkgu7QAUgtsTs="
|
||||
},
|
||||
"sdklib-26.5.3.jar": {
|
||||
"sha1": "8c305bc044ad81115859eb964c2829cbea70b036",
|
||||
"sha256": "sha256-H8X6i5qnJUBBwF5s8fPrqfR7BJH3p4ZDwhy+eylFHkI="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/sdklib/26.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -7152,21 +6807,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/sdk-common/26.5.3",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
"files": {
|
||||
"sdk-common-26.5.3.pom": {
|
||||
"sha1": "3fda12d2fca4442d791813f7a73399ff5f6e1973",
|
||||
"sha256": "sha256-RenED9V2i7mYpkVhbqjSVGv15o9fBkL34FpKhwZElZk="
|
||||
},
|
||||
"sdk-common-26.5.3.jar": {
|
||||
"sha1": "cce8ff081940bb7c9b1368a4052f987091996887",
|
||||
"sha256": "sha256-kDfQjhoo5b8rEzc6Dyo/hxRsRG/gkYeNNOtvHxyIBgk="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/android/tools/sdk-common/26.5.4",
|
||||
"repo": "https://dl.google.com/dl/android/maven2",
|
||||
@@ -8371,16 +8011,16 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "commons-codec/commons-codec/1.17.0",
|
||||
"path": "commons-codec/commons-codec/1.16.1",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"commons-codec-1.17.0.pom": {
|
||||
"sha1": "00df1652d86779f44021a4c52a928d0792217eec",
|
||||
"sha256": "sha256-wBxM2l5Aj0HtHYPkoKFwz1OAG2M4q6SfD5BHhrwSFPw="
|
||||
"commons-codec-1.16.1.pom": {
|
||||
"sha1": "fdca64157d8fd070e24bd7d4ae9b8851d9ed9c0e",
|
||||
"sha256": "sha256-uCbd2S+dfMZDcaAvoIMMFU1nyYNw6lSi0ZbnLrWQrSg="
|
||||
},
|
||||
"commons-codec-1.17.0.jar": {
|
||||
"sha1": "0dbe8eef6e14460e73da07f7b11bf994d6626355",
|
||||
"sha256": "sha256-9wDegKwnDQNE/ep0aCAdi5yAXlxkgzHDYZ8u4GfM/Fk="
|
||||
"commons-codec-1.16.1.jar": {
|
||||
"sha1": "47bd4d333fba53406f6c6c51884ddbca435c8862",
|
||||
"sha256": "sha256-7Ie/tV8iy9GyHiGQ7toosrMS7SpDHuSfvcwBgS0EpeQ="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -8401,16 +8041,16 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "commons-io/commons-io/2.16.1",
|
||||
"path": "commons-io/commons-io/2.16.0",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"commons-io-2.16.1.pom": {
|
||||
"sha1": "553d6f69e338060a231755afe0ebf99d14b45da6",
|
||||
"sha256": "sha256-V3fSkiUceJXASkxXAVaD7Ds1OhJIbJs+cXjpsLPDj/8="
|
||||
"commons-io-2.16.0.pom": {
|
||||
"sha1": "22e76fdc24c77e80b362d1f060a3cc073de3f0a9",
|
||||
"sha256": "sha256-9EvmklZbB2a+vlkKSwQdm12rJP7QtGqs7niXBCiISlY="
|
||||
},
|
||||
"commons-io-2.16.1.jar": {
|
||||
"sha1": "377d592e740dc77124e0901291dbfaa6810a200e",
|
||||
"sha256": "sha256-9B97qs1xaJZEes6XWGIfYsHGsKkdiazuSI2ib8R3yE8="
|
||||
"commons-io-2.16.0.jar": {
|
||||
"sha1": "27875a7935f1ddcc13267eb6fae1f719e0409572",
|
||||
"sha256": "sha256-0eQXkBI1+uOqDLlza66vW3Tec0mBfRxyOQ2C49g9Opc="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -11511,16 +11151,16 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/errorprone/error_prone_annotations/2.27.1",
|
||||
"path": "com/google/errorprone/error_prone_annotations/2.26.1",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"error_prone_annotations-2.27.1.pom": {
|
||||
"sha1": "432107569fdae073842841c566ea1eea3b2f0a96",
|
||||
"sha256": "sha256-TCN6vSm6OvOcp0TLSkHyRbX/oEXQNskkSvKrPKvKhTc="
|
||||
"error_prone_annotations-2.26.1.pom": {
|
||||
"sha1": "2e23702f7c5f6c85252ed22bf7e96b474fe48086",
|
||||
"sha256": "sha256-rqfpkeLf3LR/X71QhYdTX3gCvLni/C1Ou1C+QbaE2p8="
|
||||
},
|
||||
"error_prone_annotations-2.27.1.jar": {
|
||||
"sha1": "a87dac4f79a6e5b1e55c629f16c754c53cbd50ec",
|
||||
"sha256": "sha256-pIlbXbAkNhTZDOKixvgwYkkJwB4xWH2Ow+z1Hl5+dQY="
|
||||
"error_prone_annotations-2.26.1.jar": {
|
||||
"sha1": "c1fde57694bdc14e8618899aaa6e857d9465d7de",
|
||||
"sha256": "sha256-3iXy2aIVZSm9dl9R2O/fwN+nMB4E77nMdbfxDPXQ4Ps="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -11647,12 +11287,12 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/errorprone/error_prone_parent/2.27.1",
|
||||
"path": "com/google/errorprone/error_prone_parent/2.26.1",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"error_prone_parent-2.27.1.pom": {
|
||||
"sha1": "b00504c9994e0c16dc77d661b19421f1ffd179b4",
|
||||
"sha256": "sha256-APlKPmg8fOr5lQFP/EB/INNycrFQ0mEbNVdLjOcYIjY="
|
||||
"error_prone_parent-2.26.1.pom": {
|
||||
"sha1": "b881c4c0f53eef367689790e18dc033d8a75bd52",
|
||||
"sha256": "sha256-SmrQDTGwpa3Nmk9gUGXVtEX65KBMv4J+XRrBB34vgU0="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -12238,12 +11878,12 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/protobuf/protobuf-bom/4.27.0-RC1",
|
||||
"path": "com/google/protobuf/protobuf-bom/4.26.1",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"protobuf-bom-4.27.0-RC1.pom": {
|
||||
"sha1": "27a037f37e7e95b5e28ec5cd410ed99d34eb0a29",
|
||||
"sha256": "sha256-ilnU8jEpEPRz7kIC0n8QQBt1nSyGY6xr/dQP299Bfy4="
|
||||
"protobuf-bom-4.26.1.pom": {
|
||||
"sha1": "7c6506f4a6d11e3aa7c3591c494433926eb4fefa",
|
||||
"sha256": "sha256-hmAoc/EHNFQ9kMB/D/e/3+OXSeHCViGEwMiQmpJqbaw="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -12489,16 +12129,16 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/protobuf/protobuf-java/4.27.0-RC1",
|
||||
"path": "com/google/protobuf/protobuf-java/4.26.1",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"protobuf-java-4.27.0-RC1.pom": {
|
||||
"sha1": "8c2f747548d2fafc3e9b057cee34c343dc47e78e",
|
||||
"sha256": "sha256-n9A6OYpEYg/F4Um5bKFXFb/1zQkxiNk7nGaSmmj087w="
|
||||
"protobuf-java-4.26.1.pom": {
|
||||
"sha1": "5d394cabfc69ca65c22694fabcc074f324a7af43",
|
||||
"sha256": "sha256-Gqr40NPAcUMZpemmtrMDxw4PYHa3t0vTvz/bh133mXE="
|
||||
},
|
||||
"protobuf-java-4.27.0-RC1.jar": {
|
||||
"sha1": "f37d7fb8ab06eee5ae3dd11c121f63a8b209e74f",
|
||||
"sha256": "sha256-MW6bDi8Ee6d42j4PgT+0lqqzysiu/qRTRiIAi2bAcyk="
|
||||
"protobuf-java-4.26.1.jar": {
|
||||
"sha1": "594fabdcbceb7edfb883fe621d3e97d9cc05fa73",
|
||||
"sha256": "sha256-CRkz5YcK+BB0gyb3rOSmc6ynISUxd1QoQvBEtUbxQoI="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -12618,12 +12258,12 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "com/google/protobuf/protobuf-parent/4.27.0-RC1",
|
||||
"path": "com/google/protobuf/protobuf-parent/4.26.1",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"protobuf-parent-4.27.0-RC1.pom": {
|
||||
"sha1": "59b00c8642d1166a189ebdcc529d3de170c8c56c",
|
||||
"sha256": "sha256-mdkAVgkc3DOMTzc5ghqX3ICl1+ajWVFVWdw//1f73+E="
|
||||
"protobuf-parent-4.26.1.pom": {
|
||||
"sha1": "cc071c128d5a376a30a2ecf145127532e7a17bae",
|
||||
"sha256": "sha256-rMorllL7bwEHXmdbfDShbtGZIVlUb651lvKZ2HYnbY0="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -15923,6 +15563,17 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "org/apache/commons/commons-parent/66",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"commons-parent-66.pom": {
|
||||
"sha1": "24cf85c9d30c5ca5a2f48d806e93d8328b622a8c",
|
||||
"sha256": "sha256-SP1tyEblax9AhmDRY+dTAPnjhLtjvkgqgIKiHXKo25w="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "org/apache/commons/commons-parent/67",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
@@ -15934,17 +15585,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "org/apache/commons/commons-parent/69",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"commons-parent-69.pom": {
|
||||
"sha1": "6ebeacd37818d945d96c06b44af10e050d2ef7c4",
|
||||
"sha256": "sha256-1Q2pw5vcqCPWGNG0oDtz8ZZJf8uGFv0NpyfIYjWSqbs="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "org/apache/httpcomponents/httpclient/4.1.1",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
@@ -16680,20 +16320,20 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "org/checkerframework/checker-qual/3.43.0",
|
||||
"path": "org/checkerframework/checker-qual/3.42.0",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"checker-qual-3.43.0.pom": {
|
||||
"sha1": "48ad8955d64547b84ef581361c29c030e56430cb",
|
||||
"sha256": "sha256-kxO/U7Pv2KrKJm7qi5bjB5drZcCxZRDMbwIxn7rr7UM="
|
||||
"checker-qual-3.42.0.pom": {
|
||||
"sha1": "49d71d964f0ac5505caa5f996c8497c9462e9eeb",
|
||||
"sha256": "sha256-v1/KqycvVMvPG753w72WPIIcmrrSBYcIvwvtPIdUlMo="
|
||||
},
|
||||
"checker-qual-3.43.0.jar": {
|
||||
"sha1": "9425eee39e56b116d2b998b7c2cebcbd11a3c98b",
|
||||
"sha256": "sha256-P7wumPBYVMPfFt+auqlVuRsVs+ysM2IyCO1kJGQO8PY="
|
||||
"checker-qual-3.42.0.jar": {
|
||||
"sha1": "638ec33f363a94d41a4f03c3e7d3dcfba64e402d",
|
||||
"sha256": "sha256-zK7dM68LeJTZ8vO2RPTRnkOSjjKQLmGsTRB3eDD1qsc="
|
||||
},
|
||||
"checker-qual-3.43.0.module": {
|
||||
"sha1": "3020cf05cf20a5f6e2137e59291be76cd1252b83",
|
||||
"sha256": "sha256-+BYzJyRauGJVMpSMcqkwVIzZfzTWw/6GD6auxaNNebQ="
|
||||
"checker-qual-3.42.0.module": {
|
||||
"sha1": "022eca66f8300ceaa525ef4b3c81f8e88f1d1495",
|
||||
"sha256": "sha256-4PpiK33mPq4RBH726RtMKtDx8OE8uQP/UggKR/V6V0Y="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -17501,12 +17141,12 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "org/jacoco/org.jacoco.build/0.8.12",
|
||||
"path": "org/jacoco/org.jacoco.build/0.8.11",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"org.jacoco.build-0.8.12.pom": {
|
||||
"sha1": "ae9ec17957c52ffa34ec82bb59bc0a2b9b3554c0",
|
||||
"sha256": "sha256-JQ3MmhAD6CCVkz9khpI3dS825wy4pj8s35mwyWE8Cbk="
|
||||
"org.jacoco.build-0.8.11.pom": {
|
||||
"sha1": "e5a356ca72993fc163a454402a55c2043071d350",
|
||||
"sha256": "sha256-W4SxXPLu8+WeuRvCJ4SDMQCwnfmRHjMZAww7xki9iws="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -17527,16 +17167,16 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "org/jacoco/org.jacoco.core/0.8.12",
|
||||
"path": "org/jacoco/org.jacoco.core/0.8.11",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"org.jacoco.core-0.8.12.pom": {
|
||||
"sha1": "bc76db6af48fc259f0c66ac8b6d9ce2dd73ea77b",
|
||||
"sha256": "sha256-qgsnc3hohtUdGI1+0aQ/Z276ISeFIERb/vDMtdjL5xc="
|
||||
"org.jacoco.core-0.8.11.pom": {
|
||||
"sha1": "e1aa8f9270a5fcc432cf0c185c871b3e4820f5e9",
|
||||
"sha256": "sha256-u2E18Qo2NJy4SlYA/Yz3P8EpahNbLxStzYPejPJMq7E="
|
||||
},
|
||||
"org.jacoco.core-0.8.12.jar": {
|
||||
"sha1": "c2a45bd054bbacfe9998cbbf1a49010c62e48cbc",
|
||||
"sha256": "sha256-/KJts3wMX71dxJhSN+uChm35eZ1Qgq+JlHWnP5H1sDU="
|
||||
"org.jacoco.core-0.8.11.jar": {
|
||||
"sha1": "2ea73c899b5d6cde2a0a5e0ca29268b37622845d",
|
||||
"sha256": "sha256-/NGIxohHP8jcwMbKrzVeeziVAiQ1J8M7lZej7Ch5H0c="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -19227,16 +18867,16 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "org/jetbrains/kotlin/kotlin-reflect/2.0.0-RC2",
|
||||
"path": "org/jetbrains/kotlin/kotlin-reflect/2.0.0-Beta5",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"kotlin-reflect-2.0.0-RC2.pom": {
|
||||
"sha1": "f59f0775b6c4874de09c44d692037fd8f3132bfd",
|
||||
"sha256": "sha256-1aOhZnjByMuCwt0x6SO2i+pd0ka/rEv8T+nO3nUo6gM="
|
||||
"kotlin-reflect-2.0.0-Beta5.pom": {
|
||||
"sha1": "dd7f7eb5dfa88db62699bcd48d1b6e1ef4ff48fc",
|
||||
"sha256": "sha256-vZDJOB++CfFO6xpEb8Z+gk4Geh4UEr6WVoNRB4hcpxQ="
|
||||
},
|
||||
"kotlin-reflect-2.0.0-RC2.jar": {
|
||||
"sha1": "a416a6e9f3c00ba5f0c58091bbe20128117720ff",
|
||||
"sha256": "sha256-VSmq3nuZWEmDRvXHvnD+3VIrYmg0FlJmaIJ9j3mNbaE="
|
||||
"kotlin-reflect-2.0.0-Beta5.jar": {
|
||||
"sha1": "ecb1578f5e5a1fa0cec6f4e926ced14989724274",
|
||||
"sha256": "sha256-4xzU/UOloKuez/MUVapHwTl9ZzvkJ8FjkqxNQBf+BOo="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -20769,28 +20409,28 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "org/jetbrains/kotlin/kotlin-stdlib/2.0.0-RC2",
|
||||
"path": "org/jetbrains/kotlin/kotlin-stdlib/2.0.0-Beta5",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"kotlin-stdlib-2.0.0-RC2.pom": {
|
||||
"sha1": "a0173de9669d2b669a0a9331abc10eed854c7578",
|
||||
"sha256": "sha256-P5+BoFtN2UXxa5nt5GUj/36Ts2zN2qRIKsbvj519M2g="
|
||||
"kotlin-stdlib-2.0.0-Beta5.pom": {
|
||||
"sha1": "cfb0a9c66ddf657aac640d1a38169eb12de0f557",
|
||||
"sha256": "sha256-NAO5vBthXEMJKGzn8eQ6teYhT5Brf53uG5G90li4pNk="
|
||||
},
|
||||
"kotlin-stdlib-2.0.0-RC2-all.jar": {
|
||||
"sha1": "e6142a28b5fa6722cd811dd86278ad056784fa40",
|
||||
"sha256": "sha256-MOBSIrwGf/+4lqMna18ePylFC/HZRh0noZzg78eTtc0="
|
||||
"kotlin-stdlib-2.0.0-Beta5-all.jar": {
|
||||
"sha1": "e18c835dd9fe6430f006ef2060595f3e5c0473bf",
|
||||
"sha256": "sha256-o+o5Diku/+bWDD4IQjottN68NiB4sQvtHmE7qy7ru3U="
|
||||
},
|
||||
"kotlin-stdlib-2.0.0-RC2-common.jar": {
|
||||
"kotlin-stdlib-2.0.0-Beta5-common.jar": {
|
||||
"sha1": "281e03983850e590dcc0d2474758f2fa8dd0e96a",
|
||||
"sha256": "sha256-EsHDu0lApPmVlUD/tc8uLl6brNtoywDEvSidFjm9HSc="
|
||||
},
|
||||
"kotlin-stdlib-2.0.0-RC2.jar": {
|
||||
"sha1": "504eb64ad16be7612c962dd198a511a809800d80",
|
||||
"sha256": "sha256-nFMX9JplxBB9EJM5WG+LfW95ehOyI0zMR5CGQZDpQVo="
|
||||
"kotlin-stdlib-2.0.0-Beta5.jar": {
|
||||
"sha1": "763714203113a7f4a5477122be0c6c588df0116e",
|
||||
"sha256": "sha256-vJdkbUp8fwtJ6An+ZapdbGVNWfM3rQziphgPVxdpfWk="
|
||||
},
|
||||
"kotlin-stdlib-2.0.0-RC2.module": {
|
||||
"sha1": "ec60b751c2b289581aed1cf553d477048a890cc4",
|
||||
"sha256": "sha256-18U/l65G+3O8wy1oZbKJ+MSv8fv3yvfaXIllxukU+wg="
|
||||
"kotlin-stdlib-2.0.0-Beta5.module": {
|
||||
"sha1": "e4e16c1cf436d27d4d80cd504e636feaffbc376a",
|
||||
"sha256": "sha256-ZBntY3Vrx0lM5sR2jdkZhsSPB1ZTdTOSi5uggHroWjk="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -21070,16 +20710,16 @@
|
||||
},
|
||||
|
||||
{
|
||||
"path": "org/junit/junit-bom/5.11.0-M1",
|
||||
"path": "org/junit/junit-bom/5.10.2",
|
||||
"repo": "https://repo.maven.apache.org/maven2",
|
||||
"files": {
|
||||
"junit-bom-5.11.0-M1.pom": {
|
||||
"sha1": "afec72e7b7df3cd97c3fe53164c3f5dfc6a0ff94",
|
||||
"sha256": "sha256-tQl19cuoYgSr2j3Nbwl6+Rn+IuIe9pR43WuRn2x0DYU="
|
||||
"junit-bom-5.10.2.pom": {
|
||||
"sha1": "b25ed98a5bd08cdda60e569cf22822a760e76019",
|
||||
"sha256": "sha256-Fp3ZBKSw9lIM/+ZYzGIpK/6fPBSpifqSEgckzeQ6mWg="
|
||||
},
|
||||
"junit-bom-5.11.0-M1.module": {
|
||||
"sha1": "8824de265f75444b83779557736d03b4c8fac3f7",
|
||||
"sha256": "sha256-j2MviWXptvQGnj1YueomuaW8dqmOibQyM3d6zm2tsjc="
|
||||
"junit-bom-5.10.2.module": {
|
||||
"sha1": "ce536748a853ae6ac09e7815fce0678a96cff778",
|
||||
"sha256": "sha256-3iOxFLPkEZqP5usXvtWjhSgWaYus5nBxV51tkn67CAo="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
+25
-26
@@ -53,14 +53,14 @@ androidx.core:core:1.9.0
|
||||
androidx.cursoradapter:cursoradapter:1.0.0
|
||||
androidx.customview:customview:1.0.0
|
||||
androidx.databinding:databinding-common:3.2.1
|
||||
androidx.databinding:databinding-common:3.5.3
|
||||
androidx.databinding:databinding-common:3.5.4
|
||||
androidx.databinding:databinding-common:4.1.0
|
||||
androidx.databinding:databinding-common:7.0.4
|
||||
androidx.databinding:databinding-common:7.2.1
|
||||
androidx.databinding:databinding-common:7.3.1
|
||||
androidx.databinding:databinding-common:8.1.1
|
||||
androidx.databinding:databinding-compiler-common:3.2.1
|
||||
androidx.databinding:databinding-compiler-common:3.5.3
|
||||
androidx.databinding:databinding-compiler-common:3.5.4
|
||||
androidx.databinding:databinding-compiler-common:4.1.0
|
||||
androidx.databinding:databinding-compiler-common:7.0.4
|
||||
androidx.databinding:databinding-compiler-common:7.2.1
|
||||
@@ -164,7 +164,7 @@ com.almworks.sqlite4java:sqlite4java:1.0.392
|
||||
com.android.databinding:baseLibrary:1.0-rc5
|
||||
com.android.databinding:baseLibrary:3.0.1
|
||||
com.android.databinding:baseLibrary:3.2.1
|
||||
com.android.databinding:baseLibrary:3.5.3
|
||||
com.android.databinding:baseLibrary:3.5.4
|
||||
com.android.databinding:baseLibrary:4.1.0
|
||||
com.android.databinding:baseLibrary:7.0.4
|
||||
com.android.databinding:baseLibrary:7.2.1
|
||||
@@ -173,7 +173,7 @@ com.android.databinding:baseLibrary:8.1.1
|
||||
com.android.databinding:compilerCommon:1.0-rc5
|
||||
com.android.databinding:compilerCommon:3.0.1
|
||||
com.android.tools.analytics-library:crash:26.2.1
|
||||
com.android.tools.analytics-library:crash:26.5.3
|
||||
com.android.tools.analytics-library:crash:26.5.4
|
||||
com.android.tools.analytics-library:crash:27.1.0
|
||||
com.android.tools.analytics-library:crash:30.0.4
|
||||
com.android.tools.analytics-library:crash:30.2.1
|
||||
@@ -181,7 +181,7 @@ com.android.tools.analytics-library:crash:30.3.1
|
||||
com.android.tools.analytics-library:crash:31.1.1
|
||||
com.android.tools.analytics-library:protos:26.0.1
|
||||
com.android.tools.analytics-library:protos:26.2.1
|
||||
com.android.tools.analytics-library:protos:26.5.3
|
||||
com.android.tools.analytics-library:protos:26.5.4
|
||||
com.android.tools.analytics-library:protos:27.1.0
|
||||
com.android.tools.analytics-library:protos:30.0.4
|
||||
com.android.tools.analytics-library:protos:30.2.1
|
||||
@@ -189,7 +189,7 @@ com.android.tools.analytics-library:protos:30.3.1
|
||||
com.android.tools.analytics-library:protos:31.1.1
|
||||
com.android.tools.analytics-library:shared:26.0.1
|
||||
com.android.tools.analytics-library:shared:26.2.1
|
||||
com.android.tools.analytics-library:shared:26.5.3
|
||||
com.android.tools.analytics-library:shared:26.5.4
|
||||
com.android.tools.analytics-library:shared:27.1.0
|
||||
com.android.tools.analytics-library:shared:30.0.4
|
||||
com.android.tools.analytics-library:shared:30.2.1
|
||||
@@ -197,7 +197,7 @@ com.android.tools.analytics-library:shared:30.3.1
|
||||
com.android.tools.analytics-library:shared:31.1.1
|
||||
com.android.tools.analytics-library:tracker:26.0.1
|
||||
com.android.tools.analytics-library:tracker:26.2.1
|
||||
com.android.tools.analytics-library:tracker:26.5.3
|
||||
com.android.tools.analytics-library:tracker:26.5.4
|
||||
com.android.tools.analytics-library:tracker:27.1.0
|
||||
com.android.tools.analytics-library:tracker:30.0.4
|
||||
com.android.tools.analytics-library:tracker:30.2.1
|
||||
@@ -226,14 +226,14 @@ com.android.tools.build:aaptcompiler:7.3.1
|
||||
com.android.tools.build:aaptcompiler:8.1.1
|
||||
com.android.tools.build:apksig:3.0.1
|
||||
com.android.tools.build:apksig:3.2.1
|
||||
com.android.tools.build:apksig:3.5.3
|
||||
com.android.tools.build:apksig:3.5.4
|
||||
com.android.tools.build:apksig:4.1.0
|
||||
com.android.tools.build:apksig:7.0.4
|
||||
com.android.tools.build:apksig:7.2.1
|
||||
com.android.tools.build:apksig:7.3.1
|
||||
com.android.tools.build:apksig:8.1.1
|
||||
com.android.tools.build:apkzlib:3.2.1
|
||||
com.android.tools.build:apkzlib:3.5.3
|
||||
com.android.tools.build:apkzlib:3.5.4
|
||||
com.android.tools.build:apkzlib:4.1.0
|
||||
com.android.tools.build:apkzlib:7.0.4
|
||||
com.android.tools.build:apkzlib:7.2.1
|
||||
@@ -243,7 +243,7 @@ com.android.tools.build:builder-model:1.3.1
|
||||
com.android.tools.build:builder-model:1.5.0
|
||||
com.android.tools.build:builder-model:3.0.1
|
||||
com.android.tools.build:builder-model:3.2.1
|
||||
com.android.tools.build:builder-model:3.5.3
|
||||
com.android.tools.build:builder-model:3.5.4
|
||||
com.android.tools.build:builder-model:4.1.0
|
||||
com.android.tools.build:builder-model:7.0.4
|
||||
com.android.tools.build:builder-model:7.2.1
|
||||
@@ -253,7 +253,7 @@ com.android.tools.build:builder-test-api:1.3.1
|
||||
com.android.tools.build:builder-test-api:1.5.0
|
||||
com.android.tools.build:builder-test-api:3.0.1
|
||||
com.android.tools.build:builder-test-api:3.2.1
|
||||
com.android.tools.build:builder-test-api:3.5.3
|
||||
com.android.tools.build:builder-test-api:3.5.4
|
||||
com.android.tools.build:builder-test-api:4.1.0
|
||||
com.android.tools.build:builder-test-api:7.0.4
|
||||
com.android.tools.build:builder-test-api:7.2.1
|
||||
@@ -263,7 +263,7 @@ com.android.tools.build:builder:1.3.1
|
||||
com.android.tools.build:builder:1.5.0
|
||||
com.android.tools.build:builder:3.0.1
|
||||
com.android.tools.build:builder:3.2.1
|
||||
com.android.tools.build:builder:3.5.3
|
||||
com.android.tools.build:builder:3.5.4
|
||||
com.android.tools.build:builder:4.1.0
|
||||
com.android.tools.build:builder:7.0.4
|
||||
com.android.tools.build:builder:7.2.1
|
||||
@@ -278,7 +278,7 @@ com.android.tools.build:bundletool:1.9.0
|
||||
com.android.tools.build:bundletool:1.14.0
|
||||
com.android.tools.build:gradle-api:3.0.1
|
||||
com.android.tools.build:gradle-api:3.2.1
|
||||
com.android.tools.build:gradle-api:3.5.3
|
||||
com.android.tools.build:gradle-api:3.5.4
|
||||
com.android.tools.build:gradle-api:4.1.0
|
||||
com.android.tools.build:gradle-api:7.0.4
|
||||
com.android.tools.build:gradle-api:7.2.1
|
||||
@@ -292,7 +292,7 @@ com.android.tools.build:gradle:1.3.1
|
||||
com.android.tools.build:gradle:1.5.0
|
||||
com.android.tools.build:gradle:3.0.1
|
||||
com.android.tools.build:gradle:3.2.1
|
||||
com.android.tools.build:gradle:3.5.3
|
||||
com.android.tools.build:gradle:3.5.4
|
||||
com.android.tools.build:gradle:4.1.0
|
||||
com.android.tools.build:gradle:7.0.4
|
||||
com.android.tools.build:gradle:7.2.1
|
||||
@@ -301,7 +301,7 @@ com.android.tools.build:manifest-merger:24.3.1
|
||||
com.android.tools.build:manifest-merger:24.5.0
|
||||
com.android.tools.build:manifest-merger:26.0.1
|
||||
com.android.tools.build:manifest-merger:26.2.1
|
||||
com.android.tools.build:manifest-merger:26.5.3
|
||||
com.android.tools.build:manifest-merger:26.5.4
|
||||
com.android.tools.build:manifest-merger:27.1.0
|
||||
com.android.tools.build:manifest-merger:30.0.4
|
||||
com.android.tools.build:manifest-merger:30.2.1
|
||||
@@ -313,7 +313,7 @@ com.android.tools.ddms:ddmlib:24.3.1
|
||||
com.android.tools.ddms:ddmlib:24.5.0
|
||||
com.android.tools.ddms:ddmlib:26.0.1
|
||||
com.android.tools.ddms:ddmlib:26.2.1
|
||||
com.android.tools.ddms:ddmlib:26.5.3
|
||||
com.android.tools.ddms:ddmlib:26.5.4
|
||||
com.android.tools.ddms:ddmlib:27.1.0
|
||||
com.android.tools.ddms:ddmlib:30.0.4
|
||||
com.android.tools.ddms:ddmlib:30.2.1
|
||||
@@ -328,7 +328,7 @@ com.android.tools.layoutlib:layoutlib-api:24.3.1
|
||||
com.android.tools.layoutlib:layoutlib-api:24.5.0
|
||||
com.android.tools.layoutlib:layoutlib-api:26.0.1
|
||||
com.android.tools.layoutlib:layoutlib-api:26.2.1
|
||||
com.android.tools.layoutlib:layoutlib-api:26.5.3
|
||||
com.android.tools.layoutlib:layoutlib-api:26.5.4
|
||||
com.android.tools.layoutlib:layoutlib-api:27.1.0
|
||||
com.android.tools.layoutlib:layoutlib-api:30.0.4
|
||||
com.android.tools.layoutlib:layoutlib-api:30.2.1
|
||||
@@ -341,7 +341,7 @@ com.android.tools.lint:lint-checks:24.3.1
|
||||
com.android.tools.lint:lint-checks:24.5.0
|
||||
com.android.tools.lint:lint-checks:26.0.1
|
||||
com.android.tools.lint:lint-gradle-api:26.2.1
|
||||
com.android.tools.lint:lint-gradle-api:26.5.3
|
||||
com.android.tools.lint:lint-gradle-api:26.5.4
|
||||
com.android.tools.lint:lint-gradle-api:27.1.0
|
||||
com.android.tools.lint:lint-model:27.1.0
|
||||
com.android.tools.lint:lint-model:30.0.4
|
||||
@@ -382,7 +382,7 @@ com.android.tools:annotations:24.3.1
|
||||
com.android.tools:annotations:24.5.0
|
||||
com.android.tools:annotations:26.0.1
|
||||
com.android.tools:annotations:26.2.1
|
||||
com.android.tools:annotations:26.5.3
|
||||
com.android.tools:annotations:26.5.4
|
||||
com.android.tools:annotations:27.1.0
|
||||
com.android.tools:annotations:30.0.4
|
||||
com.android.tools:annotations:30.2.1
|
||||
@@ -392,7 +392,7 @@ com.android.tools:common:24.3.1
|
||||
com.android.tools:common:24.5.0
|
||||
com.android.tools:common:26.0.1
|
||||
com.android.tools:common:26.2.1
|
||||
com.android.tools:common:26.5.3
|
||||
com.android.tools:common:26.5.4
|
||||
com.android.tools:common:27.1.0
|
||||
com.android.tools:common:30.0.4
|
||||
com.android.tools:common:30.2.1
|
||||
@@ -402,7 +402,7 @@ com.android.tools:dvlib:24.3.1
|
||||
com.android.tools:dvlib:24.5.0
|
||||
com.android.tools:dvlib:26.0.1
|
||||
com.android.tools:dvlib:26.2.1
|
||||
com.android.tools:dvlib:26.5.3
|
||||
com.android.tools:dvlib:26.5.4
|
||||
com.android.tools:dvlib:27.1.0
|
||||
com.android.tools:dvlib:30.0.4
|
||||
com.android.tools:dvlib:30.2.1
|
||||
@@ -410,7 +410,7 @@ com.android.tools:dvlib:30.3.1
|
||||
com.android.tools:dvlib:31.1.1
|
||||
com.android.tools:repository:26.0.1
|
||||
com.android.tools:repository:26.2.1
|
||||
com.android.tools:repository:26.5.3
|
||||
com.android.tools:repository:26.5.4
|
||||
com.android.tools:repository:27.1.0
|
||||
com.android.tools:repository:30.0.4
|
||||
com.android.tools:repository:30.2.1
|
||||
@@ -420,7 +420,7 @@ com.android.tools:sdklib:24.3.1
|
||||
com.android.tools:sdklib:24.5.0
|
||||
com.android.tools:sdklib:26.0.1
|
||||
com.android.tools:sdklib:26.2.1
|
||||
com.android.tools:sdklib:26.5.3
|
||||
com.android.tools:sdklib:26.5.4
|
||||
com.android.tools:sdklib:27.1.0
|
||||
com.android.tools:sdklib:30.0.4
|
||||
com.android.tools:sdklib:30.2.1
|
||||
@@ -430,7 +430,7 @@ com.android.tools:sdk-common:24.3.1
|
||||
com.android.tools:sdk-common:24.5.0
|
||||
com.android.tools:sdk-common:26.0.1
|
||||
com.android.tools:sdk-common:26.2.1
|
||||
com.android.tools:sdk-common:26.5.3
|
||||
com.android.tools:sdk-common:26.5.4
|
||||
com.android.tools:sdk-common:27.1.0
|
||||
com.android.tools:sdk-common:30.0.4
|
||||
com.android.tools:sdk-common:30.2.1
|
||||
@@ -942,5 +942,4 @@ org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.8.0
|
||||
com.android.tools.build:gradle:8.1.1
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.android.tools.lint:lint-gradle:31.1.1
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0
|
||||
com.android.tools.build:gradle:3.5.4
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0
|
||||
+14
-38
@@ -68,7 +68,6 @@ https://dl.google.com/dl/android/maven2/androidx/core/core/1.9.0/core-1.9.0.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/cursoradapter/cursoradapter/1.0.0/cursoradapter-1.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/customview/customview/1.0.0/customview-1.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-common/3.2.1/databinding-common-3.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-common/3.5.3/databinding-common-3.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-common/3.5.4/databinding-common-3.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-common/4.1.0/databinding-common-4.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-common/7.0.4/databinding-common-7.0.4.pom
|
||||
@@ -76,7 +75,6 @@ https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-common/
|
||||
https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-common/7.3.1/databinding-common-7.3.1.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-common/8.1.1/databinding-common-8.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-compiler-common/3.2.1/databinding-compiler-common-3.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-compiler-common/3.5.3/databinding-compiler-common-3.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-compiler-common/3.5.4/databinding-compiler-common-3.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-compiler-common/4.1.0/databinding-compiler-common-4.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-compiler-common/7.0.4/databinding-compiler-common-7.0.4.pom
|
||||
@@ -183,7 +181,6 @@ https://dl.google.com/dl/android/maven2/android/arch/lifecycle/common/1.0.0/comm
|
||||
https://dl.google.com/dl/android/maven2/android/arch/lifecycle/runtime/1.0.0/runtime-1.0.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.0.1/baseLibrary-3.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.2.1/baseLibrary-3.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.5.3/baseLibrary-3.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.5.4/baseLibrary-3.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/4.1.0/baseLibrary-4.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/7.0.4/baseLibrary-7.0.4.pom
|
||||
@@ -217,7 +214,6 @@ https://dl.google.com/dl/android/maven2/com/android/support/support-v4/26.0.2/su
|
||||
https://dl.google.com/dl/android/maven2/com/android/support/support-vector-drawable/26.0.2/support-vector-drawable-26.0.2.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/support/support-vector-drawable/27.0.1/support-vector-drawable-27.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/crash/26.2.1/crash-26.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/crash/26.5.3/crash-26.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/crash/26.5.4/crash-26.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/crash/27.1.0/crash-27.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/crash/30.0.4/crash-30.0.4.pom
|
||||
@@ -226,7 +222,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/cras
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/crash/31.1.1/crash-31.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.0.1/protos-26.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.2.1/protos-26.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.5.3/protos-26.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.5.4/protos-26.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/27.1.0/protos-27.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/30.0.4/protos-30.0.4.pom
|
||||
@@ -235,7 +230,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/prot
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/31.1.1/protos-31.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/26.0.1/shared-26.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/26.2.1/shared-26.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/26.5.3/shared-26.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/26.5.4/shared-26.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/27.1.0/shared-27.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/30.0.4/shared-30.0.4.pom
|
||||
@@ -244,7 +238,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shar
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/31.1.1/shared-31.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/26.0.1/tracker-26.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/26.2.1/tracker-26.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/26.5.3/tracker-26.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/26.5.4/tracker-26.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/27.1.0/tracker-27.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/30.0.4/tracker-30.0.4.pom
|
||||
@@ -253,7 +246,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/trac
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/31.1.1/tracker-31.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.0.1/annotations-26.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.2.1/annotations-26.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.5.3/annotations-26.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.5.4/annotations-26.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/annotations/27.1.0/annotations-27.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/annotations/30.0.4/annotations-30.0.4.pom
|
||||
@@ -278,7 +270,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/build/aaptcompiler/7.3
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/aaptcompiler/8.1.1/aaptcompiler-8.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.0.1/apksig-3.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.2.1/apksig-3.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.5.3/apksig-3.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.5.4/apksig-3.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/4.1.0/apksig-4.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/7.0.4/apksig-7.0.4.pom
|
||||
@@ -286,7 +277,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/7.2.1/apk
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/7.3.1/apksig-7.3.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/8.1.1/apksig-8.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/3.2.1/apkzlib-3.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/3.5.3/apkzlib-3.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/3.5.4/apkzlib-3.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/4.1.0/apkzlib-4.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/7.0.4/apkzlib-7.0.4.pom
|
||||
@@ -295,7 +285,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/7.3.1/ap
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/8.1.1/apkzlib-8.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.0.1/builder-model-3.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.2.1/builder-model-3.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.5.3/builder-model-3.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.5.4/builder-model-3.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/4.1.0/builder-model-4.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/7.0.4/builder-model-7.0.4.pom
|
||||
@@ -304,7 +293,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/7.
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/8.1.1/builder-model-8.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.0.1/builder-test-api-3.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.2.1/builder-test-api-3.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.5.3/builder-test-api-3.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.5.4/builder-test-api-3.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/4.1.0/builder-test-api-4.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/7.0.4/builder-test-api-7.0.4.pom
|
||||
@@ -313,7 +301,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/8.1.1/builder-test-api-8.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.0.1/builder-3.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.2.1/builder-3.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.5.3/builder-3.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.5.4/builder-3.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/4.1.0/builder-4.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/7.0.4/builder-7.0.4.pom
|
||||
@@ -329,7 +316,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/build/bundletool/1.9.0
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/bundletool/1.14.0/bundletool-1.14.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.0.1/gradle-api-3.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.2.1/gradle-api-3.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.5.3/gradle-api-3.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.5.4/gradle-api-3.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/4.1.0/gradle-api-4.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/7.0.4/gradle-api-7.0.4.pom
|
||||
@@ -340,7 +326,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-core/3.0.
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-settings-api/8.1.1/gradle-settings-api-8.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.2.1/gradle-3.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.5.3/gradle-3.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.5.4/gradle-3.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/4.1.0/gradle-4.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/7.0.4/gradle-7.0.4.pom
|
||||
@@ -357,7 +342,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/build/jetifier/jetifie
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/jetifier/jetifier-processor/1.0.0-beta10/jetifier-processor-1.0.0-beta10.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.0.1/manifest-merger-26.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.2.1/manifest-merger-26.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.5.3/manifest-merger-26.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.5.4/manifest-merger-26.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/27.1.0/manifest-merger-27.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/30.0.4/manifest-merger-30.0.4.pom
|
||||
@@ -366,7 +350,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/31.1.1/manifest-merger-31.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/common/26.0.1/common-26.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/common/26.2.1/common-26.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/common/26.5.3/common-26.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/common/26.5.4/common-26.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/common/27.1.0/common-27.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/common/30.0.4/common-30.0.4.pom
|
||||
@@ -375,7 +358,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/common/30.3.1/common-3
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/common/31.1.1/common-31.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.0.1/ddmlib-26.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.2.1/ddmlib-26.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.5.3/ddmlib-26.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.5.4/ddmlib-26.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/27.1.0/ddmlib-27.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/30.0.4/ddmlib-30.0.4.pom
|
||||
@@ -384,7 +366,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/30.3.1/ddm
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/31.1.1/ddmlib-31.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.0.1/dvlib-26.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.2.1/dvlib-26.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.5.3/dvlib-26.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.5.4/dvlib-26.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/27.1.0/dvlib-27.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/30.0.4/dvlib-30.0.4.pom
|
||||
@@ -398,7 +379,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/external/org-jetbrains
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/external/org-jetbrains/uast/31.1.1/uast-31.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.0.1/layoutlib-api-26.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.2.1/layoutlib-api-26.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.5.3/layoutlib-api-26.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.5.4/layoutlib-api-26.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/27.1.0/layoutlib-api-27.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/30.0.4/layoutlib-api-30.0.4.pom
|
||||
@@ -410,7 +390,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-api/31.1.1/l
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-checks/26.0.1/lint-checks-26.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-checks/31.1.1/lint-checks-31.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle-api/26.2.1/lint-gradle-api-26.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle-api/26.5.3/lint-gradle-api-26.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle-api/26.5.4/lint-gradle-api-26.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle-api/27.1.0/lint-gradle-api-27.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle/31.1.1/lint-gradle-31.1.1.pom
|
||||
@@ -427,7 +406,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint/31.1.1/lint-
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/play-sdk-proto/31.1.1/play-sdk-proto-31.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.0.1/repository-26.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.2.1/repository-26.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.5.3/repository-26.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.5.4/repository-26.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/repository/27.1.0/repository-27.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/repository/30.0.4/repository-30.0.4.pom
|
||||
@@ -436,7 +414,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/repository/30.3.1/repo
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/repository/31.1.1/repository-31.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.0.1/sdklib-26.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.2.1/sdklib-26.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.5.3/sdklib-26.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.5.4/sdklib-26.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/27.1.0/sdklib-27.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/30.0.4/sdklib-30.0.4.pom
|
||||
@@ -445,7 +422,6 @@ https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/30.3.1/sdklib-3
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/31.1.1/sdklib-31.1.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.0.1/sdk-common-26.0.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.2.1/sdk-common-26.2.1.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.5.3/sdk-common-26.5.3.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.5.4/sdk-common-26.5.4.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/27.1.0/sdk-common-27.1.0.pom
|
||||
https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/30.0.4/sdk-common-30.0.4.pom
|
||||
@@ -523,9 +499,9 @@ https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.6/commons-cod
|
||||
https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.9/commons-codec-1.9.pom
|
||||
https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.10/commons-codec-1.10.pom
|
||||
https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.pom
|
||||
https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.17.0/commons-codec-1.17.0.pom
|
||||
https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.16.1/commons-codec-1.16.1.pom
|
||||
https://repo.maven.apache.org/maven2/commons-io/commons-io/2.4/commons-io-2.4.pom
|
||||
https://repo.maven.apache.org/maven2/commons-io/commons-io/2.16.1/commons-io-2.16.1.pom
|
||||
https://repo.maven.apache.org/maven2/commons-io/commons-io/2.16.0/commons-io-2.16.0.pom
|
||||
https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom
|
||||
https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.pom
|
||||
https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.3.1/commons-logging-1.3.1.pom
|
||||
@@ -711,7 +687,7 @@ https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotatio
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.9.0/error_prone_annotations-2.9.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.10.0/error_prone_annotations-2.10.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.11.0/error_prone_annotations-2.11.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.27.1/error_prone_annotations-2.27.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.26.1/error_prone_annotations-2.26.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.0.18/error_prone_parent-2.0.18.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.2.0/error_prone_parent-2.2.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.3.1/error_prone_parent-2.3.1.pom
|
||||
@@ -723,7 +699,7 @@ https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.9.0/error_prone_parent-2.9.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.10.0/error_prone_parent-2.10.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.11.0/error_prone_parent-2.11.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.27.1/error_prone_parent-2.27.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.26.1/error_prone_parent-2.26.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/flatbuffers/flatbuffers-java/1.12.0/flatbuffers-java-1.12.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/google/1/google-1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.pom
|
||||
@@ -768,7 +744,7 @@ https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/3.13.0/pro
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/3.17.2/protobuf-bom-3.17.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/3.19.2/protobuf-bom-3.19.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/3.19.3/protobuf-bom-3.19.3.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/4.27.0-RC1/protobuf-bom-4.27.0-RC1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/4.26.1/protobuf-bom-4.26.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-javalite/3.17.2/protobuf-javalite-3.17.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-javalite/3.19.2/protobuf-javalite-3.19.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java-util/3.4.0/protobuf-java-util-3.4.0.pom
|
||||
@@ -785,7 +761,7 @@ https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.13.0/pr
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.17.2/protobuf-java-3.17.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.19.2/protobuf-java-3.19.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.19.3/protobuf-java-3.19.3.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/4.27.0-RC1/protobuf-java-4.27.0-RC1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/4.26.1/protobuf-java-4.26.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-lite/3.0.1/protobuf-lite-3.0.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.0.0/protobuf-parent-3.0.0.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.4.0/protobuf-parent-3.4.0.pom
|
||||
@@ -796,7 +772,7 @@ https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.13.0/
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.17.2/protobuf-parent-3.17.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.19.2/protobuf-parent-3.19.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.19.3/protobuf-parent-3.19.3.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/4.27.0-RC1/protobuf-parent-4.27.0-RC1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/4.26.1/protobuf-parent-4.26.1.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/truth/truth-parent/1.4.2/truth-parent-1.4.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/google/truth/truth/1.4.2/truth-1.4.2.pom
|
||||
https://repo.maven.apache.org/maven2/com/ibm/icu/icu4j/53.1/icu4j-53.1.pom
|
||||
@@ -1034,8 +1010,8 @@ https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/39/common
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/42/commons-parent-42.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/48/commons-parent-48.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/52/commons-parent-52.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/66/commons-parent-66.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/67/commons-parent-67.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/69/commons-parent-69.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.1.1/httpclient-4.1.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.2.6/httpclient-4.2.6.pom
|
||||
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.5.2/httpclient-4.5.2.pom
|
||||
@@ -1090,7 +1066,7 @@ https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/2.8.1/che
|
||||
https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/2.11.1/checker-qual-2.11.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.5.0/checker-qual-3.5.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.43.0/checker-qual-3.43.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.42.0/checker-qual-3.42.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/codehaus-parent/4/codehaus-parent-4.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-xml/3.0.9/groovy-xml-3.0.9.pom
|
||||
https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-xml/3.0.10/groovy-xml-3.0.10.pom
|
||||
@@ -1149,9 +1125,9 @@ https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/2.2/hamcrest-cor
|
||||
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-parent/1.3/hamcrest-parent-1.3.pom
|
||||
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest/2.2/hamcrest-2.2.pom
|
||||
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.build/0.7.4.201502262128/org.jacoco.build-0.7.4.201502262128.pom
|
||||
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.build/0.8.12/org.jacoco.build-0.8.12.pom
|
||||
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.build/0.8.11/org.jacoco.build-0.8.11.pom
|
||||
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.core/0.7.4.201502262128/org.jacoco.core-0.7.4.201502262128.pom
|
||||
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.core/0.8.12/org.jacoco.core-0.8.12.pom
|
||||
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.core/0.8.11/org.jacoco.core-0.8.11.pom
|
||||
https://repo.maven.apache.org/maven2/org/jacoco/org.jacoco.report/0.7.4.201502262128/org.jacoco.report-0.7.4.201502262128.pom
|
||||
https://repo.maven.apache.org/maven2/org/jdom/jdom2/2.0.6/jdom2-2.0.6.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.pom
|
||||
@@ -1247,7 +1223,7 @@ https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.6.10/
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.6.20/kotlin-reflect-1.6.20.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.7.22/kotlin-reflect-1.7.22.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.8.20-RC2/kotlin-reflect-1.8.20-RC2.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/2.0.0-RC2/kotlin-reflect-2.0.0-RC2.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/2.0.0-Beta5/kotlin-reflect-2.0.0-Beta5.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-common/1.6.20/kotlin-scripting-common-1.6.20.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-common/1.7.22/kotlin-scripting-common-1.7.22.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-common/1.8.0/kotlin-scripting-common-1.8.0.pom
|
||||
@@ -1349,7 +1325,7 @@ https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.8.20-R
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.8.21/kotlin-stdlib-1.8.21.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.9.0/kotlin-stdlib-1.9.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.9.21/kotlin-stdlib-1.9.21.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/2.0.0-RC2/kotlin-stdlib-2.0.0-RC2.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/2.0.0-Beta5/kotlin-stdlib-2.0.0-Beta5.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-tooling-core/1.7.22/kotlin-tooling-core-1.7.22.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-tooling-core/1.8.0/kotlin-tooling-core-1.8.0.pom
|
||||
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-tooling-core/1.9.0/kotlin-tooling-core-1.9.0.pom
|
||||
@@ -1368,7 +1344,7 @@ https://repo.maven.apache.org/maven2/org/jetbrains/trove4j/trove4j/20160824/trov
|
||||
https://repo.maven.apache.org/maven2/org/json/json/20180813/json-20180813.pom
|
||||
https://repo.maven.apache.org/maven2/org/json/json/20240303/json-20240303.pom
|
||||
https://repo.maven.apache.org/maven2/org/jsoup/jsoup/1.13.1/jsoup-1.13.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.11.0-M1/junit-bom-5.11.0-M1.pom
|
||||
https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.10.2/junit-bom-5.10.2.pom
|
||||
https://repo.maven.apache.org/maven2/org/jvnet/staxex/stax-ex/1.7.7/stax-ex-1.7.7.pom
|
||||
https://repo.maven.apache.org/maven2/org/jvnet/staxex/stax-ex/1.8.1/stax-ex-1.8.1.pom
|
||||
https://repo.maven.apache.org/maven2/org/jvnet/staxex/stax-ex/1.8/stax-ex-1.8.pom
|
||||
|
||||
@@ -54,8 +54,7 @@ org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.8.0
|
||||
com.android.tools.build:gradle:8.1.1
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.android.tools.lint:lint-gradle:31.1.1
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0
|
||||
com.android.tools.build:gradle:3.5.4' \
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0' \
|
||||
>> "${DEPS_LIST}"
|
||||
}
|
||||
|
||||
|
||||
@@ -16,13 +16,13 @@ react-native-dialogs
|
||||
react-native-fast-image
|
||||
react-native-fs
|
||||
react-native-gesture-handler
|
||||
react-native-get-random-values
|
||||
react-native-hole-view
|
||||
react-native-image-crop-picker
|
||||
react-native-image-resizer
|
||||
react-native-keychain
|
||||
react-native-linear-gradient
|
||||
react-native-lottie-splash-screen
|
||||
react-native-mail
|
||||
react-native-navigation
|
||||
react-native-nfc-manager
|
||||
react-native-orientation-locker
|
||||
@@ -36,4 +36,3 @@ react-native-status-keycard
|
||||
react-native-svg
|
||||
react-native-transparent-video
|
||||
react-native-webview
|
||||
walletconnect_react-native-compat
|
||||
|
||||
@@ -7,8 +7,6 @@ let
|
||||
manifestLock = "ios/Pods/Manifest.lock";
|
||||
in mkShell {
|
||||
buildInputs = [ cocoapods ];
|
||||
# https://github.com/reactwg/react-native-new-architecture/blob/main/docs/enable-apps.md#enable-new-architecture-for-ios
|
||||
RCT_NEW_ARCH_ENABLED = 1;
|
||||
shellHook = ''
|
||||
pushd "$STATUS_MOBILE_HOME" > /dev/null
|
||||
{
|
||||
|
||||
+6
-5
@@ -56,13 +56,14 @@ in {
|
||||
ruby = super.ruby_3_1;
|
||||
yarn = super.yarn.override { nodejs = super.nodejs-18_x; };
|
||||
openjdk = super.openjdk11_headless;
|
||||
xcodeWrapper = callPackage ./pkgs/xcodeenv/compose-xcodewrapper.nix { } {
|
||||
versions = ["15.1"];
|
||||
xcodeWrapper = super.xcodeenv.composeXcodeWrapper {
|
||||
version = "15.0";
|
||||
allowHigher = true;
|
||||
};
|
||||
go = super.go_1_20;
|
||||
go = super.go_1_19;
|
||||
clang = super.clang_15;
|
||||
buildGoPackage = super.buildGo120Package;
|
||||
buildGoModule = super.buildGo120Module;
|
||||
buildGoPackage = super.buildGo119Package;
|
||||
buildGoModule = super.buildGo119Module;
|
||||
gomobile = (super.gomobile.overrideAttrs (old: {
|
||||
patches = [
|
||||
(self.fetchurl { # https://github.com/golang/mobile/pull/84
|
||||
|
||||
@@ -16,7 +16,6 @@ androidenv.composeAndroidPackages {
|
||||
platformToolsVersion = "33.0.3";
|
||||
buildToolsVersions = [ "34.0.0" ];
|
||||
platformVersions = [ "34" ];
|
||||
# This version must match cmake version inside android/app/build.gradle
|
||||
cmakeVersions = [ "3.22.1" ];
|
||||
ndkVersion = "25.2.9519653";
|
||||
includeNDK = true;
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
{ stdenv, lib, writeShellScriptBin }:
|
||||
{ versions ? [ "15.1" ]
|
||||
, xcodeBaseDir ? "/Applications/Xcode.app" }:
|
||||
|
||||
assert stdenv.isDarwin;
|
||||
|
||||
let
|
||||
xcodebuildPath = "${xcodeBaseDir}/Contents/Developer/usr/bin/xcodebuild";
|
||||
|
||||
xcodebuildWrapper = writeShellScriptBin "xcodebuild" ''
|
||||
currentVer="$(${xcodebuildPath} -version | awk 'NR==1{print $2}')"
|
||||
wrapperVers=(${lib.concatStringsSep " " versions})
|
||||
|
||||
for ver in "''${wrapperVers[@]}"; do
|
||||
if [[ "$currentVer" == "$ver" ]]; then
|
||||
# here exec replaces the shell without creating a new process
|
||||
# https://www.gnu.org/software/bash/manual/bash.html#index-exec
|
||||
exec "${xcodebuildPath}" "$@"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "The installed Xcode version ($currentVer) does not match any of the allowed versions: ${lib.concatStringsSep ", " versions}"
|
||||
echo "Please update your local Xcode installation to match one of the allowed versions"
|
||||
exit 1
|
||||
'';
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "xcode-wrapper-plus";
|
||||
version = lib.concatStringsSep "," versions;
|
||||
# Fails in sandbox. Use `--option sandbox relaxed` or `--option sandbox false`.
|
||||
__noChroot = true;
|
||||
buildCommand = ''
|
||||
mkdir -p $out/bin
|
||||
cd $out/bin
|
||||
ln -s "${xcodebuildWrapper}/bin/xcode-select"
|
||||
ln -s /usr/bin/security
|
||||
ln -s /usr/bin/codesign
|
||||
ln -s /usr/bin/xcrun
|
||||
ln -s /usr/bin/plutil
|
||||
ln -s /usr/bin/clang
|
||||
ln -s /usr/bin/lipo
|
||||
ln -s /usr/bin/file
|
||||
ln -s /usr/bin/rev
|
||||
ln -s "${xcodebuildWrapper}/bin/xcodebuild"
|
||||
ln -s "${xcodeBaseDir}/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator"
|
||||
|
||||
cd ..
|
||||
ln -s "${xcodeBaseDir}/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs"
|
||||
'';
|
||||
}
|
||||
@@ -11,12 +11,6 @@ buildGoPackage {
|
||||
|
||||
phases = ["unpackPhase" "configurePhase" "buildPhase"];
|
||||
|
||||
# https://pkg.go.dev/net#hdr-Name_Resolution
|
||||
# https://github.com/status-im/status-mobile/issues/19736
|
||||
# https://github.com/status-im/status-mobile/issues/19581
|
||||
# TODO: try removing when go is upgraded to 1.22
|
||||
GODEBUG = "netdns=cgo+2";
|
||||
|
||||
preBuild = ''
|
||||
pushd go/src/$goPackagePath
|
||||
go run cmd/library/*.go > $NIX_BUILD_TOP/main.go
|
||||
|
||||
@@ -38,15 +38,10 @@ in buildGoPackage {
|
||||
# Ensure XCode is present for iOS, instead of failing at the end of the build.
|
||||
preConfigure = optionalString isIOS enforceXCodeAvailable;
|
||||
|
||||
# https://pkg.go.dev/net#hdr-Name_Resolution
|
||||
# https://github.com/status-im/status-mobile/issues/19736
|
||||
# https://github.com/status-im/status-mobile/issues/19581
|
||||
# TODO: try removing when go is upgraded to 1.22
|
||||
GODEBUG = "netdns=cgo+2";
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
echo -e "\nBuilding $pname for: ${concatStringsSep "," targets}"
|
||||
|
||||
gomobile bind \
|
||||
${concatStringsSep " " goBuildFlags} \
|
||||
-ldflags="$ldflags" \
|
||||
|
||||
+5
-10
@@ -8,27 +8,21 @@
|
||||
"preinstall": "scripts/check-nix-shell.sh && make status-go-library"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ethersproject/shims": "^5.7.0",
|
||||
"@json-rpc-tools/utils": "^1.7.6",
|
||||
"@react-native-async-storage/async-storage": "1.19.3",
|
||||
"@react-native-camera-roll/camera-roll": "7.5.2",
|
||||
"@react-native-camera-roll/camera-roll": "git+https://github.com/status-im/react-native-camera-roll.git#refs/tags/v5.1.1.1",
|
||||
"@react-native-clipboard/clipboard": "1.13.2",
|
||||
"@react-native-community/audio-toolkit": "git+https://github.com/tbenr/react-native-audio-toolkit.git#refs/tags/v2.0.3-status-v6",
|
||||
"@react-native-community/blur": "4.4.0",
|
||||
"@react-native-community/blur": "git+https://github.com/status-im/react-native-blur.git#refs/tags/v4.3.3-status",
|
||||
"@react-native-community/hooks": "^3.0.0",
|
||||
"@react-native-community/masked-view": "^0.1.6",
|
||||
"@react-native-community/netinfo": "^4.4.0",
|
||||
"@react-native-community/push-notification-ios": "^1.4.1",
|
||||
"@react-native-community/slider": "^3.0.0",
|
||||
"@walletconnect/react-native-compat": "^2.12.2",
|
||||
"@walletconnect/web3wallet": "^1.11.2",
|
||||
"base-64": "^1.0.0",
|
||||
"bignumber.js": "git+https://github.com/status-im/bignumber.js.git#refs/tags/v4.0.2-status",
|
||||
"chance": "^1.1.0",
|
||||
"emojilib": "^2.4.0",
|
||||
"eth-phishing-detect": "^1.2.0",
|
||||
"ethers": "5.7.2",
|
||||
"fast-text-encoding": "^1.0.6",
|
||||
"form-data": "^4.0.0",
|
||||
"functional-red-black-tree": "^1.0.1",
|
||||
"i18n-js": "^3.3.0",
|
||||
@@ -47,7 +41,6 @@
|
||||
"react-native-fast-image": "^8.5.11",
|
||||
"react-native-fs": "^2.14.1",
|
||||
"react-native-gesture-handler": "2.14.1",
|
||||
"react-native-get-random-values": "^1.11.0",
|
||||
"react-native-gifted-charts": "^1.3.2",
|
||||
"react-native-hole-view": "^3.0.0-alpha4",
|
||||
"react-native-image-crop-picker": "0.40.0",
|
||||
@@ -55,9 +48,10 @@
|
||||
"react-native-keychain": "8.1.2",
|
||||
"react-native-linear-gradient": "^2.8.0",
|
||||
"react-native-lottie-splash-screen": "^1.0.1",
|
||||
"react-native-mail": "git+https://github.com/status-im/react-native-mail.git#refs/tags/v6.1.2-status",
|
||||
"react-native-navigation": "7.38.3",
|
||||
"react-native-orientation-locker": "^1.5.0",
|
||||
"react-native-permissions": "4.1.5",
|
||||
"react-native-permissions": "3.8.0",
|
||||
"react-native-reanimated": "3.6.1",
|
||||
"react-native-redash": "18.1.0",
|
||||
"react-native-shadow-2": "^7.0.8",
|
||||
@@ -100,6 +94,7 @@
|
||||
"prettier": "^2.8.8",
|
||||
"process": "0.11.10",
|
||||
"react-test-renderer": "18.1.0",
|
||||
"rn-snoopy": "git+https://github.com/status-im/rn-snoopy.git#refs/tags/v2.0.2-status",
|
||||
"shadow-cljs": "2.26.2"
|
||||
},
|
||||
"binary": {
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
--- /tmp/tmp-status-mobile-851dbcb56/tmp.gcyqIAUEIA/build.gradle 2024-04-16 18:11:12.481819000 +0200
|
||||
+++ ./node_modules/@react-native-community/blur/android/build.gradle 2024-04-16 18:11:18.889991702 +0200
|
||||
@@ -5,7 +5,7 @@
|
||||
}
|
||||
|
||||
dependencies {
|
||||
- classpath 'com.android.tools.build:gradle:3.5.3'
|
||||
+ classpath 'com.android.tools.build:gradle:3.5.4'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
--- /tmp/tmp-status-mobile-61974dae4/tmp.6k5ZPUa0Hp/BlurView.ios.tsx 2024-04-16 17:07:33.229847000 +0200
|
||||
+++ ./node_modules/@react-native-community/blur/src/components/BlurView.ios.tsx 2024-04-16 17:07:58.540617624 +0200
|
||||
@@ -6,6 +6,7 @@
|
||||
| 'dark'
|
||||
| 'light'
|
||||
| 'xlight'
|
||||
+ | 'transparent'
|
||||
| 'prominent'
|
||||
| 'regular'
|
||||
| 'extraDark'
|
||||
@@ -1,57 +0,0 @@
|
||||
--- /tmp/tmp-status-mobile-851dbcb56/tmp.beqWjtcNwi/BlurView.mm 2024-04-16 17:55:00.688450000 +0200
|
||||
+++ ./node_modules/@react-native-community/blur/ios/BlurView.mm 2024-04-16 17:56:17.772952042 +0200
|
||||
@@ -73,7 +73,7 @@
|
||||
{
|
||||
const auto &oldViewProps = *std::static_pointer_cast<const BlurViewProps>(_props);
|
||||
const auto &newViewProps = *std::static_pointer_cast<const BlurViewProps>(props);
|
||||
-
|
||||
+
|
||||
if (oldViewProps.blurAmount != newViewProps.blurAmount) {
|
||||
NSNumber *blurAmount = [NSNumber numberWithInt:newViewProps.blurAmount];
|
||||
[self setBlurAmount:blurAmount];
|
||||
@@ -83,12 +83,12 @@
|
||||
NSString *blurType = [NSString stringWithUTF8String:toString(newViewProps.blurType).c_str()];
|
||||
[self setBlurType:blurType];
|
||||
}
|
||||
-
|
||||
+
|
||||
if (oldViewProps.reducedTransparencyFallbackColor != newViewProps.reducedTransparencyFallbackColor) {
|
||||
UIColor *color = RCTUIColorFromSharedColor(newViewProps.reducedTransparencyFallbackColor);
|
||||
[self setReducedTransparencyFallbackColor:color];
|
||||
}
|
||||
-
|
||||
+
|
||||
[super updateProps:props oldProps:oldProps];
|
||||
}
|
||||
#endif // RCT_NEW_ARCH_ENABLED
|
||||
@@ -131,6 +131,7 @@
|
||||
|
||||
- (UIBlurEffectStyle)blurEffectStyle
|
||||
{
|
||||
+ if ([self.blurType isEqual: @"transparent"]) return UIBlurEffectStyleDark;
|
||||
if ([self.blurType isEqual: @"xlight"]) return UIBlurEffectStyleExtraLight;
|
||||
if ([self.blurType isEqual: @"light"]) return UIBlurEffectStyleLight;
|
||||
if ([self.blurType isEqual: @"dark"]) return UIBlurEffectStyleDark;
|
||||
@@ -160,7 +161,7 @@
|
||||
if ([self.blurType isEqual: @"thinMaterialLight"]) return UIBlurEffectStyleSystemThinMaterialLight;
|
||||
if ([self.blurType isEqual: @"ultraThinMaterialLight"]) return UIBlurEffectStyleSystemUltraThinMaterialLight;
|
||||
#endif
|
||||
-
|
||||
+
|
||||
#if TARGET_OS_TV
|
||||
if ([self.blurType isEqual: @"regular"]) return UIBlurEffectStyleRegular;
|
||||
if ([self.blurType isEqual: @"prominent"]) return UIBlurEffectStyleProminent;
|
||||
@@ -183,6 +184,13 @@
|
||||
UIBlurEffectStyle style = [self blurEffectStyle];
|
||||
self.blurEffect = [BlurEffectWithAmount effectWithStyle:style andBlurAmount:self.blurAmount];
|
||||
self.blurEffectView.effect = self.blurEffect;
|
||||
+
|
||||
+ if ([self.blurType isEqual: @"transparent"]) {
|
||||
+ for (UIView *subview in self.blurEffectView.subviews) {
|
||||
+ subview.backgroundColor = [UIColor clearColor];
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
}
|
||||
|
||||
- (void)updateFallbackView
|
||||
@@ -1,10 +0,0 @@
|
||||
--- /tmp/tmp-status-mobile-61974dae4/tmp.NHLSFZG6LG/BlurViewNativeComponent.ts 2024-04-16 17:08:42.755929000 +0200
|
||||
+++ ./node_modules/@react-native-community/blur/src/fabric/BlurViewNativeComponent.ts 2024-04-16 17:08:57.634037113 +0200
|
||||
@@ -10,6 +10,7 @@
|
||||
| 'dark'
|
||||
| 'light'
|
||||
| 'xlight'
|
||||
+ | 'transparent'
|
||||
| 'prominent'
|
||||
| 'regular'
|
||||
| 'extraDark'
|
||||
@@ -1,22 +0,0 @@
|
||||
--- /tmp/tmp-status-mobile-3907e6b2e/tmp.re8kHerusA/CameraRoll.ts 2024-04-16 15:17:12.942432000 +0200
|
||||
+++ ./node_modules/@react-native-camera-roll/camera-roll/src/CameraRoll.ts 2024-04-16 15:17:42.455250986 +0200
|
||||
@@ -239,6 +239,19 @@
|
||||
}
|
||||
|
||||
/**
|
||||
+ * Returns total iOS image count
|
||||
+ */
|
||||
+ static getPhotosCountiOS(): Promise<number> {
|
||||
+ return RNCCameraRoll.getPhotosCountiOS('');
|
||||
+ }
|
||||
+ /**
|
||||
+ * Returns favorites and their count iOS
|
||||
+ */
|
||||
+ static getFavoritesiOS(): Promise<Album> {
|
||||
+ return RNCCameraRoll.getFavoritesiOS('');
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
* Saves the photo or video to the camera roll or photo library, and returns the URI of the newly created asset.
|
||||
*
|
||||
* @deprecated `save(...)` is deprecated - use `saveAsset(...)` instead.
|
||||
@@ -1,37 +0,0 @@
|
||||
--- /tmp/tmp-status-mobile-ca53bf738/tmp.QcO69SAqs7/CameraRollModule.java 2024-04-19 14:02:42.746932000 +0200
|
||||
+++ ./node_modules/@react-native-camera-roll/camera-roll/android/src/main/java/com/reactnativecommunity/cameraroll/CameraRollModule.java 2024-04-19 14:03:51.776866113 +0200
|
||||
@@ -677,7 +677,7 @@
|
||||
|
||||
WritableArray subTypes = Arguments.createArray();
|
||||
node.putArray("subTypes", subTypes);
|
||||
-
|
||||
+
|
||||
if (includeSourceType) {
|
||||
node.putString("sourceType", "UserLibrary");
|
||||
} else {
|
||||
@@ -685,7 +685,7 @@
|
||||
}
|
||||
|
||||
WritableArray group_name = Arguments.createArray();
|
||||
-
|
||||
+
|
||||
if (includeAlbums) {
|
||||
group_name.pushString(media.getString(groupNameIndex));
|
||||
}
|
||||
@@ -1089,6 +1089,16 @@
|
||||
promise.reject("CameraRoll:getPhotoThumbnail", "getPhotoThumbnail is not supported on Android");
|
||||
}
|
||||
|
||||
+ @ReactMethod
|
||||
+ public void getPhotosCountiOS(String arg, Promise promise) {
|
||||
+ promise.reject("CameraRoll:getPhotosCountiOS", "getPhotosCountiOS is not supported on Android");
|
||||
+ }
|
||||
+
|
||||
+ @ReactMethod
|
||||
+ public void getFavoritesiOS(String arg, Promise promise) {
|
||||
+ promise.reject("CameraRoll:getFavoritesiOS", "getFavoritesiOS is not supported on Android");
|
||||
+ }
|
||||
+
|
||||
public void addListener(String eventName) {}
|
||||
public void removeListeners(double count) {}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
--- /tmp/tmp-status-mobile-3907e6b2e/tmp.juxTO1BeCM/NativeCameraRollModule.ts 2024-04-16 15:21:28.379979000 +0200
|
||||
+++ ./node_modules/@react-native-camera-roll/camera-roll/src/NativeCameraRollModule.ts 2024-04-16 15:21:40.490391291 +0200
|
||||
@@ -81,6 +81,8 @@
|
||||
getPhotos(params: Object): Promise<PhotoIdentifiersPage>;
|
||||
getAlbums(params: Object): Promise<Album[]>;
|
||||
deletePhotos(photoUris: Array<string>): Promise<void>;
|
||||
+ getPhotosCountiOS(arg: string): Promise<number>;
|
||||
+ getFavoritesiOS(arg: string): Promise<Album>;
|
||||
getPhotoByInternalID(
|
||||
internalID: string,
|
||||
options: Object,
|
||||
@@ -1,16 +0,0 @@
|
||||
--- /tmp/tmp-status-mobile-ca53bf738/tmp.Ay8Xen8Mmn/NativeCameraRollModuleSpec.java 2024-04-19 12:10:05.789750000 +0200
|
||||
+++ ./node_modules/@react-native-camera-roll/camera-roll/android/src/paper/java/com/reactnativecommunity/cameraroll/NativeCameraRollModuleSpec.java 2024-04-19 12:12:27.231493426 +0200
|
||||
@@ -50,4 +50,13 @@
|
||||
@ReactMethod
|
||||
@DoNotStrip
|
||||
public abstract void getPhotoThumbnail(String internalID, ReadableMap options, Promise promise);
|
||||
+
|
||||
+ @ReactMethod
|
||||
+ @DoNotStrip
|
||||
+ public abstract void getPhotosCountiOS(String arg, Promise promise);
|
||||
+
|
||||
+ @ReactMethod
|
||||
+ @DoNotStrip
|
||||
+ public abstract void getFavoritesiOS(String arg, Promise promise);
|
||||
+
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
--- /tmp/tmp-status-mobile-3907e6b2e/tmp.O0mkyjqnsy/RNCCameraRoll.mm 2024-04-16 15:26:23.070258000 +0200
|
||||
+++ ./node_modules/@react-native-camera-roll/camera-roll/ios/RNCCameraRoll.mm 2024-04-16 15:26:32.664996066 +0200
|
||||
@@ -955,6 +955,53 @@
|
||||
return [albumTitles copy];
|
||||
}
|
||||
|
||||
+RCT_EXPORT_METHOD(getPhotosCountiOS:(NSString *)blank
|
||||
+ resolve:(RCTPromiseResolveBlock)resolve
|
||||
+ reject:(RCTPromiseRejectBlock)reject)
|
||||
+{
|
||||
+ __block NSInteger intTotalCount=0;
|
||||
+ PHFetchOptions *allPhotosOptions = [PHFetchOptions new];
|
||||
+ allPhotosOptions.predicate = [NSPredicate predicateWithFormat:@"mediaType == %d ",PHAssetMediaTypeImage];
|
||||
+ PHFetchResult *allPhotosResult = [PHAsset fetchAssetsWithOptions:allPhotosOptions];
|
||||
+ intTotalCount+=allPhotosResult.count;
|
||||
+
|
||||
+ resolve(@(intTotalCount));
|
||||
+}
|
||||
+
|
||||
+RCT_EXPORT_METHOD(getFavoritesiOS:(NSString *)blank
|
||||
+ resolve:(RCTPromiseResolveBlock)resolve
|
||||
+ reject:(RCTPromiseRejectBlock)reject)
|
||||
+{
|
||||
+ __block NSInteger intTotalCount=0;
|
||||
+ PHFetchOptions *fetchOptions = [PHFetchOptions new];
|
||||
+ NSString *format = @"(favorite == true)";
|
||||
+ fetchOptions.predicate = [NSPredicate predicateWithFormat:format];
|
||||
+ PHFetchResult<PHAsset *> *const assetsFetchResult = [PHAsset fetchAssetsWithOptions:fetchOptions];
|
||||
+ PHAsset *imageAsset = [assetsFetchResult firstObject];
|
||||
+ NSMutableArray * result = [NSMutableArray new];
|
||||
+
|
||||
+ for (PHAsset* asset in assetsFetchResult) {
|
||||
+ NSArray *resources = [PHAssetResource assetResourcesForAsset:asset ];
|
||||
+ if ([resources count] < 1) continue;
|
||||
+ NSString *orgFilename = ((PHAssetResource*)resources[0]).originalFilename;
|
||||
+ NSString *uit = ((PHAssetResource*)resources[0]).uniformTypeIdentifier;
|
||||
+ NSString *mimeType = (NSString *)CFBridgingRelease(UTTypeCopyPreferredTagWithClass((__bridge CFStringRef _Nonnull)(uit), kUTTagClassMIMEType));
|
||||
+ CFStringRef extension = UTTypeCopyPreferredTagWithClass((__bridge CFStringRef _Nonnull)(uit), kUTTagClassFilenameExtension);
|
||||
+ [result addObject:@{
|
||||
+ @"width": @([asset pixelWidth]),
|
||||
+ @"height": @([asset pixelHeight]),
|
||||
+ @"filename": orgFilename ?: @"",
|
||||
+ @"mimeType": mimeType ?: @"",
|
||||
+ @"id": [asset localIdentifier],
|
||||
+ @"creationDate": [asset creationDate],
|
||||
+ @"uri": [NSString stringWithFormat:@"ph://%@", [asset localIdentifier]],
|
||||
+ @"duration": @([asset duration])
|
||||
+ }];
|
||||
+ }
|
||||
+ [result addObject:@{@"count": @(assetsFetchResult.count)}];
|
||||
+ resolve(result);
|
||||
+}
|
||||
+
|
||||
static void checkPhotoLibraryConfig()
|
||||
{
|
||||
#if RCT_DEV
|
||||
@@ -1,10 +0,0 @@
|
||||
--- /tmp/tmp-status-mobile-61974dae4/tmp.zy6uXqO4gW/VibrancyViewNativeComponent.ts 2024-04-16 17:09:23.772623000 +0200
|
||||
+++ ./node_modules/@react-native-community/blur/src/fabric/VibrancyViewNativeComponent.ts 2024-04-16 17:09:39.033737349 +0200
|
||||
@@ -10,6 +10,7 @@
|
||||
| 'dark'
|
||||
| 'light'
|
||||
| 'xlight'
|
||||
+ | 'transparent'
|
||||
| 'prominent'
|
||||
| 'regular'
|
||||
| 'extraDark'
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 707 B |
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 40 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 40 KiB |
@@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
INVALID_CHANGES=$(grep -E -r '(/atom|re-frame/dispatch|rf/dispatch|re-frame/subscribe|rf/subscribe|rf/sub|<sub|>evt|status-im\.)' --include '*.cljs' --include '*.clj' './src/quo')
|
||||
INVALID_CHANGES=$(grep -E -r '(re-frame/dispatch|rf/dispatch|re-frame/subscribe|rf/subscribe|rf/sub|<sub|>evt|status-im\.)' --include '*.cljs' --include '*.clj' './src/quo')
|
||||
|
||||
if test -n "$INVALID_CHANGES"; then
|
||||
echo "WARNING: re-frame, status-im, reagent atoms are not allowed in quo components"
|
||||
echo "WARNING: re-frame, status-im are not allowed in quo components"
|
||||
echo ''
|
||||
echo "$INVALID_CHANGES"
|
||||
exit 1
|
||||
|
||||
+1
-2
@@ -148,8 +148,7 @@
|
||||
status-im.config/ALCHEMY_ARBITRUM_SEPOLIA_TOKEN #shadow/env "ALCHEMY_ARBITRUM_SEPOLIA_TOKEN"
|
||||
status-im.config/ALCHEMY_OPTIMISM_MAINNET_TOKEN #shadow/env "ALCHEMY_OPTIMISM_MAINNET_TOKEN"
|
||||
status-im.config/ALCHEMY_OPTIMISM_GOERLI_TOKEN #shadow/env "ALCHEMY_OPTIMISM_GOERLI_TOKEN"
|
||||
status-im.config/ALCHEMY_OPTIMISM_SEPOLIA_TOKEN #shadow/env "ALCHEMY_OPTIMISM_SEPOLIA_TOKEN"
|
||||
status-im.config/WALLET_CONNECT_PROJECT_ID #shadow/env "WALLET_CONNECT_PROJECT_ID"}
|
||||
status-im.config/ALCHEMY_OPTIMISM_SEPOLIA_TOKEN #shadow/env "ALCHEMY_OPTIMISM_SEPOLIA_TOKEN"}
|
||||
:compiler-options
|
||||
{;; needed because we override require and it
|
||||
;; messes with source-map which reports callstack
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
(ns legacy.status-im.bottom-sheet.events
|
||||
(:require
|
||||
[utils.re-frame :as rf]))
|
||||
|
||||
(rf/defn show-bottom-sheet-old
|
||||
[{:keys [db]} {:keys [view options]}]
|
||||
{:dismiss-keyboard nil
|
||||
:show-bottom-sheet-overlay-old nil
|
||||
:db (assoc db
|
||||
:bottom-sheet/show? true
|
||||
:bottom-sheet/view view
|
||||
:bottom-sheet/options options)})
|
||||
|
||||
(rf/defn show-bottom-sheet-event
|
||||
{:events [:bottom-sheet/show-sheet-old]}
|
||||
[cofx view options]
|
||||
(show-bottom-sheet-old
|
||||
cofx
|
||||
{:view view
|
||||
:options options}))
|
||||
|
||||
(rf/defn hide-bottom-sheet-old
|
||||
{:events [:bottom-sheet/hide-old]}
|
||||
[{:keys [db]}]
|
||||
{:db (assoc db :bottom-sheet/show? false)
|
||||
:dismiss-bottom-sheet-overlay-old nil})
|
||||
|
||||
(rf/defn hide-bottom-sheet-navigation-overlay
|
||||
{:events [:bottom-sheet/hide-old-navigation-overlay]}
|
||||
[{}]
|
||||
{:dismiss-bottom-sheet-overlay-old nil})
|
||||
@@ -0,0 +1,38 @@
|
||||
(ns legacy.status-im.bottom-sheet.sheets
|
||||
(:require
|
||||
[legacy.status-im.bottom-sheet.view :as bottom-sheet]
|
||||
[legacy.status-im.ui.screens.about-app.views :as about-app]
|
||||
[legacy.status-im.ui.screens.mobile-network-settings.view :as mobile-network-settings]
|
||||
[quo.theme :as theme]
|
||||
[react-native.core :as rn]
|
||||
[utils.re-frame :as rf]))
|
||||
|
||||
(defn bottom-sheet
|
||||
[]
|
||||
(let [dismiss-bottom-sheet-callback (fn []
|
||||
(rf/dispatch [:bottom-sheet/hide-old])
|
||||
true)
|
||||
{:keys [show? view options]} (rf/sub [:bottom-sheet-old])
|
||||
{:keys [content]
|
||||
:as opts}
|
||||
(cond-> {:visible? show?}
|
||||
(map? view)
|
||||
(merge view)
|
||||
|
||||
(= view :mobile-network-offline)
|
||||
(merge mobile-network-settings/offline-sheet)
|
||||
|
||||
(= view :learn-more)
|
||||
(merge about-app/learn-more))
|
||||
page-theme (:theme options)]
|
||||
|
||||
[:f>
|
||||
(fn []
|
||||
(rn/use-mount (fn []
|
||||
(rn/hw-back-add-listener dismiss-bottom-sheet-callback)
|
||||
(fn []
|
||||
(rn/hw-back-remove-listener dismiss-bottom-sheet-callback))))
|
||||
[theme/provider {:theme (or page-theme (theme/get-theme))}
|
||||
[bottom-sheet/bottom-sheet opts
|
||||
(when content
|
||||
[content (when options options)])]])]))
|
||||
@@ -0,0 +1,59 @@
|
||||
(ns legacy.status-im.bottom-sheet.styles
|
||||
(:require
|
||||
[quo.foundations.colors :as colors]))
|
||||
|
||||
(def border-radius 20)
|
||||
|
||||
(defn handle
|
||||
[override-theme]
|
||||
{:position :absolute
|
||||
:top 8
|
||||
:width 32
|
||||
:height 4
|
||||
:background-color (colors/theme-colors colors/neutral-100 colors/white override-theme)
|
||||
:opacity 0.1
|
||||
:border-radius 100
|
||||
:align-self :center})
|
||||
|
||||
(def backdrop
|
||||
{:position :absolute
|
||||
:left 0
|
||||
:right 0
|
||||
:bottom 0
|
||||
:top 0})
|
||||
|
||||
(def backdrop-color
|
||||
{:background-color colors/neutral-100})
|
||||
|
||||
(def container
|
||||
{:position :absolute
|
||||
:left 0
|
||||
:right 0
|
||||
:top 0
|
||||
:bottom 0
|
||||
:overflow :hidden})
|
||||
|
||||
(defn content-style
|
||||
[insets bottom-safe-area-spacing?]
|
||||
{:position :absolute
|
||||
:left 0
|
||||
:right 0
|
||||
:top 0
|
||||
:padding-top border-radius
|
||||
:padding-bottom (if bottom-safe-area-spacing? (:bottom insets) 0)})
|
||||
|
||||
(defn selected-background
|
||||
[override-theme]
|
||||
{:border-radius 12
|
||||
:padding-left 12
|
||||
:margin-horizontal 8
|
||||
:margin-bottom 10
|
||||
:height 48
|
||||
:background-color (colors/theme-colors colors/white colors/neutral-90 override-theme)})
|
||||
|
||||
(defn background
|
||||
[override-theme]
|
||||
{:background-color (colors/theme-colors colors/white colors/neutral-95 override-theme)
|
||||
:flex 1
|
||||
:border-top-left-radius border-radius
|
||||
:border-top-right-radius border-radius})
|
||||
@@ -0,0 +1,240 @@
|
||||
(ns legacy.status-im.bottom-sheet.view
|
||||
(:require
|
||||
[legacy.status-im.bottom-sheet.styles :as styles]
|
||||
[oops.core :refer [oget]]
|
||||
[re-frame.core :as re-frame]
|
||||
[react-native.background-timer :as timer]
|
||||
[react-native.core :as react]
|
||||
[react-native.core :as rn]
|
||||
[react-native.gesture :as gesture]
|
||||
[react-native.hooks :as hooks]
|
||||
[react-native.platform :as platform]
|
||||
[react-native.reanimated :as reanimated]
|
||||
[react-native.safe-area :as safe-area]
|
||||
[reagent.core :as reagent]
|
||||
[utils.worklets.bottom-sheet :as worklets.bottom-sheet]))
|
||||
|
||||
(def animation-delay 450)
|
||||
|
||||
(defn with-animation
|
||||
[value]
|
||||
(reanimated/with-spring
|
||||
value
|
||||
(clj->js {:mass 2
|
||||
:stiffness 500
|
||||
:damping 200})))
|
||||
|
||||
(defn get-bottom-sheet-gesture
|
||||
[pan-y translate-y bg-height bg-height-expanded
|
||||
window-height keyboard-shown disable-drag? expandable?
|
||||
show-bottom-sheet? expanded? close-bottom-sheet gesture-running?]
|
||||
(-> (gesture/gesture-pan)
|
||||
(gesture/on-start
|
||||
(fn [_]
|
||||
(reset! gesture-running? true)
|
||||
(when (and keyboard-shown (not disable-drag?) show-bottom-sheet?)
|
||||
(re-frame/dispatch [:dismiss-keyboard]))))
|
||||
(gesture/on-update
|
||||
(fn [evt]
|
||||
(when (and (not disable-drag?) show-bottom-sheet?)
|
||||
(let [max-pan-up (if (or @expanded? (not expandable?))
|
||||
0
|
||||
(- (- bg-height-expanded bg-height)))
|
||||
max-pan-down (if @expanded?
|
||||
bg-height-expanded
|
||||
bg-height)]
|
||||
(reanimated/set-shared-value pan-y
|
||||
(max
|
||||
(min
|
||||
(.-translationY evt)
|
||||
max-pan-down)
|
||||
max-pan-up))))))
|
||||
(gesture/on-end
|
||||
(fn [_]
|
||||
(reset! gesture-running? false)
|
||||
(when (and (not disable-drag?) show-bottom-sheet?)
|
||||
(let [end-pan-y (- window-height (.-value translate-y))
|
||||
expand-threshold (min (* bg-height 1.1) (+ bg-height 50))
|
||||
collapse-threshold (max (* bg-height-expanded 0.9) (- bg-height-expanded 50))
|
||||
should-close-bottom-sheet? (< end-pan-y (max (* bg-height 0.7) 50))]
|
||||
(cond
|
||||
should-close-bottom-sheet?
|
||||
(close-bottom-sheet)
|
||||
|
||||
(and (not @expanded?) (> end-pan-y expand-threshold))
|
||||
(reset! expanded? true)
|
||||
|
||||
(and @expanded? (< end-pan-y collapse-threshold))
|
||||
(reset! expanded? false))))))))
|
||||
|
||||
(defn handle-view
|
||||
[window-width override-theme]
|
||||
[rn/view
|
||||
{:style {:width window-width
|
||||
:position :absolute
|
||||
:background-color :transparent
|
||||
:top 0
|
||||
:height 20}}
|
||||
[rn/view {:style (styles/handle override-theme)}]])
|
||||
|
||||
(defn bottom-sheet
|
||||
[props children]
|
||||
(let [{on-cancel :on-cancel
|
||||
disable-drag? :disable-drag?
|
||||
show-handle? :show-handle?
|
||||
visible? :visible?
|
||||
backdrop-dismiss? :backdrop-dismiss?
|
||||
expandable? :expandable?
|
||||
bottom-safe-area-spacing? :bottom-safe-area-spacing?
|
||||
selected-item :selected-item
|
||||
is-initially-expanded? :expanded?
|
||||
override-theme :override-theme
|
||||
:or {show-handle? true
|
||||
backdrop-dismiss? true
|
||||
expandable? false
|
||||
bottom-safe-area-spacing? true
|
||||
is-initially-expanded? false}}
|
||||
props
|
||||
content-height (reagent/atom nil)
|
||||
show-bottom-sheet? (reagent/atom nil)
|
||||
keyboard-was-shown? (reagent/atom false)
|
||||
expanded? (reagent/atom is-initially-expanded?)
|
||||
gesture-running? (reagent/atom false)
|
||||
reset-atoms (fn []
|
||||
(reset! show-bottom-sheet? nil)
|
||||
(reset! content-height nil)
|
||||
(reset! expanded? false)
|
||||
(reset! keyboard-was-shown? false)
|
||||
(reset! gesture-running? false))
|
||||
close-bottom-sheet (fn []
|
||||
(reset! show-bottom-sheet? false)
|
||||
(when (fn? on-cancel) (on-cancel))
|
||||
(timer/set-timeout
|
||||
#(do
|
||||
(re-frame/dispatch [:bottom-sheet/hide-old-navigation-overlay])
|
||||
(reset-atoms))
|
||||
animation-delay))]
|
||||
[:f>
|
||||
(fn []
|
||||
(let [{height :height
|
||||
window-width :width}
|
||||
(rn/get-window)
|
||||
window-height (if selected-item (- height 72) height)
|
||||
{:keys [keyboard-shown]} (hooks/use-keyboard)
|
||||
insets (safe-area/get-insets)
|
||||
bg-height-expanded (- window-height (:top insets))
|
||||
bg-height (max (min @content-height bg-height-expanded) 109)
|
||||
bottom-sheet-dy (reanimated/use-shared-value 0)
|
||||
pan-y (reanimated/use-shared-value 0)
|
||||
translate-y (worklets.bottom-sheet/use-translate-y window-height bottom-sheet-dy pan-y)
|
||||
bg-opacity
|
||||
(worklets.bottom-sheet/use-background-opacity translate-y bg-height window-height 0.7)
|
||||
on-content-layout (fn [evt]
|
||||
(let [height (oget evt "nativeEvent" "layout" "height")]
|
||||
(reset! content-height height)))
|
||||
on-expanded (fn []
|
||||
(reanimated/set-shared-value bottom-sheet-dy bg-height-expanded)
|
||||
(reanimated/set-shared-value pan-y 0))
|
||||
on-collapsed (fn []
|
||||
(reanimated/set-shared-value bottom-sheet-dy bg-height)
|
||||
(reanimated/set-shared-value pan-y 0))
|
||||
bottom-sheet-gesture (get-bottom-sheet-gesture
|
||||
pan-y
|
||||
translate-y
|
||||
bg-height
|
||||
bg-height-expanded
|
||||
window-height
|
||||
keyboard-shown
|
||||
disable-drag?
|
||||
expandable?
|
||||
show-bottom-sheet?
|
||||
expanded?
|
||||
close-bottom-sheet
|
||||
gesture-running?)
|
||||
handle-comp [gesture/gesture-detector {:gesture bottom-sheet-gesture}
|
||||
[handle-view window-width override-theme]]]
|
||||
|
||||
(react/use-effect #(do
|
||||
(cond
|
||||
(and
|
||||
(nil? @show-bottom-sheet?)
|
||||
visible?
|
||||
(some? @content-height)
|
||||
(> @content-height 0))
|
||||
(reset! show-bottom-sheet? true)
|
||||
|
||||
(and @show-bottom-sheet? (not visible?))
|
||||
(close-bottom-sheet)))
|
||||
[@show-bottom-sheet? @content-height visible?])
|
||||
(react/use-effect #(do
|
||||
(when @show-bottom-sheet?
|
||||
(cond
|
||||
keyboard-shown
|
||||
(do
|
||||
(reset! keyboard-was-shown? true)
|
||||
(reset! expanded? true))
|
||||
(and @keyboard-was-shown? (not keyboard-shown))
|
||||
(reset! expanded? false))))
|
||||
[@show-bottom-sheet? @keyboard-was-shown? keyboard-shown])
|
||||
(react/use-effect #(do
|
||||
(when-not @gesture-running?
|
||||
(cond
|
||||
@show-bottom-sheet?
|
||||
(if @expanded?
|
||||
(do
|
||||
(reanimated/set-shared-value
|
||||
bottom-sheet-dy
|
||||
(with-animation (+ bg-height-expanded (.-value pan-y))))
|
||||
;; Workaround for
|
||||
;; https://github.com/software-mansion/react-native-reanimated/issues/1758#issue-817145741
|
||||
;; withTiming/withSpring callback not working on-expanded
|
||||
;; should be called as a callback of with-animation instead,
|
||||
;; once this issue has been resolved
|
||||
(timer/set-timeout on-expanded animation-delay))
|
||||
(do
|
||||
(reanimated/set-shared-value
|
||||
bottom-sheet-dy
|
||||
(with-animation (+ bg-height (.-value pan-y))))
|
||||
;; Workaround for
|
||||
;; https://github.com/software-mansion/react-native-reanimated/issues/1758#issue-817145741
|
||||
;; withTiming/withSpring callback not working on-collapsed
|
||||
;; should be called as a callback of with-animation instead,
|
||||
;; once this issue has been resolved
|
||||
(timer/set-timeout on-collapsed animation-delay)))
|
||||
|
||||
(= @show-bottom-sheet? false)
|
||||
(reanimated/set-shared-value bottom-sheet-dy (with-animation 0)))))
|
||||
[@show-bottom-sheet? @expanded? @gesture-running?])
|
||||
|
||||
[:<>
|
||||
[rn/pressable
|
||||
{:on-press (when backdrop-dismiss? close-bottom-sheet)
|
||||
:style styles/backdrop}
|
||||
[reanimated/view
|
||||
{:style (reanimated/apply-animations-to-style
|
||||
{:opacity bg-opacity}
|
||||
styles/backdrop-color)}]]
|
||||
(cond->> [reanimated/view
|
||||
{:style (reanimated/apply-animations-to-style
|
||||
{:transform [{:translateY translate-y}]}
|
||||
{:width window-width
|
||||
:height window-height})}
|
||||
[rn/view {:style styles/container}
|
||||
(when selected-item
|
||||
[rn/view {:style (styles/selected-background override-theme)}
|
||||
[selected-item]])
|
||||
[rn/view {:style (styles/background override-theme)}
|
||||
[rn/keyboard-avoiding-view
|
||||
{:behaviour (if platform/ios? :padding :height)
|
||||
:style {:flex 1}}
|
||||
[rn/view
|
||||
{:style (styles/content-style insets bottom-safe-area-spacing?)
|
||||
:on-layout (when-not (and
|
||||
(some? @content-height)
|
||||
(> @content-height 0))
|
||||
on-content-layout)}
|
||||
children]]
|
||||
(when show-handle?
|
||||
handle-comp)]]]
|
||||
(not show-handle?)
|
||||
(conj [gesture/gesture-detector {:gesture bottom-sheet-gesture}]))]))]))
|
||||
@@ -2,6 +2,7 @@
|
||||
(:require
|
||||
["eth-phishing-detect" :as eth-phishing-detect]
|
||||
[clojure.string :as string]
|
||||
[legacy.status-im.bottom-sheet.events :as bottom-sheet]
|
||||
[legacy.status-im.browser.permissions :as browser.permissions]
|
||||
[legacy.status-im.browser.webview-ref :as webview-ref]
|
||||
[legacy.status-im.ethereum.ens :as ens]
|
||||
@@ -518,7 +519,7 @@
|
||||
[{:keys [db] :as cofx} address]
|
||||
(rf/merge cofx
|
||||
{:browser/clear-web-data nil}
|
||||
(navigation/hide-bottom-sheet)
|
||||
(bottom-sheet/hide-bottom-sheet-old)
|
||||
(browser.permissions/clear-dapps-permissions)
|
||||
(multiaccounts.update/multiaccount-update :dapps-address address {})
|
||||
#(when (= (:view-id db) :browser)
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
(ns legacy.status-im.communities.core
|
||||
(:require
|
||||
[clojure.set :as set]
|
||||
[legacy.status-im.bottom-sheet.events :as bottom-sheet]
|
||||
legacy.status-im.communities.e2e
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.contexts.shell.activity-center.events :as activity-center]
|
||||
[status-im.navigation.events :as navigation]
|
||||
[taoensso.timbre :as log]
|
||||
[utils.re-frame :as rf]))
|
||||
@@ -22,10 +22,60 @@
|
||||
{}
|
||||
requests))
|
||||
|
||||
(defn- fetch-community-id-input
|
||||
[{:keys [db]}]
|
||||
(:communities/community-id-input db))
|
||||
|
||||
(rf/defn handle-response
|
||||
[_ response-js]
|
||||
{:dispatch [:sanitize-messages-and-process-response response-js]})
|
||||
|
||||
(rf/defn invite-users
|
||||
{:events [::invite-people-confirmation-pressed]}
|
||||
[cofx user-pk contacts]
|
||||
(let [community-id (fetch-community-id-input cofx)
|
||||
pks (if (seq user-pk)
|
||||
(conj contacts user-pk)
|
||||
contacts)]
|
||||
(when (seq pks)
|
||||
{:json-rpc/call [{:method "wakuext_inviteUsersToCommunity"
|
||||
:params [{:communityId community-id
|
||||
:users pks}]
|
||||
:js-response true
|
||||
:on-success #(re-frame/dispatch [::people-invited %])
|
||||
:on-error #(do
|
||||
(log/error "failed to invite-user community" %)
|
||||
(re-frame/dispatch [::failed-to-invite-people %]))}]})))
|
||||
|
||||
(rf/defn share-community
|
||||
{:events [::share-community-confirmation-pressed]}
|
||||
[cofx user-pk contacts]
|
||||
(let [community-id (fetch-community-id-input cofx)
|
||||
pks (if (seq user-pk)
|
||||
(conj contacts user-pk)
|
||||
contacts)]
|
||||
(when (seq pks)
|
||||
{:json-rpc/call [{:method "wakuext_shareCommunity"
|
||||
:params [{:communityId community-id
|
||||
:users pks}]
|
||||
:js-response true
|
||||
:on-success #(re-frame/dispatch [::people-invited %])
|
||||
:on-error #(do
|
||||
(log/error "failed to invite-user community" %)
|
||||
(re-frame/dispatch [::failed-to-share-community %]))}]})))
|
||||
|
||||
(re-frame/reg-event-fx :communities/invite-people-pressed
|
||||
(fn [{:keys [db]} [id]]
|
||||
{:db (assoc db :communities/community-id-input id)
|
||||
:fx [[:dispatch [:hide-bottom-sheet]]
|
||||
[:dispatch [:open-modal :legacy-invite-people-community {:invite? true}]]]}))
|
||||
|
||||
(re-frame/reg-event-fx :communities/share-community-pressed
|
||||
(fn [{:keys [db]} [id]]
|
||||
{:db (assoc db :communities/community-id-input id)
|
||||
:fx [[:dispatch [:hide-bottom-sheet]]
|
||||
[:dispatch [:open-modal :legacy-invite-people-community {}]]]}))
|
||||
|
||||
(rf/defn people-invited
|
||||
{:events [::people-invited]}
|
||||
[cofx response-js]
|
||||
@@ -33,13 +83,12 @@
|
||||
(navigation/navigate-back)
|
||||
(handle-response response-js)))
|
||||
|
||||
(rf/defn member-banned
|
||||
{:events [::member-banned]}
|
||||
[cofx response-js]
|
||||
(rf/merge cofx
|
||||
(navigation/hide-bottom-sheet)
|
||||
(handle-response response-js)
|
||||
(activity-center/notifications-fetch-unread-count)))
|
||||
(re-frame/reg-event-fx ::member-banned
|
||||
(fn [{:keys [db]} [response-js]]
|
||||
{:db (assoc db :bottom-sheet/show? false)
|
||||
:fx [[:dismiss-bottom-sheet-overlay-old]
|
||||
[:sanitize-messages-and-process-response response-js]
|
||||
[:activity-center.notifications/fetch-unread-count]]}))
|
||||
|
||||
(rf/defn member-ban
|
||||
{:events [::member-ban]}
|
||||
@@ -58,7 +107,7 @@
|
||||
{:events [::member-kicked]}
|
||||
[cofx response-js]
|
||||
(rf/merge cofx
|
||||
(navigation/hide-bottom-sheet)
|
||||
(bottom-sheet/hide-bottom-sheet-old)
|
||||
(handle-response response-js)))
|
||||
|
||||
(rf/defn member-kick
|
||||
@@ -92,7 +141,7 @@
|
||||
{:events [:community.member/role-updated]}
|
||||
[cofx response-js]
|
||||
(rf/merge cofx
|
||||
(navigation/hide-bottom-sheet)
|
||||
(bottom-sheet/hide-bottom-sheet-old)
|
||||
(handle-response response-js)))
|
||||
|
||||
(rf/defn add-role-to-member
|
||||
|
||||
@@ -1,35 +1,257 @@
|
||||
(ns legacy.status-im.communities.e2e
|
||||
(:require [taoensso.timbre :as log]
|
||||
(:require [promesa.core :as promesa]
|
||||
[status-im.common.json-rpc.events :as rpc]
|
||||
[status-im.constants :as constants]
|
||||
[taoensso.timbre :as log]
|
||||
[utils.re-frame :as rf]))
|
||||
|
||||
;;NOTE: ONLY FOR QA
|
||||
|
||||
(rf/defn create-closed-community
|
||||
{:events [:fast-create-community/create-closed-community]}
|
||||
[_]
|
||||
{:json-rpc/call [{:method "wakuext_createClosedCommunity"
|
||||
:params []
|
||||
:js-response true
|
||||
:on-success #(rf/dispatch [:sanitize-messages-and-process-response %])
|
||||
:on-error #(log/error "failed to create closed community." {:error %})}]
|
||||
:dispatch [:hide-bottom-sheet]})
|
||||
(def one-stt-in-wei "1000000000000000000")
|
||||
(def one-eth-in-wei "1000000000000000000")
|
||||
(def ten-stt-in-wei "10000000000000000000")
|
||||
|
||||
(def stt-symbol "STT")
|
||||
(def eth-symbol "ETH")
|
||||
(def null-address "0x0000000000000000000000000000000000000000")
|
||||
|
||||
(defn- eth-token-criteria
|
||||
[amount-in-wei]
|
||||
{:contractAddresses {constants/ethereum-sepolia-chain-id null-address
|
||||
constants/arbitrum-sepolia-chain-id null-address
|
||||
constants/optimism-sepolia-chain-id null-address}
|
||||
:type constants/community-token-type-erc20
|
||||
:symbol "ETH"
|
||||
:name "Ethereum"
|
||||
:amountInWei amount-in-wei
|
||||
:decimals 18})
|
||||
|
||||
(defn- stt-token-criteria
|
||||
[amount-in-wei]
|
||||
{:contractAddresses {constants/ethereum-sepolia-chain-id constants/sepolia-stt-contract-address}
|
||||
:type constants/community-token-type-erc20
|
||||
:symbol "STT"
|
||||
:name "Status Test Token"
|
||||
:amountInWei amount-in-wei
|
||||
:decimals 18})
|
||||
|
||||
(def token-criteria
|
||||
{stt-symbol stt-token-criteria
|
||||
eth-symbol eth-token-criteria})
|
||||
|
||||
(def base-channel-permissions
|
||||
[{:permission-type constants/community-token-permission-can-view-channel
|
||||
:token-symbol stt-symbol
|
||||
:amount one-stt-in-wei}
|
||||
{:permission-type constants/community-token-permission-can-view-channel
|
||||
:token-symbol eth-symbol
|
||||
:amount one-eth-in-wei}
|
||||
{:permission-type constants/community-token-permission-can-view-and-post-channel
|
||||
:token-symbol stt-symbol
|
||||
:amount one-stt-in-wei}
|
||||
{:permission-type constants/community-token-permission-can-view-and-post-channel
|
||||
:token-symbol eth-symbol
|
||||
:amount one-eth-in-wei}])
|
||||
|
||||
(defn- channel-names->description
|
||||
[channel-names]
|
||||
(map #(hash-map :name %1
|
||||
:permissions [%2])
|
||||
channel-names
|
||||
base-channel-permissions))
|
||||
|
||||
(def community-descriptions
|
||||
{:open
|
||||
{:community-name "Open community"
|
||||
:membership constants/community-permissions-auto-accept
|
||||
:pin-message-allowed false}
|
||||
:closed
|
||||
{:community-name "Closed community"
|
||||
:membership constants/community-permissions-manual-accept
|
||||
:pin-message-allowed true
|
||||
:categories [{:category-name "Pets" :channels #{"Cats" "Dogs"}}
|
||||
{:category-name "Household" :channels #{"Rules"}}]
|
||||
:channel-list [{:name "Cats"} {:name "Dogs"} {:name "Rules"}]}
|
||||
:token-gated
|
||||
{:community-name "Token gated community"
|
||||
:membership constants/community-permissions-auto-accept
|
||||
:pin-message-allowed true
|
||||
:community-permissions [{:amount-in-wei ten-stt-in-wei
|
||||
:permission-type constants/community-token-permission-become-member
|
||||
:token-symbol stt-symbol}]
|
||||
:channel-list (channel-names->description ["Lions" "Birds" "Trees" "Flowers"])}
|
||||
:snt-admin
|
||||
{:community-name "SNT Admin Community"
|
||||
:membership constants/community-permissions-auto-accept
|
||||
:pin-message-allowed true
|
||||
:community-permissions [{:amount-in-wei one-stt-in-wei
|
||||
:permission-type constants/community-token-permission-become-admin
|
||||
:token-symbol stt-symbol}]
|
||||
:channel-list (channel-names->description ["Sounds" "Colors" "Books" "Sports"])}
|
||||
:admin-and-member
|
||||
{:community-name "Admin and Member"
|
||||
:membership constants/community-permissions-auto-accept
|
||||
:pin-message-allowed true
|
||||
:community-permissions [{:amount-in-wei one-stt-in-wei
|
||||
:permission-type constants/community-token-permission-become-member
|
||||
:token-symbol stt-symbol}
|
||||
{:amount-in-wei one-eth-in-wei
|
||||
:permission-type constants/community-token-permission-become-admin
|
||||
:token-symbol eth-symbol}]
|
||||
:channel-list (channel-names->description ["Party" "Birthday" "Travel" "Cars"])}})
|
||||
|
||||
|
||||
(defn- js-messenger-response->community-id
|
||||
[response]
|
||||
(-> response .-communities first .-id))
|
||||
|
||||
(defn- js-messenger-response->channel-id
|
||||
[channel-name response]
|
||||
(->> response
|
||||
.-communities
|
||||
first
|
||||
.-chats
|
||||
js->clj
|
||||
vals
|
||||
(some #(when (= channel-name (get % "name")) (get % "id")))))
|
||||
|
||||
(defn- channel-token-criteria->request
|
||||
[community-id channel-id {:keys [token-symbol amount]}]
|
||||
(fn []
|
||||
(rpc/call
|
||||
{:method "wakuext_createCommunityTokenPermissionV2"
|
||||
:js-response true
|
||||
:params [{:communityID community-id
|
||||
:type constants/community-token-permission-become-member
|
||||
:chatIds [channel-id]
|
||||
:tokenCriteria [((token-criteria token-symbol) amount)]}]})))
|
||||
|
||||
(defn- channel-token-criteria->requests
|
||||
[community-id channel-id tokens]
|
||||
(let [keep-fn (partial channel-token-criteria->request community-id channel-id)]
|
||||
(keep keep-fn tokens)))
|
||||
|
||||
(defn- create-community-channel!
|
||||
[channel community-id]
|
||||
(->
|
||||
(rpc/call
|
||||
{:method "wakuext_createCommunityChannel"
|
||||
:js-response true
|
||||
:params [{:name (:name channel)
|
||||
:communityId community-id
|
||||
:description (:name channel)}]})
|
||||
(.then (fn [response]
|
||||
(if (:permissions channel)
|
||||
(let [channel-id (js-messenger-response->channel-id (:name channel) response)]
|
||||
(apply
|
||||
promesa/chain
|
||||
(promesa/resolved nil)
|
||||
(channel-token-criteria->requests community-id channel-id (:permissions channel))))
|
||||
response)))
|
||||
(.catch #(log/error "failed to create token gated community channel."
|
||||
{:error %
|
||||
:channel-name (:name channel)}))))
|
||||
|
||||
(defn- create-category!
|
||||
[response {:keys [category-name channels]}]
|
||||
(let [community-id (js-messenger-response->community-id response)
|
||||
channel-ids (map #(js-messenger-response->channel-id % response)
|
||||
channels)]
|
||||
(rpc/call
|
||||
{:method "wakuext_createCommunityCategory"
|
||||
:js-response true
|
||||
:params [{:communityId community-id
|
||||
:categoryName category-name
|
||||
:chatIds channel-ids}]})))
|
||||
|
||||
(defn- create-community!
|
||||
[community-name membership pin-message-allowed]
|
||||
(rpc/call
|
||||
{:method "wakuext_createCommunity"
|
||||
:js-response true
|
||||
:params [{:name community-name
|
||||
:description community-name
|
||||
:color "#887af9"
|
||||
:historyArchiveSupportEnabled true
|
||||
:membership membership
|
||||
:pinMessageAllMembersEnabled pin-message-allowed}]}))
|
||||
|
||||
(defn- create-token-gated-permission!
|
||||
[{:keys [token-symbol permission-type amount-in-wei]} community-id]
|
||||
(rpc/call
|
||||
{:method "wakuext_createCommunityTokenPermissionV2"
|
||||
:js-response true
|
||||
:params [{:communityId community-id
|
||||
:type permission-type
|
||||
:tokenCriteria [((token-criteria token-symbol) amount-in-wei)]}]}))
|
||||
|
||||
(def passthrough [identity])
|
||||
|
||||
(defn- create-community-from-description
|
||||
[{:keys [community-name
|
||||
membership
|
||||
community-permissions
|
||||
pin-message-allowed
|
||||
categories
|
||||
channel-list]}]
|
||||
(let [create-community-permissions-fn (if (seq community-permissions)
|
||||
(map
|
||||
(fn [permission]
|
||||
(fn [response]
|
||||
(create-token-gated-permission!
|
||||
permission
|
||||
(js-messenger-response->community-id response))))
|
||||
community-permissions)
|
||||
passthrough)
|
||||
create-channels-fn (if (seq channel-list)
|
||||
(map
|
||||
(fn [channel]
|
||||
(fn [response]
|
||||
(create-community-channel!
|
||||
channel
|
||||
(js-messenger-response->community-id response))))
|
||||
channel-list)
|
||||
passthrough)
|
||||
create-categories-fn (if (seq categories)
|
||||
(map
|
||||
(fn [category]
|
||||
(fn [messenger-response]
|
||||
(create-category! messenger-response category)))
|
||||
categories)
|
||||
passthrough)]
|
||||
(as-> (create-community! community-name membership pin-message-allowed) $
|
||||
(apply promesa/chain $ create-community-permissions-fn)
|
||||
(apply promesa/chain $ create-channels-fn)
|
||||
(apply promesa/chain $ create-categories-fn)
|
||||
(promesa/then $ #(rf/dispatch [:hide-bottom-sheet]))
|
||||
(promesa/catch $ #(log/error "failed to create community e2e" {:error %})))))
|
||||
|
||||
(rf/defn create-open-community
|
||||
{:events [:fast-create-community/create-open-community]}
|
||||
{:events [:e2e/create-open-community]}
|
||||
[_]
|
||||
{:json-rpc/call [{:method "wakuext_createOpenCommunity"
|
||||
:params []
|
||||
:js-response true
|
||||
:on-success #(rf/dispatch [:sanitize-messages-and-process-response %])
|
||||
:on-error #(log/error "failed to create open community." {:error %})}]
|
||||
:dispatch [:hide-bottom-sheet]})
|
||||
(create-community-from-description (community-descriptions :open))
|
||||
nil)
|
||||
|
||||
(rf/defn create-closed-community
|
||||
{:events [:e2e/create-closed-community]}
|
||||
[_]
|
||||
(create-community-from-description (community-descriptions :closed))
|
||||
nil)
|
||||
|
||||
(rf/defn create-token-gated-community
|
||||
{:events [:fast-create-community/create-token-gated-community]}
|
||||
{:events [:e2e/create-token-gated-community]}
|
||||
[_]
|
||||
{:json-rpc/call [{:method "wakuext_createTokenGatedCommunity"
|
||||
:params []
|
||||
:js-response true
|
||||
:on-success #(rf/dispatch [:sanitize-messages-and-process-response %])
|
||||
:on-error #(log/error "failed to create token gated community." {:error %})}]
|
||||
:dispatch [:hide-bottom-sheet]})
|
||||
(create-community-from-description (community-descriptions :token-gated))
|
||||
nil)
|
||||
|
||||
(rf/defn snt-admin-community
|
||||
{:events [:e2e/create-snt-admin-community]}
|
||||
[_]
|
||||
(create-community-from-description (community-descriptions :snt-admin))
|
||||
nil)
|
||||
|
||||
(rf/defn admin-and-member-community
|
||||
{:events [:e2e/create-admin-and-member-community]}
|
||||
[_]
|
||||
(create-community-from-description (community-descriptions :admin-and-member))
|
||||
nil)
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
(ns legacy.status-im.contact.block
|
||||
(:require
|
||||
[legacy.status-im.contact.db :as contact.db]
|
||||
[legacy.status-im.data-store.chats :as chats-store]
|
||||
[legacy.status-im.utils.deprecated-types :as types]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.contexts.chat.contacts.events :as contacts-store]
|
||||
[status-im.contexts.chat.messenger.messages.list.events :as message-list]
|
||||
[status-im.navigation.events :as navigation]
|
||||
[utils.re-frame :as rf]))
|
||||
|
||||
(rf/defn clean-up-chat
|
||||
[{:keys [db]}
|
||||
public-key
|
||||
{:keys [chat-id
|
||||
unviewed-messages-count
|
||||
unviewed-mentions-count
|
||||
last-message]}]
|
||||
(let [removed-messages-ids (keep
|
||||
(fn [[message-id {:keys [from]}]]
|
||||
(when (= from public-key)
|
||||
message-id))
|
||||
(get-in db [:messages chat-id]))
|
||||
db (-> db
|
||||
;; remove messages
|
||||
(update-in [:messages chat-id]
|
||||
#(apply dissoc % removed-messages-ids))
|
||||
(update-in [:chats chat-id]
|
||||
assoc
|
||||
:unviewed-messages-count unviewed-messages-count
|
||||
:unviewed-mentions-count unviewed-mentions-count
|
||||
:last-message last-message))]
|
||||
{:db (assoc-in db
|
||||
[:message-lists chat-id]
|
||||
(message-list/add-many nil (vals (get-in db [:messages chat-id]))))}))
|
||||
|
||||
(rf/defn contact-blocked
|
||||
{:events [:contacts/blocked]}
|
||||
[{:keys [db] :as cofx} {:keys [public-key]} chats-js]
|
||||
(let [fxs (when chats-js
|
||||
(map #(->> (chats-store/<-rpc %)
|
||||
(clean-up-chat public-key))
|
||||
(types/js->clj chats-js)))]
|
||||
(apply
|
||||
rf/merge
|
||||
cofx
|
||||
{:db (->
|
||||
db
|
||||
(update :chats dissoc public-key)
|
||||
(update :chats-home-list disj public-key)
|
||||
(assoc-in [:contacts/contacts public-key
|
||||
:added?]
|
||||
false))
|
||||
:fx [[:activity-center.notifications/fetch-unread-count]
|
||||
[:effects/push-notifications-clear-message-notifications [public-key]]
|
||||
[:dispatch-later
|
||||
[{:ms 500
|
||||
:dispatch [:chat.ui/close-and-remove-chat public-key]}]]]}
|
||||
fxs)))
|
||||
|
||||
(rf/defn block-contact
|
||||
{:events [:contact.ui/block-contact-confirmed]}
|
||||
[{:keys [db] :as cofx} public-key]
|
||||
(let [contact (-> (contact.db/public-key->contact
|
||||
(:contacts/contacts db)
|
||||
public-key)
|
||||
(assoc :blocked? true
|
||||
:added? false
|
||||
:active? false))
|
||||
current-chat-id (:current-chat-id db)
|
||||
from-one-to-one-chat? (not (get-in db [:chats current-chat-id :group-chat]))]
|
||||
(rf/merge cofx
|
||||
{:db (assoc-in db [:contacts/contacts public-key] contact)}
|
||||
(contacts-store/block
|
||||
public-key
|
||||
(fn [^js block-contact]
|
||||
(re-frame/dispatch [:contacts/blocked contact (.-chats block-contact)])
|
||||
(re-frame/dispatch [:sanitize-messages-and-process-response block-contact])
|
||||
(re-frame/dispatch [:hide-popover])))
|
||||
;; reset navigation to avoid going back to non existing one to one chat
|
||||
(when current-chat-id
|
||||
(if from-one-to-one-chat?
|
||||
(navigation/pop-to-root :shell-stack)
|
||||
(navigation/navigate-back))))))
|
||||
|
||||
(rf/defn contact-unblocked
|
||||
{:events [:contacts/unblocked]}
|
||||
[{:keys [db]} contact-id]
|
||||
(let [contact (-> (get-in db [:contacts/contacts contact-id])
|
||||
(assoc :blocked? false))]
|
||||
{:db (assoc-in db [:contacts/contacts contact-id] contact)}))
|
||||
|
||||
(rf/defn unblock-contact
|
||||
{:events [:contact.ui/unblock-contact-pressed]}
|
||||
[cofx contact-id]
|
||||
(contacts-store/unblock
|
||||
cofx
|
||||
contact-id
|
||||
#(re-frame/dispatch [:contacts/unblocked contact-id])))
|
||||
@@ -0,0 +1,87 @@
|
||||
(ns legacy.status-im.contact.db
|
||||
(:require
|
||||
[clojure.set :as set]
|
||||
[clojure.string :as string]
|
||||
[status-im.constants :as constants]
|
||||
[utils.address :as address]))
|
||||
|
||||
(defn public-key-and-ens-name->new-contact
|
||||
[public-key ens-name]
|
||||
(let [contact {:public-key public-key}]
|
||||
(if ens-name
|
||||
(-> contact
|
||||
(assoc :ens-name ens-name)
|
||||
(assoc :ens-verified true)
|
||||
(assoc :name ens-name))
|
||||
contact)))
|
||||
|
||||
(defn public-key->contact
|
||||
[contacts public-key]
|
||||
(when public-key
|
||||
(get contacts public-key {:public-key public-key})))
|
||||
|
||||
(defn- contact-by-address
|
||||
[[addr contact] address]
|
||||
(when (address/address= addr address)
|
||||
contact))
|
||||
|
||||
(defn find-contact-by-address
|
||||
[contacts address]
|
||||
(some #(contact-by-address % address) contacts))
|
||||
|
||||
(defn sort-contacts
|
||||
[contacts]
|
||||
(sort (fn [c1 c2]
|
||||
(let [name1 (:primary-name c1)
|
||||
name2 (:primary-name c2)]
|
||||
(when (and name1 name2)
|
||||
(compare (string/lower-case name1)
|
||||
(string/lower-case name2)))))
|
||||
(vals contacts)))
|
||||
|
||||
(defn query-chat-contacts
|
||||
[{:keys [contacts]} all-contacts query-fn]
|
||||
(let [participant-set (into #{} (filter identity) contacts)]
|
||||
(query-fn (comp participant-set :public-key) (vals all-contacts))))
|
||||
|
||||
(defn get-all-contacts-in-group-chat
|
||||
[members admins contacts {:keys [public-key preferred-name name display-name] :as current-account}]
|
||||
(let [current-contact (some->
|
||||
current-account
|
||||
(select-keys [:name :preferred-name :public-key :images :compressed-key])
|
||||
(set/rename-keys {:name :alias :preferred-name :name})
|
||||
(assoc :primary-name (or display-name preferred-name name)))
|
||||
all-contacts (cond-> contacts
|
||||
current-contact
|
||||
(assoc public-key current-contact))]
|
||||
(->> members
|
||||
(map #(or (get all-contacts %)
|
||||
{:public-key %}))
|
||||
(sort-by (comp string/lower-case
|
||||
(fn [{:keys [primary-name name alias public-key]}]
|
||||
(or primary-name
|
||||
name
|
||||
alias
|
||||
public-key))))
|
||||
(map #(if (get admins (:public-key %))
|
||||
(assoc % :admin? true)
|
||||
%)))))
|
||||
|
||||
(defn enrich-contact
|
||||
([contact] (enrich-contact contact nil nil))
|
||||
([{:keys [public-key] :as contact} setting own-public-key]
|
||||
(cond-> contact
|
||||
(and setting
|
||||
(not= public-key own-public-key)
|
||||
(or (= setting constants/profile-pictures-visibility-none)
|
||||
(and (= setting constants/profile-pictures-visibility-contacts-only)
|
||||
(not (:added? contact)))))
|
||||
(dissoc :images))))
|
||||
|
||||
(defn enrich-contacts
|
||||
[contacts profile-pictures-visibility own-public-key]
|
||||
(reduce-kv
|
||||
(fn [acc public-key contact]
|
||||
(assoc acc public-key (enrich-contact contact profile-pictures-visibility own-public-key)))
|
||||
{}
|
||||
contacts))
|
||||
@@ -0,0 +1,49 @@
|
||||
(ns legacy.status-im.contact.db-test
|
||||
(:require [cljs.test :refer-macros [deftest is testing]]
|
||||
[legacy.status-im.contact.db :as contact.db]))
|
||||
|
||||
(deftest contacts-subs
|
||||
(testing "get-all-contacts-in-group-chat"
|
||||
(let
|
||||
[chat-contact-ids
|
||||
#{"0x04fcf40c526b09ff9fb22f4a5dbd08490ef9b64af700870f8a0ba2133f4251d5607ed83cd9047b8c2796576bc83fa0de23a13a4dced07654b8ff137fe744047917"
|
||||
"0x04985040682b77a32bb4bb58268a0719bd24ca4d07c255153fe1eb2ccd5883669627bd1a092d7cc76e8e4b9104327667b19dcda3ac469f572efabe588c38c1985f"
|
||||
"0x048a2f8b80c60f89a91b4c1316e56f75b087f446e7b8701ceca06a40142d8efe1f5aa36bd0fee9e248060a8d5207b43ae98bef4617c18c71e66f920f324869c09f"}
|
||||
admins
|
||||
#{"0x04fcf40c526b09ff9fb22f4a5dbd08490ef9b64af700870f8a0ba2133f4251d5607ed83cd9047b8c2796576bc83fa0de23a13a4dced07654b8ff137fe744047917"}
|
||||
|
||||
contacts
|
||||
{"0x04985040682b77a32bb4bb58268a0719bd24ca4d07c255153fe1eb2ccd5883669627bd1a092d7cc76e8e4b9104327667b19dcda3ac469f572efabe588c38c1985f"
|
||||
{:last-updated 0
|
||||
:name "User B"
|
||||
:primary-name "User B"
|
||||
:last-online 0
|
||||
:public-key
|
||||
"0x04985040682b77a32bb4bb58268a0719bd24ca4d07c255153fe1eb2ccd5883669627bd1a092d7cc76e8e4b9104327667b19dcda3ac469f572efabe588c38c1985f"}}
|
||||
current-multiaccount
|
||||
{:last-updated 0
|
||||
:signed-up? true
|
||||
:sharing-usage-data? false
|
||||
:primary-name "User A"
|
||||
:name "User A"
|
||||
:public-key
|
||||
"0x048a2f8b80c60f89a91b4c1316e56f75b087f446e7b8701ceca06a40142d8efe1f5aa36bd0fee9e248060a8d5207b43ae98bef4617c18c71e66f920f324869c09f"}]
|
||||
(is
|
||||
(=
|
||||
(contact.db/get-all-contacts-in-group-chat chat-contact-ids
|
||||
admins
|
||||
contacts
|
||||
current-multiaccount)
|
||||
[{:admin? true
|
||||
:public-key
|
||||
"0x04fcf40c526b09ff9fb22f4a5dbd08490ef9b64af700870f8a0ba2133f4251d5607ed83cd9047b8c2796576bc83fa0de23a13a4dced07654b8ff137fe744047917"}
|
||||
{:alias "User A"
|
||||
:primary-name "User A"
|
||||
:public-key
|
||||
"0x048a2f8b80c60f89a91b4c1316e56f75b087f446e7b8701ceca06a40142d8efe1f5aa36bd0fee9e248060a8d5207b43ae98bef4617c18c71e66f920f324869c09f"}
|
||||
{:last-updated 0
|
||||
:name "User B"
|
||||
:primary-name "User B"
|
||||
:last-online 0
|
||||
:public-key
|
||||
"0x04985040682b77a32bb4bb58268a0719bd24ca4d07c255153fe1eb2ccd5883669627bd1a092d7cc76e8e4b9104327667b19dcda3ac469f572efabe588c38c1985f"}])))))
|
||||
@@ -0,0 +1,18 @@
|
||||
(ns legacy.status-im.currency.core
|
||||
(:require
|
||||
[legacy.status-im.multiaccounts.update.core :as multiaccounts.update]
|
||||
[utils.re-frame :as rf]))
|
||||
|
||||
(defn get-currency
|
||||
[db]
|
||||
(get-in db [:profile/profile :currency] :usd))
|
||||
|
||||
(rf/defn set-currency
|
||||
{:events [:wallet-legacy.settings.ui/currency-selected]}
|
||||
[{:keys [db] :as cofx} currency]
|
||||
(rf/merge cofx
|
||||
(multiaccounts.update/multiaccount-update
|
||||
:currency
|
||||
currency
|
||||
;; on changing currency, we should fetch tokens prices again
|
||||
{:on-success #(rf/dispatch [:wallet/get-wallet-token])})))
|
||||
@@ -0,0 +1,21 @@
|
||||
(ns legacy.status-im.currency.core-test
|
||||
(:require
|
||||
[cljs.test :refer-macros [deftest is]]
|
||||
[legacy.status-im.currency.core :as models]))
|
||||
|
||||
(deftest get-currency
|
||||
(is (= :usd (models/get-currency {:profile/profile {:currency :usd}})))
|
||||
(is (= :usd (models/get-currency {:profile/profile {:not-empty "would throw an error if was empty"}})))
|
||||
(is (= :aud (models/get-currency {:profile/profile {:currency :aud}}))))
|
||||
|
||||
(deftest set-currency
|
||||
(let [cofx (models/set-currency {:db {:profile/profile {:not-empty
|
||||
"would throw an error if was empty"}}}
|
||||
:usd)]
|
||||
(is (= :usd (get-in cofx [:db :profile/profile :currency]))))
|
||||
(is
|
||||
(= :jpy
|
||||
(get-in (models/set-currency {:db {:profile/profile {:not-empty
|
||||
"would throw an error if was empty"}}}
|
||||
:jpy)
|
||||
[:db :profile/profile :currency]))))
|
||||
@@ -3,6 +3,7 @@
|
||||
(:require
|
||||
[clojure.set :as set]
|
||||
[clojure.string :as string]
|
||||
[legacy.status-im.bottom-sheet.events :as bottom-sheet]
|
||||
[legacy.status-im.ethereum.ens :as ens]
|
||||
[legacy.status-im.multiaccounts.update.core :as multiaccounts.update]
|
||||
[legacy.status-im.utils.random :as random]
|
||||
@@ -287,7 +288,7 @@
|
||||
[{:keys [db] :as cofx} _ {:keys [address]}]
|
||||
(rf/merge cofx
|
||||
{:db (assoc-in db [:ens/registration :address] address)}
|
||||
(navigation/hide-bottom-sheet)))
|
||||
(bottom-sheet/hide-bottom-sheet-old)))
|
||||
|
||||
(rf/defn save-preferred-name
|
||||
{:events [::save-preferred-name]}
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
legacy.status-im.browser.core
|
||||
legacy.status-im.browser.permissions
|
||||
legacy.status-im.chat.models.loading
|
||||
legacy.status-im.contact.block
|
||||
legacy.status-im.currency.core
|
||||
legacy.status-im.data-store.chats
|
||||
legacy.status-im.data-store.switcher-cards
|
||||
legacy.status-im.data-store.visibility-status-updates
|
||||
@@ -184,12 +186,11 @@
|
||||
(= :chat view-id)
|
||||
{:effects.async-storage/set {:chat-id (get-in cofx [:db :current-chat-id])
|
||||
:key-uid (get-in cofx [:db :profile/profile :key-uid])}
|
||||
:db (assoc db :screens/was-focused-once? true)
|
||||
:dispatch [:alert-banners/unhide]}
|
||||
:db (assoc db :screens/was-focused-once? true)}
|
||||
|
||||
(not (get db :screens/was-focused-once?))
|
||||
{:db (assoc db :screens/was-focused-once? true)})))
|
||||
|
||||
{:db (assoc db :screens/was-focused-once? true)})
|
||||
))
|
||||
|
||||
;;TODO :replace by named events
|
||||
(rf/defn set-event
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
(ns legacy.status-im.mobile-sync-settings.core
|
||||
(:require
|
||||
[legacy.status-im.bottom-sheet.events :as bottom-sheet]
|
||||
[legacy.status-im.mailserver.core :as mailserver]
|
||||
[legacy.status-im.multiaccounts.model :as multiaccounts.model]
|
||||
[legacy.status-im.multiaccounts.update.core :as multiaccounts.update]
|
||||
@@ -30,7 +31,7 @@
|
||||
(assoc :mailserver/current-request true))
|
||||
:fx [(when fetch-historic-messages?
|
||||
[:mailserver/request-all-historic-messages])
|
||||
[:dispatch [:hide-bottom-sheet]]
|
||||
[:dismiss-bottom-sheet-overlay-old]
|
||||
(when previously-initialized?
|
||||
(let [new-identity-input (get-in db [:contacts/new-identity :input])]
|
||||
[:dispatch [:contacts/set-new-identity {:input new-identity-input}]]))]}
|
||||
@@ -100,10 +101,10 @@
|
||||
[cofx]
|
||||
(rf/merge
|
||||
cofx
|
||||
(navigation/hide-bottom-sheet)
|
||||
(bottom-sheet/hide-bottom-sheet-old)
|
||||
(navigation/navigate-to :mobile-network-settings nil)))
|
||||
|
||||
(rf/defn mobile-network-show-offline-sheet
|
||||
{:events [:mobile-network/show-offline-sheet]}
|
||||
[cofx]
|
||||
(navigation/hide-bottom-sheet cofx))
|
||||
(bottom-sheet/hide-bottom-sheet-old cofx))
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
:selected-storage-type :default
|
||||
:selected-id (-> result first :id)
|
||||
:step :choose-key))))
|
||||
:navigate-to [:choose-name (:theme db)]})
|
||||
:navigate-to :choose-name})
|
||||
|
||||
(rf/defn generate-and-derive-addresses
|
||||
{:events [:generate-and-derive-addresses]}
|
||||
|
||||
@@ -1,8 +1,86 @@
|
||||
(ns legacy.status-im.node.core
|
||||
(:require
|
||||
[clojure.string :as string]
|
||||
[legacy.status-im.utils.deprecated-types :as types]
|
||||
[react-native.platform :as platform]
|
||||
[status-im.config :as config]))
|
||||
|
||||
(defn- add-log-level
|
||||
[config log-level]
|
||||
(if (empty? log-level)
|
||||
(assoc config
|
||||
:MaxPeers 20
|
||||
:MaxPendingPeers 20
|
||||
:LogLevel "ERROR"
|
||||
:LogEnabled false)
|
||||
(assoc config
|
||||
:MaxPeers 20
|
||||
:MaxPendingPeers 20
|
||||
:LogLevel log-level
|
||||
:LogEnabled true)))
|
||||
|
||||
(defn get-network-genesis-hash-prefix
|
||||
"returns the hex representation of the first 8 bytes of
|
||||
a network's genesis hash"
|
||||
[network]
|
||||
(case network
|
||||
1 "d4e56740f876aef8"
|
||||
3 "41941023680923e0"
|
||||
4 "6341fd3daf94b748"
|
||||
nil))
|
||||
|
||||
(defn get-les-topic
|
||||
"returns discovery v5 topic derived from genesis of the provided network"
|
||||
[network]
|
||||
(let [les-discovery-identifier "LES2@"
|
||||
hash-prefix (get-network-genesis-hash-prefix network)]
|
||||
(when hash-prefix
|
||||
(str les-discovery-identifier hash-prefix))))
|
||||
|
||||
(defn get-topics
|
||||
[network]
|
||||
(let [les-topic (get-les-topic network)]
|
||||
(cond-> {"whisper" {:Min 2 :Max 2}}
|
||||
les-topic (assoc les-topic {:Min 2 :Max 2}))))
|
||||
|
||||
(defn- get-base-node-config
|
||||
[config]
|
||||
(cond-> (assoc config
|
||||
:Name
|
||||
"StatusIM")
|
||||
config/dev-build?
|
||||
(assoc :ListenAddr ":0"
|
||||
:DataDir (str (:DataDir config) "_dev"))))
|
||||
|
||||
(def wakuv2-default-config
|
||||
{:DiscoveryLimit 20
|
||||
:EnableDiscV5 true
|
||||
:Host "0.0.0.0"
|
||||
:AutoUpdate true
|
||||
;; Temporary fix until https://github.com/status-im/status-go/issues/3024 is resolved
|
||||
:Nameserver "8.8.8.8"
|
||||
:PeerExchange true
|
||||
:Port 0
|
||||
:UDPPort 0
|
||||
:LightClient false})
|
||||
|
||||
(def login-node-config
|
||||
{:WalletConfig (cond-> {:Enabled true}
|
||||
(not= config/opensea-api-key "")
|
||||
(assoc :OpenseaAPIKey config/opensea-api-key))
|
||||
:WakuV2Config wakuv2-default-config})
|
||||
|
||||
(defn- get-login-node-config
|
||||
[config]
|
||||
(merge config login-node-config))
|
||||
|
||||
(defn- pick-nodes
|
||||
"Picks `limit` different nodes randomly from the list of nodes
|
||||
if there is more than `limit` nodes in the list, otherwise return the list
|
||||
of nodes"
|
||||
[limit nodes]
|
||||
(take limit (shuffle nodes)))
|
||||
|
||||
(defn fleets
|
||||
[{:keys [custom-fleets]}]
|
||||
(as-> [(js/require "./fleets.js")] $
|
||||
@@ -15,3 +93,85 @@
|
||||
(keyword (get-in db
|
||||
[:profile/profile :fleet]
|
||||
config/fleet)))
|
||||
|
||||
(defn get-current-fleet
|
||||
[db]
|
||||
(get (fleets db)
|
||||
(current-fleet-key db)))
|
||||
|
||||
(defn- wakuv2-enabled?
|
||||
[fleet]
|
||||
(let [ks (keys fleet)]
|
||||
(some #(string/includes? (str %) "waku") ks)))
|
||||
|
||||
(defn get-multiaccount-node-config
|
||||
[{:keys [profile/profile :networks/networks :networks/current-network]
|
||||
:as db}]
|
||||
(let [wakuv2-config (get profile :wakuv2-config {})
|
||||
fleet-key (current-fleet-key db)
|
||||
current-fleet (get-current-fleet db)
|
||||
wakuv2-enabled (wakuv2-enabled? current-fleet)
|
||||
waku-nodes (get config/waku-nodes-config fleet-key)
|
||||
rendezvous-nodes (pick-nodes 3 (vals (:rendezvous current-fleet)))
|
||||
{:keys [installation-id log-level
|
||||
waku-bloom-filter-mode]}
|
||||
profile]
|
||||
(cond-> (get-in networks [current-network :config])
|
||||
:always
|
||||
(get-base-node-config)
|
||||
|
||||
:always
|
||||
(get-login-node-config)
|
||||
|
||||
current-fleet
|
||||
(assoc :NoDiscovery wakuv2-enabled
|
||||
:Rendezvous (if wakuv2-enabled false (boolean (seq rendezvous-nodes)))
|
||||
:ClusterConfig {:Enabled true
|
||||
:Fleet (name fleet-key)
|
||||
:DiscV5BootstrapNodes
|
||||
(if wakuv2-enabled
|
||||
waku-nodes
|
||||
[])
|
||||
:TrustedMailServers
|
||||
(if wakuv2-enabled [] (pick-nodes 6 (vals (:mail current-fleet))))
|
||||
:StaticNodes
|
||||
(if wakuv2-enabled
|
||||
[]
|
||||
(into (pick-nodes 2
|
||||
(vals (:whisper current-fleet)))
|
||||
(vals (:static current-fleet))))
|
||||
:RendezvousNodes (if wakuv2-enabled [] rendezvous-nodes)
|
||||
:WakuNodes (or waku-nodes [])})
|
||||
|
||||
:always
|
||||
(assoc :LocalNotificationsConfig {:Enabled true}
|
||||
:KeycardPairingDataFile "/ethereum/mainnet_rpc/keycard/pairings.json"
|
||||
:BrowsersConfig {:Enabled true}
|
||||
:PermissionsConfig {:Enabled true}
|
||||
:MailserversConfig {:Enabled true}
|
||||
:EnableNTPSync true
|
||||
:WakuConfig
|
||||
{:Enabled (not wakuv2-enabled)
|
||||
:BloomFilterMode waku-bloom-filter-mode
|
||||
:LightClient true
|
||||
:MinimumPoW 0.000001}
|
||||
:WakuV2Config (merge (assoc wakuv2-config :Enabled wakuv2-enabled)
|
||||
wakuv2-default-config)
|
||||
:ShhextConfig
|
||||
{:BackupDisabledDataDir (if platform/android? "/../no_backup" "/")
|
||||
:InstallationID installation-id
|
||||
:MaxMessageDeliveryAttempts config/max-message-delivery-attempts
|
||||
:MailServerConfirmations config/mailserver-confirmations-enabled?
|
||||
:VerifyTransactionURL config/verify-transaction-url
|
||||
:VerifyENSURL config/verify-ens-url
|
||||
:VerifyENSContractAddress config/verify-ens-contract-address
|
||||
:VerifyTransactionChainID config/verify-transaction-chain-id
|
||||
:DataSyncEnabled true
|
||||
:PFSEnabled true}
|
||||
:RequireTopics (get-topics current-network)
|
||||
:StatusAccountsConfig {:Enabled true})
|
||||
|
||||
:always
|
||||
(add-log-level log-level))))
|
||||
|
||||
|
||||
|
||||
@@ -8,12 +8,11 @@
|
||||
[legacy.status-im.ui.screens.profile.visibility-status.utils :as visibility-status-utils]
|
||||
[quo.components.avatars.user-avatar.style :as user-avatar.style]
|
||||
[quo.core :as quo]
|
||||
[quo.theme]
|
||||
[quo.theme :as theme]
|
||||
[re-frame.core :as re-frame.core]
|
||||
[react-native.core :as rn]
|
||||
[status-im.contexts.profile.utils :as profile.utils]
|
||||
[utils.ens.core :as utils.ens]
|
||||
[utils.image-server :as image-server]))
|
||||
[utils.ens.core :as utils.ens]))
|
||||
|
||||
;;TODO REWORK THIS NAMESPACE
|
||||
|
||||
@@ -53,8 +52,7 @@
|
||||
|
||||
(defn profile-photo-plus-dot-view
|
||||
[{:keys [public-key full-name customization-color photo-container photo-path community?]}]
|
||||
(let [theme @(re-frame.core/subscribe [:theme])
|
||||
photo-container (if (nil? photo-container)
|
||||
(let [photo-container (if (nil? photo-container)
|
||||
styles/container-chat-list
|
||||
photo-container)
|
||||
size (:width photo-container)
|
||||
@@ -73,7 +71,8 @@
|
||||
{:size size
|
||||
:full-name full-name
|
||||
:font-size (get text-style :font-size)
|
||||
:background-color (user-avatar.style/customization-color customization-color theme)
|
||||
:background-color (user-avatar.style/customization-color customization-color
|
||||
(theme/get-theme))
|
||||
:indicator-size 0
|
||||
:indicator-border 0
|
||||
:indicator-color "#000000"
|
||||
@@ -157,11 +156,9 @@
|
||||
(styles/default-chat-icon-text size)
|
||||
(styles/emoji-chat-icon-text size))}
|
||||
override-styles)
|
||||
img-config (:config photo-path)
|
||||
photo-path (if img-config
|
||||
photo-path (if (:fn photo-path)
|
||||
;; temp support new media server avatar for old component
|
||||
{:uri (image-server/get-image-uri
|
||||
img-config
|
||||
{:uri ((:fn photo-path)
|
||||
{:size size
|
||||
:full-name name
|
||||
:font-size (get-in styles [:default-chat-icon-text :font-size])
|
||||
|
||||
@@ -151,7 +151,7 @@
|
||||
{:title (i18n/label :t/settings)
|
||||
:accessibility-label "settings"
|
||||
:theme :accent
|
||||
:on-press #(hide-sheet-and-dispatch [:navigate-to :legacy-sync-settings])
|
||||
:on-press #(hide-sheet-and-dispatch [:navigate-to :sync-settings])
|
||||
:icon :main-icons/settings}]
|
||||
(when mobile
|
||||
[:<>
|
||||
|
||||
@@ -223,28 +223,25 @@
|
||||
|
||||
(defn show-image-picker
|
||||
([images-fn]
|
||||
(show-image-picker images-fn nil nil))
|
||||
(show-image-picker images-fn nil))
|
||||
([images-fn
|
||||
{:keys [media-type]
|
||||
:or {media-type "any"}
|
||||
:as props}
|
||||
finally-callback]
|
||||
:as props}]
|
||||
(-> ^js image-picker
|
||||
(.openPicker (clj->js (merge {:mediaType media-type}
|
||||
props)))
|
||||
(.then images-fn)
|
||||
(.catch show-access-error)
|
||||
(.finally finally-callback))))
|
||||
(.catch show-access-error))))
|
||||
|
||||
(defn show-image-picker-camera
|
||||
([images-fn]
|
||||
(show-image-picker-camera images-fn nil nil))
|
||||
([images-fn props finally-callback]
|
||||
(show-image-picker-camera images-fn nil))
|
||||
([images-fn props]
|
||||
(-> ^js image-picker
|
||||
(.openCamera (clj->js props))
|
||||
(.then images-fn)
|
||||
(.catch show-access-error)
|
||||
(.finally finally-callback))))
|
||||
(.catch show-access-error))))
|
||||
|
||||
;; Clipboard
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
(:require
|
||||
[legacy.status-im.ui.components.core :as quo]
|
||||
[quo.foundations.colors :as quo.colors]
|
||||
[quo.theme]
|
||||
[re-frame.core :as re-frame]
|
||||
[react-native.safe-area :as safe-area]))
|
||||
|
||||
@@ -33,8 +32,7 @@
|
||||
:or {border-bottom? true
|
||||
new-ui? false}
|
||||
:as props}]
|
||||
(let [theme (quo.theme/use-theme)
|
||||
navigation (if (= navigation :none)
|
||||
(let [navigation (if (= navigation :none)
|
||||
nil
|
||||
[(default-navigation modal? navigation)])]
|
||||
[quo/header
|
||||
@@ -49,5 +47,4 @@
|
||||
{:right-accessories right-accessories})
|
||||
(when new-ui?
|
||||
{:background (quo.colors/theme-colors quo.colors/neutral-5
|
||||
quo.colors/neutral-95
|
||||
theme)}))]))
|
||||
quo.colors/neutral-95)}))]))
|
||||
|
||||
@@ -5,9 +5,11 @@
|
||||
[legacy.status-im.ui.components.icons.icons :as icons]
|
||||
[legacy.status-im.ui.components.list.item :as list.item]
|
||||
[legacy.status-im.ui.components.react :as react]
|
||||
[quo.core :as quo]
|
||||
[utils.i18n :as i18n]
|
||||
[utils.re-frame :as rf])
|
||||
[legacy.status-im.ui.components.webview :refer [webview]]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.constants :refer
|
||||
[principles-link privacy-policy-link terms-of-service-link]]
|
||||
[utils.i18n :as i18n])
|
||||
(:require-macros [legacy.status-im.utils.views :as views]))
|
||||
|
||||
(views/defview about-app
|
||||
@@ -15,38 +17,44 @@
|
||||
(views/letsubs [app-version [:get-app-short-version]
|
||||
commit-hash [:get-commit-hash]
|
||||
node-version [:get-app-node-version]]
|
||||
[:<>
|
||||
[quo/page-nav
|
||||
{:type :title
|
||||
:title (i18n/label :t/about-app)
|
||||
:background :blur
|
||||
:icon-name :i/close
|
||||
:on-press #(rf/dispatch [:navigate-back])}]
|
||||
[react/scroll-view
|
||||
[copyable-text/copyable-text-view
|
||||
{:copied-text app-version}
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:accessibility-label :app-version
|
||||
:title (i18n/label :t/version)
|
||||
:accessory :text
|
||||
:accessory-text app-version}]]
|
||||
[copyable-text/copyable-text-view
|
||||
{:copied-text commit-hash}
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:accessibility-label :commit-hash
|
||||
:title (i18n/label :t/app-commit)
|
||||
:accessory :text
|
||||
:accessory-text commit-hash}]]
|
||||
[copyable-text/copyable-text-view
|
||||
{:copied-text node-version}
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:accessibility-label :node-version
|
||||
:title (i18n/label :t/node-version)
|
||||
:accessory :text
|
||||
:accessory-text node-version}]]]]))
|
||||
[react/scroll-view
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/privacy-policy)
|
||||
:accessibility-label :privacy-policy
|
||||
:on-press
|
||||
#(re-frame/dispatch [:navigate-to :privacy-policy])
|
||||
:chevron true}]
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/terms-of-service)
|
||||
:accessibility-label :terms-of-service
|
||||
:on-press #(re-frame/dispatch [:navigate-to :terms-of-service])
|
||||
:chevron true}]
|
||||
[copyable-text/copyable-text-view
|
||||
{:copied-text app-version}
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:accessibility-label :app-version
|
||||
:title (i18n/label :t/version)
|
||||
:accessory :text
|
||||
:accessory-text app-version}]]
|
||||
[copyable-text/copyable-text-view
|
||||
{:copied-text commit-hash}
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:accessibility-label :commit-hash
|
||||
:title (i18n/label :t/app-commit)
|
||||
:accessory :text
|
||||
:accessory-text commit-hash}]]
|
||||
[copyable-text/copyable-text-view
|
||||
{:copied-text node-version}
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:accessibility-label :node-version
|
||||
:title (i18n/label :t/node-version)
|
||||
:accessory :text
|
||||
:accessory-text node-version}]]]))
|
||||
|
||||
(views/defview learn-more-sheet
|
||||
[]
|
||||
@@ -65,3 +73,21 @@
|
||||
|
||||
(def learn-more
|
||||
{:content learn-more-sheet})
|
||||
|
||||
(views/defview privacy-policy
|
||||
[]
|
||||
[webview
|
||||
{:source {:uri privacy-policy-link}
|
||||
:java-script-enabled true}])
|
||||
|
||||
(views/defview tos
|
||||
[]
|
||||
[webview
|
||||
{:source {:uri terms-of-service-link}
|
||||
:java-script-enabled true}])
|
||||
|
||||
(views/defview principles
|
||||
[]
|
||||
[webview
|
||||
{:source {:uri principles-link}
|
||||
:java-script-enabled true}])
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
(ns legacy.status-im.ui.screens.advanced-settings.views
|
||||
(:require
|
||||
[legacy.status-im.ui.components.core :as components]
|
||||
[legacy.status-im.ui.components.core :as quo]
|
||||
[legacy.status-im.ui.components.list.item :as list.item]
|
||||
[legacy.status-im.ui.components.list.views :as list]
|
||||
[quo.core :as quo]
|
||||
[re-frame.core :as re-frame]
|
||||
[utils.i18n :as i18n]
|
||||
[utils.re-frame :as rf])
|
||||
[utils.i18n :as i18n])
|
||||
(:require-macros [legacy.status-im.utils.views :as views]))
|
||||
|
||||
(defn hide-sheet-and-dispatch
|
||||
@@ -16,9 +14,10 @@
|
||||
|
||||
(defn- normal-mode-settings-data
|
||||
[{:keys [current-log-level
|
||||
telemetry-enabled?
|
||||
light-client-enabled?
|
||||
transactions-management-enabled?
|
||||
current-fleet
|
||||
webview-debug
|
||||
test-networks-enabled?
|
||||
is-goerli-enabled?
|
||||
peer-syncing-enabled?]}]
|
||||
@@ -28,7 +27,7 @@
|
||||
:title (i18n/label :t/log-level)
|
||||
:accessibility-label :log-level-settings-button
|
||||
:on-press
|
||||
#(re-frame/dispatch [:open-modal :legacy-:og-level-settings])
|
||||
#(re-frame/dispatch [:open-modal :log-level-settings])
|
||||
:accessory :text
|
||||
:accessory-text current-log-level
|
||||
:chevron true}
|
||||
@@ -60,14 +59,6 @@
|
||||
:on-press
|
||||
#(re-frame/dispatch [:open-modal :peers-stats])
|
||||
:chevron true}
|
||||
{:size :small
|
||||
:title "Telemetry"
|
||||
:accessibility-label :telemetry-enabled
|
||||
:container-margin-bottom 8
|
||||
:on-press
|
||||
#(re-frame/dispatch [:profile.settings/toggle-telemetry])
|
||||
:accessory :switch
|
||||
:active telemetry-enabled?}
|
||||
{:size :small
|
||||
:title (i18n/label :t/light-client-enabled)
|
||||
:accessibility-label :light-client-enabled
|
||||
@@ -77,6 +68,25 @@
|
||||
[:wakuv2.ui/toggle-light-client (not light-client-enabled?)])
|
||||
:accessory :switch
|
||||
:active light-client-enabled?}
|
||||
{:size :small
|
||||
:title (i18n/label :t/transactions-management-enabled)
|
||||
:accessibility-label :transactions-management-enabled
|
||||
:container-margin-bottom 8
|
||||
:on-press
|
||||
#(re-frame/dispatch
|
||||
[:multiaccounts.ui/switch-transactions-management-enabled
|
||||
(not transactions-management-enabled?)])
|
||||
:accessory :switch
|
||||
:active transactions-management-enabled?}
|
||||
{:size :small
|
||||
:title "Webview debug"
|
||||
:accessibility-label :webview-debug-switch
|
||||
:container-margin-bottom 8
|
||||
:on-press
|
||||
#(re-frame/dispatch
|
||||
[:profile.settings/change-webview-debug (not webview-debug)])
|
||||
:accessory :switch
|
||||
:active webview-debug}
|
||||
{:size :small
|
||||
:title "Testnet mode"
|
||||
:accessibility-label :test-networks-enabled
|
||||
@@ -100,7 +110,13 @@
|
||||
:on-press
|
||||
#(re-frame/dispatch [:profile.settings/toggle-peer-syncing])
|
||||
:accessory :switch
|
||||
:active peer-syncing-enabled?}]))
|
||||
:active peer-syncing-enabled?}
|
||||
{:size :small
|
||||
:title (i18n/label :t/set-currency)
|
||||
:accessibility-label :wallet-change-currency
|
||||
:on-press #(hide-sheet-and-dispatch
|
||||
[:open-modal :currency-settings])
|
||||
:chevron true}]))
|
||||
|
||||
(defn- flat-list-data
|
||||
[options]
|
||||
@@ -109,34 +125,29 @@
|
||||
(defn- render-item
|
||||
[props]
|
||||
(if (= (:type props) :section-header)
|
||||
[components/list-header (:title props)]
|
||||
[quo/list-header (:title props)]
|
||||
[list.item/list-item props]))
|
||||
|
||||
(views/defview advanced-settings
|
||||
[]
|
||||
(views/letsubs [test-networks-enabled? [:profile/test-networks-enabled?]
|
||||
is-goerli-enabled? [:profile/is-goerli-enabled?]
|
||||
light-client-enabled? [:profile/light-client-enabled?]
|
||||
telemetry-enabled? [:profile/telemetry-enabled?]
|
||||
current-log-level [:log-level/current-log-level]
|
||||
current-fleet [:fleets/current-fleet]
|
||||
peer-syncing-enabled? [:profile/peer-syncing-enabled?]]
|
||||
[:<>
|
||||
[quo/page-nav
|
||||
{:type :title
|
||||
:title (i18n/label :t/advanced)
|
||||
:background :blur
|
||||
:icon-name :i/close
|
||||
:on-press #(rf/dispatch [:navigate-back])}]
|
||||
[list/flat-list
|
||||
{:data (flat-list-data
|
||||
{:current-log-level current-log-level
|
||||
:telemetry-enabled? telemetry-enabled?
|
||||
:light-client-enabled? light-client-enabled?
|
||||
:current-fleet current-fleet
|
||||
:dev-mode? false
|
||||
:test-networks-enabled? test-networks-enabled?
|
||||
:is-goerli-enabled? is-goerli-enabled?
|
||||
:peer-syncing-enabled? peer-syncing-enabled?})
|
||||
:key-fn (fn [_ i] (str i))
|
||||
:render-fn render-item}]]))
|
||||
(views/letsubs [test-networks-enabled? [:profile/test-networks-enabled?]
|
||||
is-goerli-enabled? [:profile/is-goerli-enabled?]
|
||||
light-client-enabled? [:profile/light-client-enabled?]
|
||||
webview-debug [:profile/webview-debug]
|
||||
transactions-management-enabled? [:wallet-legacy/transactions-management-enabled?]
|
||||
current-log-level [:log-level/current-log-level]
|
||||
current-fleet [:fleets/current-fleet]
|
||||
peer-syncing-enabled? [:profile/peer-syncing-enabled?]]
|
||||
[list/flat-list
|
||||
{:data (flat-list-data
|
||||
{:current-log-level current-log-level
|
||||
:transactions-management-enabled? transactions-management-enabled?
|
||||
:light-client-enabled? light-client-enabled?
|
||||
:current-fleet current-fleet
|
||||
:dev-mode? false
|
||||
:webview-debug webview-debug
|
||||
:test-networks-enabled? test-networks-enabled?
|
||||
:is-goerli-enabled? is-goerli-enabled?
|
||||
:peer-syncing-enabled? peer-syncing-enabled?})
|
||||
:key-fn (fn [_ i] (str i))
|
||||
:render-fn render-item}]))
|
||||
|
||||
@@ -3,12 +3,10 @@
|
||||
(:require
|
||||
[legacy.status-im.react-native.resources :as resources]
|
||||
[legacy.status-im.ui.components.colors :as colors]
|
||||
[legacy.status-im.ui.components.core :as components]
|
||||
[legacy.status-im.ui.components.core :as quo]
|
||||
[legacy.status-im.ui.components.react :as react]
|
||||
[quo.core :as quo]
|
||||
[re-frame.core :as re-frame]
|
||||
[utils.i18n :as i18n]
|
||||
[utils.re-frame :as rf]))
|
||||
[utils.i18n :as i18n]))
|
||||
|
||||
(defn button
|
||||
[label icon theme selected?]
|
||||
@@ -26,13 +24,7 @@
|
||||
[]
|
||||
(views/letsubs [{:keys [appearance]} [:profile/profile]]
|
||||
[:<>
|
||||
[quo/page-nav
|
||||
{:type :title
|
||||
:title (i18n/label :t/appearance)
|
||||
:background :blur
|
||||
:icon-name :i/close
|
||||
:on-press #(rf/dispatch [:navigate-back])}]
|
||||
[components/list-header (i18n/label :t/preference)]
|
||||
[quo/list-header (i18n/label :t/preference)]
|
||||
[react/view
|
||||
{:flex-direction :row
|
||||
:padding-horizontal 8
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
:on-press #(re-frame/dispatch [:browser.ui/open-url url])
|
||||
:on-long-press (fn []
|
||||
(re-frame/dispatch
|
||||
[:show-bottom-sheet
|
||||
[:bottom-sheet/show-sheet-old
|
||||
{:content (fn []
|
||||
[react/view {:flex 1}
|
||||
[list.item/list-item
|
||||
@@ -110,7 +110,7 @@
|
||||
[quo/button
|
||||
{:accessibility-label :select-account
|
||||
:type :scale
|
||||
:on-press #(re-frame/dispatch [:show-bottom-sheet
|
||||
:on-press #(re-frame/dispatch [:bottom-sheet/show-sheet-old
|
||||
{:content (accounts/accounts-list accounts
|
||||
dapps-account)}])}
|
||||
[react/view (styles/dapps-account color)
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
(:require
|
||||
[legacy.status-im.browser.core :as browser]
|
||||
[legacy.status-im.browser.webview-ref :as webview-ref]
|
||||
[legacy.status-im.qr-scanner.core :as qr-scanner]
|
||||
[legacy.status-im.ui.components.chat-icon.screen :as chat-icon]
|
||||
[legacy.status-im.ui.components.colors :as colors]
|
||||
[legacy.status-im.ui.components.connectivity.view :as connectivity]
|
||||
@@ -91,7 +92,7 @@
|
||||
[icons/icon :main-icons/arrow-right {:color colors/black}]]
|
||||
[react/touchable-highlight
|
||||
{:accessibility-label :select-account
|
||||
:on-press #(re-frame/dispatch [:show-bottom-sheet
|
||||
:on-press #(re-frame/dispatch [:bottom-sheet/show-sheet-old
|
||||
{:content (accounts/accounts-list accounts
|
||||
dapps-account)}])}
|
||||
[chat-icon/custom-icon-view-list (:name dapps-account) (:color dapps-account) 32]]
|
||||
@@ -104,11 +105,13 @@
|
||||
(if empty-tab
|
||||
[react/touchable-highlight
|
||||
{:accessibility-label :universal-qr-scanner
|
||||
:on-press #(re-frame/dispatch [:open-modal :shell-qr-reader])}
|
||||
:on-press #(re-frame/dispatch
|
||||
[::qr-scanner/scan-code
|
||||
{:handler ::qr-scanner/on-scan-success}])}
|
||||
[icons/icon :main-icons/qr {:color colors/black}]]
|
||||
[react/touchable-highlight
|
||||
{:on-press #(re-frame/dispatch
|
||||
[:show-bottom-sheet
|
||||
[:bottom-sheet/show-sheet-old
|
||||
{:content (options/browser-options
|
||||
url
|
||||
dapps-account
|
||||
@@ -162,7 +165,7 @@
|
||||
(defn request-resources-access-for-page
|
||||
[resources url webview-ref]
|
||||
(re-frame/dispatch
|
||||
[:show-bottom-sheet
|
||||
[:bottom-sheet/show-sheet-old
|
||||
{:content (fn [] [request-resources-panel resources url webview-ref])
|
||||
:show-handle? false
|
||||
:backdrop-dismiss? false
|
||||
@@ -172,7 +175,7 @@
|
||||
(defn block-resources-access-and-notify-user
|
||||
[url]
|
||||
(.answerPermissionRequest ^js @webview-ref/webview-ref false)
|
||||
(re-frame/dispatch [:show-bottom-sheet
|
||||
(re-frame/dispatch [:bottom-sheet/show-sheet-old
|
||||
{:content (fn [] [block-resources-panel url])}]))
|
||||
|
||||
;; should-component-update is called only when component's props are changed,
|
||||
|
||||
@@ -1,27 +1,23 @@
|
||||
(ns legacy.status-im.ui.screens.bug-report
|
||||
(:require
|
||||
[legacy.status-im.ui.components.core :as component]
|
||||
[quo.core :as quo]
|
||||
[legacy.status-im.ui.components.core :as quo]
|
||||
[legacy.status-im.ui.components.topbar :as topbar]
|
||||
[re-frame.core :as re-frame]
|
||||
[react-native.core :as react-native]
|
||||
[utils.i18n :as i18n]
|
||||
[utils.re-frame :as rf]))
|
||||
[utils.i18n :as i18n]))
|
||||
|
||||
(defn bug-report
|
||||
[]
|
||||
(let [{:keys [description steps]} @(re-frame/subscribe [:bug-report/details])]
|
||||
[react-native/view {:style {:flex 1}}
|
||||
[quo/page-nav
|
||||
{:type :title
|
||||
:title (i18n/label :t/bug-report)
|
||||
:background :blur
|
||||
:icon-name :i/close
|
||||
:on-press #(rf/dispatch [:navigate-back])}]
|
||||
[topbar/topbar
|
||||
{:title (i18n/label :t/bug-report)
|
||||
:modal? true}]
|
||||
[react-native/view
|
||||
{:style {:flex 1
|
||||
:padding-top 8
|
||||
:padding-horizontal 16}}
|
||||
[component/text-input
|
||||
[quo/text-input
|
||||
{:label (i18n/label :t/bug-report-description)
|
||||
:default-value description
|
||||
:placeholder (i18n/label :t/bug-report-description-placeholder)
|
||||
@@ -30,7 +26,7 @@
|
||||
:error @(re-frame/subscribe [:bug-report/description-error])
|
||||
:accessibility-label :bug-report-description
|
||||
:on-change-text #(re-frame/dispatch [:logging/report-details :description %])}]
|
||||
[component/text-input
|
||||
[quo/text-input
|
||||
{:label (i18n/label :t/bug-report-steps)
|
||||
:default-value steps
|
||||
:placeholder (i18n/label :t/bug-report-steps-placeholder)
|
||||
@@ -38,7 +34,7 @@
|
||||
:multiline true
|
||||
:accessibility-label :bug-report-steps
|
||||
:on-change-text #(re-frame/dispatch [:logging/report-details :steps %])}]
|
||||
[component/button
|
||||
[quo/button
|
||||
{:type :primary
|
||||
:accessibility-label :bug-report-submit
|
||||
:theme :accent
|
||||
@@ -47,8 +43,8 @@
|
||||
[react-native/view
|
||||
{:style {:margin-vertical 16
|
||||
:align-items :center}}
|
||||
[component/text (i18n/label :t/or)]]
|
||||
[component/button
|
||||
[quo/text (i18n/label :t/or)]]
|
||||
[quo/button
|
||||
{:type :primary
|
||||
:accessibility-label :bug-report-submit-gh-issue
|
||||
:theme :accent
|
||||
|
||||
@@ -46,22 +46,22 @@
|
||||
:color colors/gray})
|
||||
|
||||
(defn message-default-style
|
||||
[theme]
|
||||
[]
|
||||
{:font-family "Inter-Regular"
|
||||
:color (quo.colors/theme-colors quo.colors/neutral-100 quo.colors/white theme)
|
||||
:color (quo.colors/theme-colors quo.colors/neutral-100 quo.colors/white)
|
||||
:font-size 15
|
||||
:line-height 21.75
|
||||
:letter-spacing -0.135})
|
||||
|
||||
;; Markdown styles
|
||||
(defn default-text-style
|
||||
[theme]
|
||||
[]
|
||||
{:max-font-size-multiplier react/max-font-size-multiplier
|
||||
:style (message-default-style theme)})
|
||||
:style (message-default-style)})
|
||||
|
||||
(defn system-text-style
|
||||
[theme]
|
||||
(update (default-text-style theme)
|
||||
[]
|
||||
(update (default-text-style)
|
||||
:style assoc
|
||||
:color colors/gray
|
||||
:line-height 20
|
||||
@@ -70,65 +70,65 @@
|
||||
:font-weight "400"))
|
||||
|
||||
(defn text-style
|
||||
[content-type in-popover? theme]
|
||||
[content-type in-popover?]
|
||||
(merge
|
||||
(when in-popover? {:number-of-lines 2})
|
||||
(cond
|
||||
(= content-type constants/content-type-system-text) (system-text-style theme)
|
||||
(= content-type constants/content-type-system-pinned-message) (system-text-style theme)
|
||||
:else (default-text-style theme))))
|
||||
(= content-type constants/content-type-system-text) (system-text-style)
|
||||
(= content-type constants/content-type-system-pinned-message) (system-text-style)
|
||||
:else (default-text-style))))
|
||||
|
||||
(defn emph-text-style
|
||||
[theme]
|
||||
(update (default-text-style theme)
|
||||
[]
|
||||
(update (default-text-style)
|
||||
:style
|
||||
assoc
|
||||
:font-style :italic))
|
||||
|
||||
(defn emph-style
|
||||
[theme]
|
||||
(emph-text-style theme))
|
||||
[]
|
||||
(emph-text-style))
|
||||
|
||||
(defn strong-text-style
|
||||
[theme]
|
||||
(update (default-text-style theme)
|
||||
[]
|
||||
(update (default-text-style)
|
||||
:style
|
||||
assoc
|
||||
:font-weight "700"))
|
||||
|
||||
(defn outgoing-strong-text-style
|
||||
[theme]
|
||||
(update (strong-text-style theme)
|
||||
[]
|
||||
(update (strong-text-style)
|
||||
:style
|
||||
assoc
|
||||
:color colors/white-persist))
|
||||
|
||||
(defn strong-style
|
||||
[theme]
|
||||
(outgoing-strong-text-style theme)
|
||||
(strong-text-style theme))
|
||||
[]
|
||||
(outgoing-strong-text-style)
|
||||
(strong-text-style))
|
||||
|
||||
(defn strong-emph-style
|
||||
[theme]
|
||||
(update (strong-style theme)
|
||||
[]
|
||||
(update (strong-style)
|
||||
:style
|
||||
assoc
|
||||
:font-style :italic))
|
||||
|
||||
(defn strikethrough-style
|
||||
[theme]
|
||||
(cond-> (update (default-text-style theme)
|
||||
[]
|
||||
(cond-> (update (default-text-style)
|
||||
:style
|
||||
assoc
|
||||
:text-decoration-line :line-through)))
|
||||
|
||||
(defn edited-style
|
||||
[theme]
|
||||
[]
|
||||
(cond->
|
||||
(update (default-text-style theme)
|
||||
(update (default-text-style)
|
||||
:style
|
||||
assoc
|
||||
:color (quo.colors/theme-colors quo.colors/neutral-40 quo.colors/neutral-50 theme)
|
||||
:color (quo.colors/theme-colors quo.colors/neutral-40 quo.colors/neutral-50)
|
||||
:font-size 13
|
||||
:line-height 18.2
|
||||
:letter-spacing (typography/tracking 13))))
|
||||
@@ -149,8 +149,8 @@
|
||||
(default-blockquote-style))
|
||||
|
||||
(defn default-blockquote-text-style
|
||||
[theme]
|
||||
(update (default-text-style theme)
|
||||
[]
|
||||
(update (default-text-style)
|
||||
:style
|
||||
assoc
|
||||
:line-height 19
|
||||
@@ -158,16 +158,16 @@
|
||||
:color colors/black-transparent-50))
|
||||
|
||||
(defn outgoing-blockquote-text-style
|
||||
[theme]
|
||||
(update (default-blockquote-text-style theme)
|
||||
[]
|
||||
(update (default-blockquote-text-style)
|
||||
:style
|
||||
assoc
|
||||
:color colors/white-transparent-70-persist))
|
||||
|
||||
(defn blockquote-text-style
|
||||
[theme]
|
||||
(outgoing-blockquote-text-style theme)
|
||||
(default-blockquote-text-style theme))
|
||||
[]
|
||||
(outgoing-blockquote-text-style)
|
||||
(default-blockquote-text-style))
|
||||
|
||||
(defn community-verified
|
||||
[]
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
[quo.core :as quo]
|
||||
[quo.foundations.colors :as colors]
|
||||
[quo.foundations.typography :as typography]
|
||||
[quo.theme]
|
||||
[react-native.core :as rn]
|
||||
[status-im.constants :as constants]
|
||||
[status-im.contexts.chat.messenger.messages.delete-message-for-me.events]
|
||||
@@ -27,7 +26,7 @@
|
||||
|
||||
(defn render-inline
|
||||
[_message-text content-type acc {:keys [type literal destination]}
|
||||
community-id theme]
|
||||
community-id]
|
||||
(case type
|
||||
""
|
||||
(conj acc literal)
|
||||
@@ -36,34 +35,30 @@
|
||||
(conj acc [rn/text literal])
|
||||
|
||||
"emph"
|
||||
(conj acc [rn/text (style/emph-style theme) literal])
|
||||
(conj acc [rn/text (style/emph-style) literal])
|
||||
|
||||
"strong"
|
||||
(conj acc [rn/text (style/strong-style theme) literal])
|
||||
(conj acc [rn/text (style/strong-style) literal])
|
||||
|
||||
"strong-emph"
|
||||
(conj acc [quo/text (style/strong-emph-style theme) literal])
|
||||
(conj acc [quo/text (style/strong-emph-style) literal])
|
||||
|
||||
"del"
|
||||
(conj acc [rn/text (style/strikethrough-style theme) literal])
|
||||
(conj acc [rn/text (style/strikethrough-style) literal])
|
||||
|
||||
"link"
|
||||
(conj
|
||||
acc
|
||||
[rn/text
|
||||
{:style {:color (colors/theme-colors colors/primary-50 colors/primary-60 theme)
|
||||
:text-decoration-line :underline}
|
||||
:on-press #(rf/dispatch [:browser.ui/message-link-pressed destination])}
|
||||
destination])
|
||||
(conj acc
|
||||
[rn/text
|
||||
{:style {:color (colors/theme-colors colors/primary-50 colors/primary-60)
|
||||
:text-decoration-line :underline}
|
||||
:on-press #(rf/dispatch [:browser.ui/message-link-pressed destination])}
|
||||
destination])
|
||||
|
||||
"mention"
|
||||
(conj
|
||||
acc
|
||||
[rn/view
|
||||
{:style {:background-color colors/primary-50-opa-10
|
||||
:border-radius 6
|
||||
:padding-horizontal 3
|
||||
:margin-top -3}}
|
||||
{:style {:background-color colors/primary-50-opa-10 :border-radius 6 :padding-horizontal 3}}
|
||||
[rn/text
|
||||
{:style (merge {:color (if (system-text? content-type) quo.colors/black colors/primary-50)}
|
||||
(if (system-text? content-type) typography/font-regular typography/font-medium))
|
||||
@@ -71,18 +66,17 @@
|
||||
#(rf/dispatch [:chat.ui/show-profile literal]))}
|
||||
[mention-element literal]]])
|
||||
"status-tag"
|
||||
(conj
|
||||
acc
|
||||
[rn/text
|
||||
(when community-id
|
||||
{:style {:color (colors/theme-colors colors/primary-50 colors/primary-60 theme)
|
||||
:text-decoration-line :underline}
|
||||
:on-press #(rf/dispatch [:communities/status-tag-pressed community-id literal])})
|
||||
"#"
|
||||
literal])
|
||||
(conj acc
|
||||
[rn/text
|
||||
(when community-id
|
||||
{:style {:color (colors/theme-colors colors/primary-50 colors/primary-60)
|
||||
:text-decoration-line :underline}
|
||||
:on-press #(rf/dispatch [:communities/status-tag-pressed community-id literal])})
|
||||
"#"
|
||||
literal])
|
||||
|
||||
"edited"
|
||||
(conj acc [rn/text (style/edited-style theme) (str " (" (i18n/label :t/edited) ")")])
|
||||
(conj acc [rn/text (style/edited-style) (str " (" (i18n/label :t/edited) ")")])
|
||||
|
||||
(conj acc literal)))
|
||||
|
||||
@@ -90,7 +84,7 @@
|
||||
(defn render-block
|
||||
[{:keys [content content-type edited-at in-popover?]} acc
|
||||
{:keys [type ^js literal children]}
|
||||
community-id theme]
|
||||
community-id]
|
||||
|
||||
(case type
|
||||
|
||||
@@ -102,9 +96,8 @@
|
||||
content-type
|
||||
acc
|
||||
e
|
||||
community-id
|
||||
theme))
|
||||
[rn/text (style/text-style content-type in-popover? theme)]
|
||||
community-id))
|
||||
[rn/text (style/text-style content-type in-popover?)]
|
||||
(conj
|
||||
children
|
||||
(when edited-at
|
||||
@@ -113,7 +106,7 @@
|
||||
"blockquote"
|
||||
(conj acc
|
||||
[rn/view (style/blockquote-style)
|
||||
[rn/text (style/blockquote-text-style theme)
|
||||
[rn/text (style/blockquote-text-style)
|
||||
(.substring literal 0 (.-length literal))]])
|
||||
|
||||
"codeblock"
|
||||
@@ -126,14 +119,12 @@
|
||||
(defn render-parsed-text
|
||||
[{:keys [content chat-id]
|
||||
:as message-data}]
|
||||
(let [community-id (rf/sub [:community-id-by-chat-id chat-id])
|
||||
theme (quo.theme/use-theme)]
|
||||
(let [community-id (rf/sub [:community-id-by-chat-id chat-id])]
|
||||
(reduce (fn [acc e]
|
||||
(render-block message-data
|
||||
acc
|
||||
e
|
||||
community-id
|
||||
theme))
|
||||
community-id))
|
||||
[:<>]
|
||||
(:parsed-text content))))
|
||||
|
||||
@@ -146,13 +137,12 @@
|
||||
;; STATUS ? whats that ?
|
||||
(defmethod ->message constants/content-type-status
|
||||
[{:keys [content content-type]}]
|
||||
(let [theme (quo.theme/use-theme)]
|
||||
[rn/view style/status-container
|
||||
[rn/text {:style (style/status-text)}
|
||||
(reduce
|
||||
(fn [acc e] (render-inline (:text content) content-type acc e nil theme))
|
||||
[rn/text {:style (style/status-text)}]
|
||||
(-> content :parsed-text peek :children))]]))
|
||||
[rn/view style/status-container
|
||||
[rn/text {:style (style/status-text)}
|
||||
(reduce
|
||||
(fn [acc e] (render-inline (:text content) content-type acc e nil))
|
||||
[rn/text {:style (style/status-text)}]
|
||||
(-> content :parsed-text peek :children))]])
|
||||
|
||||
(defn contact-request-status-pending
|
||||
[]
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
(ns legacy.status-im.ui.screens.communities.invite
|
||||
(:require
|
||||
[clojure.string :as string]
|
||||
[legacy.status-im.communities.core :as communities]
|
||||
[legacy.status-im.ui.components.chat-icon.screen :as chat-icon.screen]
|
||||
[legacy.status-im.ui.components.core :as quo]
|
||||
[legacy.status-im.ui.components.list.item :as list.item]
|
||||
[legacy.status-im.ui.components.toolbar :as toolbar]
|
||||
[legacy.status-im.ui.components.topbar :as topbar]
|
||||
[quo.theme]
|
||||
[react-native.core :as rn]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.constants :as constants]
|
||||
[utils.debounce :as debounce]
|
||||
[utils.i18n :as i18n]
|
||||
[utils.re-frame :as rf]))
|
||||
|
||||
@@ -48,35 +49,18 @@
|
||||
contacts-selected (reagent/atom #{})
|
||||
{:keys [invite?]} (rf/sub [:get-screen-params])]
|
||||
(fn []
|
||||
(let [theme (quo.theme/use-theme)
|
||||
contacts-data (rf/sub [:contacts/active])
|
||||
{community-id :id
|
||||
:keys [permissions
|
||||
can-manage-users?]}
|
||||
(let [contacts-data (rf/sub [:contacts/active])
|
||||
{:keys [permissions
|
||||
can-manage-users?]}
|
||||
(rf/sub [:communities/edited-community])
|
||||
selected @contacts-selected
|
||||
selected-contacts-count (count selected)
|
||||
contacts (map (fn [{:keys [public-key] :as contact}]
|
||||
(assoc contact :active (contains? selected public-key)))
|
||||
contacts-data)
|
||||
;; no-membership communities can only be shared
|
||||
can-invite? (and can-manage-users?
|
||||
invite?
|
||||
(not= (:access permissions) constants/community-no-membership-access))
|
||||
on-press-share-community (rn/use-callback
|
||||
(fn []
|
||||
(rf/dispatch [:communities/share-community-confirmation-pressed
|
||||
selected community-id])
|
||||
(rf/dispatch [:navigate-back])
|
||||
(rf/dispatch [:toasts/upsert
|
||||
{:type :positive
|
||||
:theme theme
|
||||
:text (if (= 1 selected-contacts-count)
|
||||
(i18n/label :t/one-user-was-invited)
|
||||
(i18n/label
|
||||
:t/n-users-were-invited
|
||||
{:count selected-contacts-count}))}]))
|
||||
[community-id selected selected-contacts-count theme])]
|
||||
(not= (:access permissions) constants/community-no-membership-access))]
|
||||
[:<>
|
||||
[topbar/topbar
|
||||
{:title (i18n/label (if can-invite?
|
||||
@@ -97,8 +81,11 @@
|
||||
:center
|
||||
[quo/button
|
||||
{:disabled (and (string/blank? @user-pk)
|
||||
(zero? selected-contacts-count))
|
||||
(zero? (count selected)))
|
||||
:accessibility-label :share-community-link
|
||||
:type :secondary
|
||||
:on-press on-press-share-community}
|
||||
:on-press #(debounce/throttle-and-dispatch
|
||||
[::communities/share-community-confirmation-pressed @user-pk
|
||||
selected]
|
||||
3000)}
|
||||
(i18n/label (if can-invite? :t/invite :t/share))]}]]))))
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
:accessory (when (not= public-key my-public-key)
|
||||
[quo/button
|
||||
{:on-press
|
||||
#(rf/dispatch [:show-bottom-sheet
|
||||
#(rf/dispatch [:bottom-sheet/show-sheet-old
|
||||
{:content (fn []
|
||||
[member-sheet primary-name member community-id
|
||||
can-kick-users? can-manage-users? admin?])}])
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
(ns legacy.status-im.ui.screens.contacts-list.views
|
||||
(:require
|
||||
[legacy.status-im.ui.components.chat-icon.screen :as chat-icon.screen]
|
||||
[legacy.status-im.ui.components.colors :as colors]
|
||||
[legacy.status-im.ui.components.invite.views :as invite]
|
||||
[legacy.status-im.ui.components.list.item :as list.item]
|
||||
[legacy.status-im.ui.components.list.views :as list.views]
|
||||
[legacy.status-im.ui.components.react :as react]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.contexts.profile.utils :as profile.utils]
|
||||
[utils.i18n :as i18n])
|
||||
(:require-macros [legacy.status-im.utils.views :refer [defview letsubs]]))
|
||||
|
||||
(defn contacts-list-item
|
||||
[{:keys [public-key] :as contact}]
|
||||
(let [{:keys [primary-name secondary-name customization-color]} contact]
|
||||
[list.item/list-item
|
||||
{:title primary-name
|
||||
:subtitle secondary-name
|
||||
:icon [chat-icon.screen/profile-photo-plus-dot-view
|
||||
{:public-key public-key
|
||||
:full-name primary-name
|
||||
:customization-color (or customization-color :primary)
|
||||
:photo-path (profile.utils/photo contact)}]
|
||||
:chevron true
|
||||
:on-press #(re-frame/dispatch [:chat.ui/show-profile public-key])}]))
|
||||
|
||||
(defn add-new-contact
|
||||
[]
|
||||
[list.item/list-item
|
||||
{:icon :main-icons/add
|
||||
:theme :accent
|
||||
:title (i18n/label :t/add-new-contact)
|
||||
:accessibility-label :add-new-contact-button
|
||||
:on-press #(re-frame/dispatch [:open-modal :new-contact])}])
|
||||
|
||||
(defview contacts-list
|
||||
[]
|
||||
(letsubs [blocked-contacts-count [:contacts/blocked-count]
|
||||
sorted-contacts [:contacts/sorted-contacts]]
|
||||
[react/scroll-view {:flex 1}
|
||||
[add-new-contact]
|
||||
(when (pos? blocked-contacts-count)
|
||||
[react/view {:margin-vertical 16}
|
||||
[list.item/list-item
|
||||
{:title (i18n/label :t/blocked-users)
|
||||
:icon :main-icons/cancel
|
||||
:theme :negative
|
||||
:accessibility-label :blocked-users-list-button
|
||||
:chevron true
|
||||
:accessory :text
|
||||
:accessory-text blocked-contacts-count
|
||||
:on-press #(re-frame/dispatch [:navigate-to :blocked-users-list])}]])
|
||||
(if (seq sorted-contacts)
|
||||
[list.views/flat-list
|
||||
{:data sorted-contacts
|
||||
:key-fn :address
|
||||
:render-fn contacts-list-item}]
|
||||
[react/view
|
||||
{:align-items :center
|
||||
:flex 1
|
||||
:justify-content :center}
|
||||
[react/text {:style {:color colors/gray :margin-vertical 24}}
|
||||
(i18n/label :t/you-dont-have-contacts)]
|
||||
[invite/button]])]))
|
||||
|
||||
(defview blocked-users-list
|
||||
[]
|
||||
(letsubs [blocked-contacts [:contacts/blocked]]
|
||||
[list.views/flat-list
|
||||
{:data blocked-contacts
|
||||
:key-fn :address
|
||||
:render-fn contacts-list-item
|
||||
:default-separator? true
|
||||
:enableEmptySections true
|
||||
:keyboard-should-persist-taps :always}]))
|
||||
@@ -0,0 +1,14 @@
|
||||
(ns legacy.status-im.ui.screens.currency-settings.styles
|
||||
(:require
|
||||
[legacy.status-im.utils.styles :as styles]))
|
||||
|
||||
(styles/def currency-item
|
||||
{:flex-direction :row
|
||||
:justify-content :space-between
|
||||
:align-items :center
|
||||
:padding-horizontal 16
|
||||
:ios {:height 64}
|
||||
:android {:height 56}})
|
||||
|
||||
(def currency-name-text
|
||||
{:typography :title})
|
||||
@@ -0,0 +1,54 @@
|
||||
(ns legacy.status-im.ui.screens.currency-settings.views
|
||||
(:require-macros [legacy.status-im.utils.views :as views])
|
||||
(:require
|
||||
[legacy.status-im.ui.components.icons.icons :as icons]
|
||||
[legacy.status-im.ui.components.list.views :as list]
|
||||
[legacy.status-im.ui.components.react :as react]
|
||||
[legacy.status-im.ui.components.search-input.view :as search-input]
|
||||
[legacy.status-im.ui.screens.currency-settings.styles :as styles]
|
||||
[re-frame.core :as re-frame]
|
||||
[reagent.core :as reagent]))
|
||||
|
||||
(defonce search-active? (reagent/atom false))
|
||||
|
||||
(defn render-currency
|
||||
[{:keys [id code display-name]} _ _ current-currency-id]
|
||||
(let [selected? (= id current-currency-id)]
|
||||
[react/touchable-highlight
|
||||
{:on-press #(re-frame/dispatch [:wallet-legacy.settings.ui/currency-selected id])
|
||||
:accessibility-label :currency-item}
|
||||
[react/view styles/currency-item
|
||||
[react/text {:style styles/currency-name-text}
|
||||
(str display-name " (" code ")")]
|
||||
(when selected?
|
||||
[icons/icon :main-icons/check {:color :active}])]]))
|
||||
|
||||
(views/defview currency-settings
|
||||
[]
|
||||
(views/letsubs [currency-id [:wallet-legacy/settings-currency]
|
||||
{:keys [currencies search-filter]} [:wallet-legacy/search-filtered-currencies]]
|
||||
{:component-will-unmount #(do
|
||||
(re-frame/dispatch [:search/currency-filter-changed nil])
|
||||
(reset! search-active? false))}
|
||||
[:<>
|
||||
[react/view {:flex 1}
|
||||
[react/view
|
||||
{:padding-horizontal 16
|
||||
:padding-vertical 10}
|
||||
[search-input/search-input-old
|
||||
{:search-active? search-active?
|
||||
:search-filter search-filter
|
||||
:on-cancel #(re-frame/dispatch [:search/currency-filter-changed nil])
|
||||
:on-focus (fn [search-filter]
|
||||
(when-not search-filter
|
||||
(re-frame/dispatch [:search/currency-filter-changed ""])))
|
||||
:on-change (fn [text]
|
||||
(re-frame/dispatch [:search/currency-filter-changed text]))}]]
|
||||
[list/flat-list
|
||||
{:data (->> currencies
|
||||
vals
|
||||
(sort #(compare (:code %1) (:code %2))))
|
||||
:key-fn :code
|
||||
:render-data currency-id
|
||||
:render-fn render-currency
|
||||
:keyboard-should-persist-taps :always}]]]))
|
||||
@@ -0,0 +1,770 @@
|
||||
(ns legacy.status-im.ui.screens.ens.views
|
||||
(:require
|
||||
[clojure.string :as string]
|
||||
[legacy.status-im.ens.core :as ens]
|
||||
[legacy.status-im.ethereum.tokens :as tokens]
|
||||
[legacy.status-im.react-native.resources :as resources]
|
||||
[legacy.status-im.ui.components.chat-icon.screen :as chat-icon]
|
||||
[legacy.status-im.ui.components.checkbox.view :as checkbox]
|
||||
[legacy.status-im.ui.components.colors :as colors]
|
||||
[legacy.status-im.ui.components.common.common :as components.common]
|
||||
[legacy.status-im.ui.components.core :as quo]
|
||||
[legacy.status-im.ui.components.icons.icons :as icons]
|
||||
[legacy.status-im.ui.components.list.item :as list.item]
|
||||
[legacy.status-im.ui.components.react :as react]
|
||||
[legacy.status-im.ui.components.toolbar :as toolbar]
|
||||
[legacy.status-im.ui.components.topbar :as topbar]
|
||||
[legacy.status-im.ui.screens.chat.utils :as chat.utils]
|
||||
[legacy.status-im.ui.screens.profile.components.views :as profile.components]
|
||||
[legacy.status-im.utils.utils :as utils]
|
||||
[re-frame.core :as re-frame]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.config :as config]
|
||||
[utils.address :as address]
|
||||
[utils.debounce :as debounce]
|
||||
[utils.ens.core :as utils.ens]
|
||||
[utils.ens.stateofus :as stateofus]
|
||||
[utils.i18n :as i18n])
|
||||
(:require-macros [legacy.status-im.utils.views :as views]))
|
||||
|
||||
(defn- link
|
||||
[{:keys [on-press]} label]
|
||||
[react/touchable-opacity
|
||||
{:on-press on-press
|
||||
:style {:justify-content :center}}
|
||||
[react/text {:style {:color colors/blue}}
|
||||
label]])
|
||||
|
||||
(defn- section
|
||||
[{:keys [title content]}]
|
||||
[react/view
|
||||
{:style {:margin-horizontal 16
|
||||
:align-items :flex-start}}
|
||||
[react/text {:style {:color colors/gray :font-size 15}}
|
||||
title]
|
||||
[react/view
|
||||
{:margin-top 8
|
||||
:padding-horizontal 16
|
||||
:padding-vertical 12
|
||||
:border-width 1
|
||||
:border-radius 12
|
||||
:border-color colors/gray-lighter}
|
||||
[quo/text {:monospace true}
|
||||
content]]])
|
||||
|
||||
(defn- domain-label
|
||||
[custom-domain?]
|
||||
(if custom-domain?
|
||||
(i18n/label :t/ens-custom-domain)
|
||||
(str "." stateofus/domain)))
|
||||
|
||||
(defn- domain-switch-label
|
||||
[custom-domain?]
|
||||
(if custom-domain?
|
||||
(i18n/label :t/ens-want-domain)
|
||||
(i18n/label :t/ens-want-custom-domain)))
|
||||
|
||||
(defn- big-blue-icon
|
||||
[state]
|
||||
[react/view
|
||||
{:style {:margin-top 68
|
||||
:margin-bottom 24
|
||||
:width 60
|
||||
:height 60
|
||||
:border-radius 30
|
||||
:background-color colors/blue
|
||||
:align-items :center
|
||||
:justify-content :center}}
|
||||
[icons/icon
|
||||
(case state
|
||||
(:available :connected :connected-with-different-key :owned)
|
||||
:main-icons/check
|
||||
(:taken :error)
|
||||
:main-icons/cancel
|
||||
:main-icons/username)
|
||||
{:color colors/white-persist}]])
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;; SEARCH SCREEN
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defn- icon-wrapper
|
||||
[color icon]
|
||||
[react/view
|
||||
{:style {:margin-right 16
|
||||
:margin-top 11
|
||||
:width 32
|
||||
:height 32
|
||||
:border-radius 25
|
||||
:align-items :center
|
||||
:justify-content :center
|
||||
:background-color color}}
|
||||
icon])
|
||||
|
||||
(defn- input-icon
|
||||
[state]
|
||||
(case state
|
||||
:searching
|
||||
[icon-wrapper colors/gray
|
||||
[react/activity-indicator {:color colors/white-persist}]]
|
||||
|
||||
(:available :connected :connected-with-different-key :owned)
|
||||
[react/touchable-highlight
|
||||
{:on-press #(debounce/throttle-and-dispatch [::ens/input-submitted] 3000)}
|
||||
[icon-wrapper colors/blue
|
||||
[icons/icon :main-icons/arrow-right {:color colors/white-persist}]]]
|
||||
|
||||
[icon-wrapper colors/gray
|
||||
[icons/icon :main-icons/arrow-right {:color colors/white-persist}]]))
|
||||
|
||||
(defn help-message-text-element
|
||||
([label]
|
||||
[react/text
|
||||
{:style {:flex 1
|
||||
:margin-top 16
|
||||
:margin-horizontal 16
|
||||
:font-size 14
|
||||
:text-align :center}}
|
||||
(i18n/label label)])
|
||||
([label second-label]
|
||||
[react/nested-text
|
||||
{:style {:flex 1
|
||||
:margin-top 16
|
||||
:margin-horizontal 16
|
||||
:font-size 14
|
||||
:text-align :center}}
|
||||
(i18n/label label) " "
|
||||
[{:style {:font-weight "700"}}
|
||||
(i18n/label second-label)]]))
|
||||
|
||||
(defn help-message
|
||||
[state custom-domain?]
|
||||
(case state
|
||||
:already-added
|
||||
[help-message-text-element :t/ens-username-already-added]
|
||||
:available
|
||||
[help-message-text-element :t/ens-username-available]
|
||||
:owned
|
||||
[help-message-text-element
|
||||
:t/ens-username-owned
|
||||
:t/ens-username-owned-continue]
|
||||
:connected
|
||||
[help-message-text-element
|
||||
:t/ens-username-connected
|
||||
:t/ens-username-connected-continue]
|
||||
:connected-with-different-key
|
||||
[help-message-text-element
|
||||
:t/ens-username-owned
|
||||
:t/ens-username-connected-with-different-key]
|
||||
:invalid-ens
|
||||
[help-message-text-element
|
||||
:t/ens-username-owned
|
||||
:t/ens-username-registration-invalid]
|
||||
(if custom-domain?
|
||||
(case state
|
||||
:too-short
|
||||
[help-message-text-element :t/ens-custom-username-hints]
|
||||
:invalid
|
||||
[help-message-text-element :t/ens-custom-username-hints]
|
||||
:taken
|
||||
[help-message-text-element :t/ens-custom-username-taken]
|
||||
[react/text ""])
|
||||
(case state
|
||||
:too-short
|
||||
[help-message-text-element :t/ens-username-hints]
|
||||
:invalid
|
||||
[help-message-text-element :t/ens-username-invalid]
|
||||
:taken
|
||||
[help-message-text-element :t/ens-username-taken]
|
||||
[react/text ""]))))
|
||||
|
||||
(defn- username-input
|
||||
[_ _ _]
|
||||
(let [input-ref (atom nil)]
|
||||
(fn [_ state placeholder]
|
||||
[react/view {:flex-direction :row :justify-content :center}
|
||||
;;NOTE required so that the keyboards shows up when navigating back from checkout screen
|
||||
;; TODO: navigation-events were deprecated
|
||||
;; [:> navigation/navigation-events
|
||||
;; {:on-did-focus
|
||||
;; (fn []
|
||||
;; (.focus ^js @input-ref))}]
|
||||
;;NOTE setting the key as placeholder forces the component to remount
|
||||
;;when the placeholder changes, this prevents the placeholder from
|
||||
;;disappearing when switching between stateofus and custom domain
|
||||
^{:key placeholder}
|
||||
[react/text-input
|
||||
{:ref #(reset! input-ref %)
|
||||
:on-change-text #(do
|
||||
(re-frame/dispatch [:set-in [:ens/registration :state] :searching])
|
||||
(debounce/debounce-and-dispatch [::ens/set-username-candidate %]
|
||||
600))
|
||||
:on-submit-editing #(re-frame/dispatch [::ens/input-submitted])
|
||||
:auto-capitalize :none
|
||||
:auto-complete-type "off"
|
||||
:auto-focus true
|
||||
:auto-correct false
|
||||
:default-value ""
|
||||
:text-align :center
|
||||
:placeholder placeholder
|
||||
:placeholder-text-color colors/text-gray
|
||||
:style {:flex 1
|
||||
:font-size 22
|
||||
:padding-left 48}}]
|
||||
[input-icon state]])))
|
||||
|
||||
(views/defview search
|
||||
[]
|
||||
(views/letsubs [{:keys [state custom-domain? username]}
|
||||
[:ens/search-screen]]
|
||||
[react/keyboard-avoiding-view {:flex 1}
|
||||
[react/scroll-view
|
||||
{:style {:flex 1}
|
||||
;;NOTE required so that switching custom-domain works on first tap and persists keyboard
|
||||
;;instead of dismissing keyboard and requiring two taps
|
||||
:keyboard-should-persist-taps :always}
|
||||
[react/view {:style {:flex 1}}
|
||||
[react/view
|
||||
{:style {:flex 1
|
||||
:align-items :center
|
||||
:justify-content :center}}
|
||||
[big-blue-icon state]
|
||||
[username-input username state
|
||||
(if custom-domain?
|
||||
"vitalik94.domain.eth"
|
||||
"vitalik94")]
|
||||
[react/view
|
||||
{:style {:height 36
|
||||
:align-items :center
|
||||
:justify-content :space-between
|
||||
:padding-horizontal 12
|
||||
:margin-top 24
|
||||
:margin-horizontal 16
|
||||
:border-color colors/gray-lighter
|
||||
:border-radius 20
|
||||
:border-width 1
|
||||
:flex-direction :row}}
|
||||
[react/text
|
||||
{:style {:font-size 13
|
||||
:typography :main-medium}}
|
||||
(domain-label custom-domain?)]
|
||||
[react/view {:flex 1 :min-width 24}]
|
||||
[react/touchable-highlight {:on-press #(re-frame/dispatch [::ens/switch-domain-type])}
|
||||
[react/text
|
||||
{:style {:color colors/blue
|
||||
:font-size 12
|
||||
:typography :main-medium}
|
||||
:number-of-lines 2}
|
||||
(domain-switch-label custom-domain?)]]]]
|
||||
[help-message state custom-domain?]]]]))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;; CHECKOUT SCREEN
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defn- agreement
|
||||
[checked contract]
|
||||
[react/view
|
||||
{:flex-direction :row
|
||||
:margin-left 26 ;; 10 for checkbox + 16
|
||||
:margin-right 16
|
||||
:margin-top 14
|
||||
:align-items :flex-start
|
||||
:justify-content :center}
|
||||
[checkbox/checkbox
|
||||
{:checked? @checked
|
||||
:style {:padding 0}
|
||||
:on-value-change #(reset! checked %)}]
|
||||
[react/nested-text {:style {:margin-left 10}}
|
||||
(i18n/label :t/ens-agree-to)
|
||||
[{:style {:color colors/blue}
|
||||
:on-press #(re-frame/dispatch [:navigate-to :ens-terms {:contract contract}])}
|
||||
(i18n/label :t/ens-terms-registration)]
|
||||
"\n"
|
||||
(i18n/label :t/ens-understand)]])
|
||||
|
||||
(defn render-account
|
||||
[address]
|
||||
(let [account @(re-frame/subscribe [:account-by-address address])]
|
||||
[list.item/list-item
|
||||
{:icon [chat-icon/custom-icon-view-list (:name account) (:color account)]
|
||||
:title (:name account)
|
||||
:subtitle (utils/get-shortened-checksum-address (:address account))
|
||||
:chevron true
|
||||
:on-press #(js/alert "funcitonality no longer supported")}]))
|
||||
|
||||
(defn- registration
|
||||
[checked contract address public-key]
|
||||
[react/view {:style {:flex 1 :margin-top 24}}
|
||||
[react/text {:style {:color colors/gray :font-size 15 :margin-horizontal 16}}
|
||||
(i18n/label :t/wallet)]
|
||||
[render-account address]
|
||||
[react/view {:style {:margin-top 14}}
|
||||
[section
|
||||
{:title (i18n/label :t/key)
|
||||
:content public-key}]]
|
||||
[agreement checked contract]])
|
||||
|
||||
(defn checkout
|
||||
[]
|
||||
(let [checked? (reagent/atom false)]
|
||||
(fn []
|
||||
(let [{:keys [username address custom-domain? public-key
|
||||
chain amount-label sufficient-funds?]}
|
||||
@(re-frame/subscribe [:ens/checkout-screen])]
|
||||
[react/keyboard-avoiding-view {:flex 1}
|
||||
[react/scroll-view {:style {:flex 1}}
|
||||
[react/view
|
||||
{:style {:flex 1
|
||||
:align-items :center
|
||||
:justify-content :center}}
|
||||
[big-blue-icon nil]
|
||||
[react/text
|
||||
{:text-align :center
|
||||
:style {:flex 1
|
||||
:font-size 22
|
||||
:padding-horizontal 48}}
|
||||
username]
|
||||
[react/view
|
||||
{:style {:height 36
|
||||
:align-items :center
|
||||
:justify-content :space-between
|
||||
:padding-horizontal 12
|
||||
:margin-top 24
|
||||
:margin-horizontal 16
|
||||
:border-color colors/gray-lighter
|
||||
:border-radius 20
|
||||
:border-width 1
|
||||
:flex-direction :row}}
|
||||
[react/text
|
||||
{:style {:font-size 13
|
||||
:typography :main-medium}}
|
||||
(domain-label custom-domain?)]
|
||||
[react/view {:flex 1 :min-width 24}]]]
|
||||
[registration
|
||||
checked?
|
||||
(when (or (not= chain :goerli) config/test-stateofus?)
|
||||
(stateofus/get-cached-registrar chain))
|
||||
address
|
||||
public-key]]
|
||||
[toolbar/toolbar
|
||||
{:show-border? true
|
||||
:size :large
|
||||
:left [react/view {:flex-direction :row :align-items :center}
|
||||
[react/image
|
||||
{:source tokens/snt-icon-source
|
||||
:style {:width 36 :height 36}}]
|
||||
[react/view {:flex-direction :column :margin 8}
|
||||
[react/text {:style {:font-size 15}}
|
||||
amount-label]
|
||||
[react/text {:style {:color colors/gray :font-size 15}}
|
||||
(i18n/label :t/ens-deposit)]]]
|
||||
:right [react/view {:padding-horizontal 8}
|
||||
[quo/button
|
||||
{:disabled (or (not @checked?) (not sufficient-funds?))
|
||||
:on-press #(debounce/throttle-and-dispatch [::ens/register-name-pressed
|
||||
address]
|
||||
2000)}
|
||||
(if sufficient-funds?
|
||||
(i18n/label :t/ens-register)
|
||||
(i18n/label :t/not-enough-snt))]]}]]))))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;; CONFIRMATION SCREEN
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defn- finalized-icon
|
||||
[state]
|
||||
(case state
|
||||
:registration-failed
|
||||
[react/view
|
||||
{:style {:width 40
|
||||
:height 40
|
||||
:border-radius 30
|
||||
:background-color colors/red-light
|
||||
:align-items :center
|
||||
:justify-content :center}}
|
||||
[icons/icon :main-icons/warning {:color colors/red}]]
|
||||
[react/view
|
||||
{:style {:width 40
|
||||
:height 40
|
||||
:border-radius 30
|
||||
:background-color colors/gray-lighter
|
||||
:align-items :center
|
||||
:justify-content :center}}
|
||||
[icons/icon :main-icons/check {:color colors/blue}]]))
|
||||
|
||||
(defn- final-state-label
|
||||
[state username]
|
||||
(case state
|
||||
:available
|
||||
(i18n/label :t/ens-username-registration-confirmation
|
||||
{:username (stateofus/username-with-domain username)})
|
||||
:connected-with-different-key
|
||||
(i18n/label :t/ens-username-connection-confirmation
|
||||
{:username (stateofus/username-with-domain username)})
|
||||
:connected
|
||||
(i18n/label :t/ens-saved-title)
|
||||
;;NOTE: this state can't be reached atm
|
||||
:registration-failed
|
||||
(i18n/label :t/ens-registration-failed-title)
|
||||
nil))
|
||||
|
||||
(defn- final-state-details
|
||||
[state username]
|
||||
(case state
|
||||
:available
|
||||
[react/text {:style {:color colors/gray :font-size 15 :text-align :center}}
|
||||
(i18n/label :t/ens-username-you-can-follow-progress)]
|
||||
:connected-with-different-key
|
||||
[react/text {:style {:color colors/gray :font-size 15 :text-align :center}}
|
||||
(i18n/label :t/ens-username-you-can-follow-progress)]
|
||||
:connected
|
||||
[react/nested-text
|
||||
{:style {:font-size 15 :text-align :center}}
|
||||
(stateofus/username-with-domain username)
|
||||
[{:style {:color colors/gray}}
|
||||
(i18n/label :t/ens-saved)]]
|
||||
;;NOTE: this state can't be reached atm
|
||||
:registration-failed
|
||||
[react/text {:style {:color colors/gray :font-size 14}}
|
||||
(i18n/label :t/ens-registration-failed)]
|
||||
nil))
|
||||
|
||||
(views/defview confirmation
|
||||
[]
|
||||
(views/letsubs [{:keys [state username]} [:ens/confirmation-screen]]
|
||||
[react/keyboard-avoiding-view {:flex 1}
|
||||
[react/view
|
||||
{:style {:flex 1
|
||||
:align-items :center
|
||||
:justify-content :center}}
|
||||
[finalized-icon state]
|
||||
[react/text
|
||||
{:style {:typography :header
|
||||
:margin-top 32
|
||||
:margin-horizontal 32
|
||||
:text-align :center}}
|
||||
(final-state-label state username)]
|
||||
[react/view
|
||||
{:align-items :center
|
||||
:margin-horizontal 32
|
||||
:margin-top 12
|
||||
:margin-bottom 20
|
||||
:justify-content :center}
|
||||
[final-state-details state username]]
|
||||
(if (= state :registration-failed)
|
||||
[react/view
|
||||
[quo/button {:on-press #(re-frame/dispatch [::ens/retry-pressed])}
|
||||
(i18n/label :t/retry)]
|
||||
[quo/button {:on-press #(re-frame/dispatch [::ens/cancel-pressed])}
|
||||
(i18n/label :t/cancel)]]
|
||||
[quo/button {:on-press #(re-frame/dispatch [::ens/got-it-pressed])}
|
||||
(i18n/label :t/ens-got-it)])]]))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;; TERMS SCREEN
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defn- term-point
|
||||
[content]
|
||||
[react/view {:style {:flex 1 :margin-top 24 :margin-horizontal 16 :flex-direction :row}}
|
||||
[react/view {:style {:width 16 :margin-top 8}}
|
||||
[react/view {:style {:background-color colors/gray :width 4 :height 4 :border-radius 25}}]]
|
||||
[react/text {:style {:flex 1 :font-size 15}}
|
||||
content]])
|
||||
|
||||
(defn- etherscan-url
|
||||
[address]
|
||||
(str "https://etherscan.io/address/" address))
|
||||
|
||||
(views/defview terms
|
||||
[]
|
||||
(views/letsubs [{:keys [contract]} [:get-screen-params :ens-terms]]
|
||||
[react/scroll-view {:style {:flex 1}}
|
||||
[react/view
|
||||
{:style {:height 136
|
||||
:background-color colors/gray-lighter
|
||||
:justify-content :center
|
||||
:align-items :center}}
|
||||
[react/text {:style {:text-align :center :typography :header :letter-spacing -0.275}}
|
||||
(i18n/label :t/ens-terms-header)]]
|
||||
[react/view
|
||||
[term-point
|
||||
(i18n/label :t/ens-terms-point-1)]
|
||||
[term-point
|
||||
(i18n/label :t/ens-terms-point-2)]
|
||||
[term-point
|
||||
(i18n/label :t/ens-terms-point-3)]
|
||||
[term-point
|
||||
(i18n/label :t/ens-terms-point-4)]
|
||||
[term-point
|
||||
(i18n/label :t/ens-terms-point-5)]
|
||||
[term-point
|
||||
(i18n/label :t/ens-terms-point-6)]
|
||||
[term-point
|
||||
(i18n/label :t/ens-terms-point-7)]]
|
||||
[react/view
|
||||
[react/text {:style {:font-size 15 :margin-top 24 :margin-horizontal 16 :font-weight "700"}}
|
||||
(i18n/label :t/ens-terms-point-8)]
|
||||
[term-point
|
||||
(i18n/label :t/ens-terms-point-9 {:address contract})]
|
||||
[react/view {:style {:align-items :center :margin-top 16 :margin-bottom 8}}
|
||||
[link {:on-press #(.openURL ^js react/linking (etherscan-url contract))}
|
||||
(i18n/label :t/etherscan-lookup)]]
|
||||
[term-point
|
||||
(i18n/label :t/ens-terms-point-10)]
|
||||
[react/view {:style {:align-items :center :margin-top 16 :margin-bottom 8}}
|
||||
[link
|
||||
{:on-press #(.openURL ^js react/linking (etherscan-url (:mainnet utils.ens/ens-registries)))}
|
||||
(i18n/label :t/etherscan-lookup)]]]]))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;; NAME DETAILS SCREEN
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(def release-instructions-link "https://our.status.im/managing-your-ens-name-in-v1/")
|
||||
|
||||
(defn open-release-instructions-link!
|
||||
[]
|
||||
(.openURL ^js react/linking release-instructions-link))
|
||||
|
||||
(views/defview name-details
|
||||
[]
|
||||
(views/letsubs [{:keys [name address custom-domain? public-key
|
||||
expiration-date releasable? pending?]}
|
||||
[:ens.name/screen]]
|
||||
[react/view {:style {:flex 1}}
|
||||
[topbar/topbar {:title name}]
|
||||
[react/scroll-view {:style {:flex 1}}
|
||||
(when-not custom-domain?
|
||||
[react/view {:style {:flex 1 :margin-horizontal 16}}
|
||||
[react/view {:flex-direction :row :align-items :center :margin-top 20}
|
||||
[react/view {:style {:margin-right 16}}
|
||||
[components.common/logo
|
||||
{:size 40
|
||||
:icon-size 16}]]
|
||||
[react/text {:style {:typography :title}}
|
||||
(if pending?
|
||||
(i18n/label :t/ens-transaction-pending)
|
||||
(str (i18n/label :t/ens-10-SNT) ", deposit unlocked"))]]])
|
||||
[react/view {:style {:margin-top 22}}
|
||||
(when-not pending?
|
||||
[section
|
||||
{:title (i18n/label :t/wallet-address)
|
||||
:content (address/normalized-hex address)}])
|
||||
(when-not pending?
|
||||
[react/view {:style {:margin-top 14}}
|
||||
[section
|
||||
{:title (i18n/label :t/key)
|
||||
:content public-key}]])
|
||||
[react/view {:style {:margin-top 16 :margin-bottom 32}}
|
||||
;;TODO this is temporary fix for accounts with failed txs we still need this for regular ens
|
||||
;;names (not pending) but we need to detach public key in the contract
|
||||
(when pending?
|
||||
[list.item/list-item
|
||||
{:title (i18n/label :t/ens-remove-username)
|
||||
;:subtext (i18n/label :t/ens-remove-hints)
|
||||
:icon :main-icons/close
|
||||
:theme :negative
|
||||
:on-press #(re-frame/dispatch [::ens/remove-username name])}])
|
||||
(when (and (not custom-domain?) (not pending?))
|
||||
[react/view {:style {:margin-top 18}}
|
||||
[list.item/list-item
|
||||
{:title (i18n/label :t/ens-release-username)
|
||||
:theme :accent
|
||||
:disabled (not releasable?)
|
||||
:subtitle (when (and expiration-date
|
||||
(not releasable?))
|
||||
(i18n/label :t/ens-locked
|
||||
{:date expiration-date}))
|
||||
:icon :main-icons/delete
|
||||
:on-press #(open-release-instructions-link!)}]])]]]]))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;; WELCOME SCREEN
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defn- welcome-item
|
||||
[{:keys [icon-label title]} content]
|
||||
[react/view
|
||||
{:style {:flex 1
|
||||
:margin-top 24
|
||||
:margin-left 16
|
||||
:flex-direction :row}}
|
||||
[react/view
|
||||
{:style {:height 40
|
||||
:width 40
|
||||
:border-radius 25
|
||||
:border-width 1
|
||||
:border-color colors/gray-lighter
|
||||
:align-items :center
|
||||
:justify-content :center}}
|
||||
[react/text {:style {:typography :title}}
|
||||
icon-label]]
|
||||
[react/view
|
||||
{:style {:flex 1
|
||||
:margin-horizontal 16}}
|
||||
[react/text
|
||||
{:style {:font-size 15
|
||||
:typography :main-semibold}}
|
||||
title]
|
||||
content]])
|
||||
|
||||
(defn- welcome
|
||||
[]
|
||||
(let [name (:name @(re-frame/subscribe [:profile/profile]))]
|
||||
[react/view {:style {:flex 1}}
|
||||
[react/scroll-view {:content-container-style {:align-items :center}}
|
||||
[react/image
|
||||
{:source (resources/get-theme-image :ens-header)
|
||||
:style {:margin-top 32}}]
|
||||
[react/text {:style {:margin-top 32 :margin-bottom 8 :typography :header}}
|
||||
(i18n/label :t/ens-get-name)]
|
||||
[react/text
|
||||
{:style {:margin-top 8
|
||||
:margin-bottom 24
|
||||
:color colors/gray
|
||||
:font-size 15
|
||||
:margin-horizontal 16
|
||||
:text-align :center}}
|
||||
(i18n/label :t/ens-welcome-hints)]
|
||||
[welcome-item {:icon-label "1" :title (i18n/label :t/ens-welcome-point-customize-title)}
|
||||
[react/view {:flex-direction :row}
|
||||
[react/text
|
||||
{:style {:color colors/gray}}
|
||||
(i18n/label :t/ens-welcome-point-customize {:name name})]]]
|
||||
[welcome-item {:icon-label "2" :title (i18n/label :t/ens-welcome-point-simplify-title)}
|
||||
[react/text {:style {:color colors/gray}}
|
||||
(i18n/label :t/ens-welcome-point-simplify)]]
|
||||
[welcome-item {:icon-label "3" :title (i18n/label :t/ens-welcome-point-receive-title)}
|
||||
[react/text {:style {:color colors/gray}}
|
||||
(i18n/label :t/ens-welcome-point-receive)]]
|
||||
[welcome-item {:icon-label "4" :title (i18n/label :t/ens-welcome-point-register-title)}
|
||||
[react/text {:style {:color colors/gray}}
|
||||
(i18n/label :t/ens-welcome-point-register)]]
|
||||
[welcome-item {:icon-label "@" :title (i18n/label :t/ens-welcome-point-verify-title)}
|
||||
[react/text {:style {:color colors/gray}}
|
||||
(i18n/label :t/ens-welcome-point-verify)]]
|
||||
[react/text
|
||||
{:style
|
||||
{:margin-top 16 :text-align :center :color colors/gray :typography :caption :padding-bottom 96}}
|
||||
(i18n/label :t/ens-powered-by)]]
|
||||
[toolbar/toolbar
|
||||
{:show-border? true
|
||||
:right [quo/button
|
||||
{:on-press #(re-frame/dispatch [::ens/get-started-pressed])
|
||||
:type :secondary
|
||||
:after :main-icons/next}
|
||||
(i18n/label :t/get-started)]}]]))
|
||||
|
||||
(defn- name-item
|
||||
[{:keys [name action subtitle]}]
|
||||
(let [stateofus-username (stateofus/username name)
|
||||
s (or stateofus-username name)]
|
||||
[list.item/list-item
|
||||
(merge {:title s
|
||||
:subtitle (if subtitle
|
||||
subtitle
|
||||
(when stateofus-username stateofus/domain))
|
||||
:icon :main-icons/username}
|
||||
(when action
|
||||
{:on-press action}))]))
|
||||
|
||||
(defn- name-list
|
||||
[names preferred-name]
|
||||
[react/view {:style {:flex 1 :margin-top 16}}
|
||||
[react/view {:style {:margin-horizontal 16 :align-items :center :justify-content :center}}
|
||||
[react/nested-text
|
||||
{:style {:color colors/gray}}
|
||||
(i18n/label :t/ens-displayed-with)
|
||||
[{:style {:color colors/black :text-align :center}}
|
||||
(str "\n@" preferred-name)]]]
|
||||
[react/view {:style {:flex 1 :margin-top 8}}
|
||||
(for [name names]
|
||||
(let [action #(do (re-frame/dispatch [::ens/save-preferred-name name])
|
||||
(re-frame/dispatch [:bottom-sheet/hide-old]))
|
||||
stateofus-username (stateofus/username name)
|
||||
s (or stateofus-username name)]
|
||||
^{:key name}
|
||||
[list.item/list-item
|
||||
{:accessibility-label (if (= name preferred-name)
|
||||
:primary-username
|
||||
:not-primary-username)
|
||||
:title s
|
||||
:subtitle (when stateofus-username stateofus/domain)
|
||||
:icon :main-icons/username
|
||||
:on-press action
|
||||
:accessory :radio
|
||||
:active (= name preferred-name)}]))]])
|
||||
|
||||
(views/defview in-progress-registrations
|
||||
[registrations]
|
||||
[react/view {:style {:margin-top 8}}
|
||||
(for [[tx-hash {:keys [state username]}] registrations
|
||||
:when (or (= state :submitted) (= state :failure))]
|
||||
^{:key tx-hash}
|
||||
[name-item
|
||||
{:name username
|
||||
:action (when-not (= state :submitted)
|
||||
#(re-frame/dispatch [:ens/clear-registration tx-hash]))
|
||||
:subtitle (case state
|
||||
:submitted (i18n/label :t/ens-registration-in-progress)
|
||||
:failure (i18n/label :t/ens-registration-failure)
|
||||
nil)}])])
|
||||
|
||||
(views/defview my-name
|
||||
[]
|
||||
(views/letsubs [contact-name [:multiaccount/preferred-name]]
|
||||
(when-not (string/blank? contact-name)
|
||||
(chat.utils/format-author-old {:primary-name
|
||||
(str "@"
|
||||
(or (stateofus/username contact-name)
|
||||
contact-name))}))))
|
||||
|
||||
(views/defview registered
|
||||
[names {:keys [preferred-name]} _ registrations]
|
||||
[react/view {:style {:flex 1}}
|
||||
[react/scroll-view
|
||||
[react/view {:style {:margin-top 8}}
|
||||
[list.item/list-item
|
||||
{:title (i18n/label :t/ens-add-username)
|
||||
:theme :accent
|
||||
:on-press #(re-frame/dispatch [::ens/add-username-pressed])
|
||||
:icon :main-icons/add}]]
|
||||
[react/view {:style {:margin-top 22 :margin-bottom 8}}
|
||||
[react/text {:style {:color colors/gray :margin-horizontal 16}}
|
||||
(i18n/label :t/ens-your-usernames)]
|
||||
(when registrations
|
||||
[in-progress-registrations registrations])
|
||||
(if (seq names)
|
||||
[react/view {:style {:margin-top 8}}
|
||||
(for [name names]
|
||||
^{:key name}
|
||||
[name-item
|
||||
{:name name
|
||||
:action #(re-frame/dispatch [::ens/navigate-to-name name])}])]
|
||||
[react/text
|
||||
{:style {:color colors/gray
|
||||
:font-size 15
|
||||
:margin-horizontal 16}}
|
||||
(i18n/label :t/ens-no-usernames)])]
|
||||
[react/view {:style {:padding-vertical 22 :border-color colors/gray-lighter :border-top-width 1}}
|
||||
(when (> (count names) 1)
|
||||
[react/view
|
||||
[react/text {:style {:color colors/gray :margin-horizontal 16}}
|
||||
(i18n/label :t/ens-chat-settings)]
|
||||
[profile.components/settings-item
|
||||
{:label-kw :ens-primary-username
|
||||
:value preferred-name
|
||||
:action-fn #(re-frame/dispatch [:bottom-sheet/show-sheet-old
|
||||
{:content
|
||||
(fn [] (name-list names preferred-name))}])}]])]]])
|
||||
|
||||
(views/defview main
|
||||
[]
|
||||
(views/letsubs [{:keys [names profile/profile show? registrations]} [:ens.main/screen]]
|
||||
[react/keyboard-avoiding-view {:style {:flex 1}}
|
||||
(if (or (seq names) registrations)
|
||||
[registered names profile show? registrations]
|
||||
[welcome])]))
|
||||
@@ -3,9 +3,7 @@
|
||||
[legacy.status-im.ui.components.colors :as colors]
|
||||
[legacy.status-im.ui.components.list.views :as list]
|
||||
[legacy.status-im.ui.components.react :as react]
|
||||
[quo.core :as quo]
|
||||
[utils.i18n :as i18n]
|
||||
[utils.re-frame :as rf]))
|
||||
[utils.i18n :as i18n]))
|
||||
|
||||
(def messages
|
||||
[{:title :t/account-title
|
||||
@@ -58,17 +56,10 @@
|
||||
(map (fn [[k v]]
|
||||
{:title k
|
||||
:data v})))]
|
||||
[:<>
|
||||
[quo/page-nav
|
||||
{:type :title
|
||||
:title (i18n/label :t/glossary)
|
||||
:background :blur
|
||||
:icon-name :i/close
|
||||
:on-press #(rf/dispatch [:navigate-back])}]
|
||||
[list/section-list
|
||||
{:contentContainerStyle {:padding-horizontal 16
|
||||
:padding-bottom 16}
|
||||
:stickySectionHeadersEnabled true
|
||||
:sections sections
|
||||
:render-fn render-element
|
||||
:render-section-header-fn render-section-header}]]))
|
||||
[list/section-list
|
||||
{:contentContainerStyle {:padding-horizontal 16
|
||||
:padding-bottom 16}
|
||||
:stickySectionHeadersEnabled true
|
||||
:sections sections
|
||||
:render-fn render-element
|
||||
:render-section-header-fn render-section-header}]))
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
(ns legacy.status-im.ui.screens.group.styles
|
||||
(:require
|
||||
[legacy.status-im.ui.components.colors :as colors]))
|
||||
|
||||
(def group-container
|
||||
{:flex 1
|
||||
:flex-direction :column})
|
||||
|
||||
(defn no-contact-text
|
||||
[]
|
||||
{:margin-bottom 20
|
||||
:margin-horizontal 50
|
||||
:text-align :center
|
||||
:color colors/gray})
|
||||
|
||||
(def no-contacts
|
||||
{:flex 1
|
||||
:justify-content :center
|
||||
:align-items :center})
|
||||
|
||||
(defn search-container
|
||||
[]
|
||||
{:border-bottom-color colors/gray-lighter
|
||||
:border-bottom-width 1
|
||||
:padding-horizontal 16
|
||||
:padding-vertical 10})
|
||||
|
||||
(defn members-title
|
||||
[]
|
||||
{:color colors/gray
|
||||
:margin-top 14
|
||||
:margin-bottom 4})
|
||||
@@ -0,0 +1,196 @@
|
||||
(ns legacy.status-im.ui.screens.group.views
|
||||
(:require
|
||||
[clojure.string :as string]
|
||||
[legacy.status-im.ui.components.chat-icon.screen :as chat-icon]
|
||||
[legacy.status-im.ui.components.core :as quo]
|
||||
[legacy.status-im.ui.components.invite.views :as invite]
|
||||
[legacy.status-im.ui.components.keyboard-avoid-presentation :as kb-presentation]
|
||||
[legacy.status-im.ui.components.list.item :as list.item]
|
||||
[legacy.status-im.ui.components.list.views :as list]
|
||||
[legacy.status-im.ui.components.react :as react]
|
||||
[legacy.status-im.ui.components.search-input.view :as search]
|
||||
[legacy.status-im.ui.components.toolbar :as toolbar]
|
||||
[legacy.status-im.ui.components.topbar :as topbar]
|
||||
[legacy.status-im.ui.screens.group.styles :as styles]
|
||||
[re-frame.core :as re-frame]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.constants :as constants]
|
||||
[utils.debounce :as debounce]
|
||||
[utils.i18n :as i18n])
|
||||
(:require-macros [legacy.status-im.utils.views :as views]))
|
||||
|
||||
(defn- render-contact
|
||||
[row]
|
||||
(let [{:keys [primary-name secondary-name]} row]
|
||||
[list.item/list-item
|
||||
{:title primary-name
|
||||
:subtitle secondary-name
|
||||
:icon [chat-icon/contact-icon-contacts-tab row]}]))
|
||||
|
||||
(defn- on-toggle-participant
|
||||
[allow-new-users? checked? public-key]
|
||||
(cond
|
||||
|
||||
checked?
|
||||
(re-frame/dispatch [:deselect-participant public-key allow-new-users?])
|
||||
|
||||
;; Only allow new users if not reached the maximum
|
||||
(and (not checked?)
|
||||
allow-new-users?)
|
||||
(re-frame/dispatch [:select-participant public-key allow-new-users?])))
|
||||
|
||||
(defn- toggle-item
|
||||
[]
|
||||
(fn [allow-new-users? subs-name {:keys [public-key] :as contact} on-toggle]
|
||||
(let [contact-selected? @(re-frame/subscribe [subs-name public-key])
|
||||
{:keys [primary-name secondary-name]} contact]
|
||||
[list.item/list-item
|
||||
{:title primary-name
|
||||
:subtitle secondary-name
|
||||
:icon [chat-icon/contact-icon-contacts-tab contact]
|
||||
:on-press #(on-toggle allow-new-users? contact-selected? public-key)
|
||||
:active contact-selected?
|
||||
:accessory :checkbox}])))
|
||||
|
||||
(defn- group-toggle-participant
|
||||
[contact _ _ allow-new-users?]
|
||||
[toggle-item allow-new-users? :is-participant-selected? contact on-toggle-participant])
|
||||
|
||||
(defn toggle-list
|
||||
[{:keys [contacts render-fn render-data]}]
|
||||
[list/flat-list
|
||||
{:data contacts
|
||||
:key-fn :public-key
|
||||
:render-data render-data
|
||||
:render-fn render-fn
|
||||
:keyboard-should-persist-taps :always}])
|
||||
|
||||
(defn no-contacts-view
|
||||
[{:keys [no-contacts]}]
|
||||
[react/view {:style styles/no-contacts}
|
||||
[react/text
|
||||
{:style (styles/no-contact-text)}
|
||||
no-contacts]
|
||||
[invite/button]])
|
||||
|
||||
(defn filter-contacts
|
||||
[filter-text contacts]
|
||||
(let [lower-filter-text (string/lower-case (str filter-text))
|
||||
filter-fn (fn [{:keys [name alias nickname]}]
|
||||
(or
|
||||
(string/includes? (string/lower-case (str name)) lower-filter-text)
|
||||
(string/includes? (string/lower-case (str alias)) lower-filter-text)
|
||||
(when nickname
|
||||
(string/includes? (string/lower-case (str nickname))
|
||||
lower-filter-text))))]
|
||||
(if filter-text
|
||||
(filter filter-fn contacts)
|
||||
contacts)))
|
||||
|
||||
;; Set name of new group-chat
|
||||
(views/defview new-group
|
||||
[]
|
||||
(views/letsubs [contacts [:selected-group-contacts]
|
||||
group-name [:new-chat-name]]
|
||||
(let [group-name-empty? (not (and (string? group-name) (not-empty group-name)))]
|
||||
[react/keyboard-avoiding-view
|
||||
{:style styles/group-container
|
||||
:ignore-offset true}
|
||||
[react/view {:flex 1}
|
||||
[topbar/topbar
|
||||
{:use-insets false
|
||||
:title (i18n/label :t/new-group-chat)
|
||||
:subtitle (i18n/label :t/group-chat-members-count
|
||||
{:selected (inc (count contacts))
|
||||
:max constants/max-group-chat-participants})}]
|
||||
[react/view
|
||||
{:style {:padding-top 16
|
||||
:flex 1}}
|
||||
[react/view {:style {:padding-horizontal 16}}
|
||||
[quo/text-input
|
||||
{:auto-focus true
|
||||
:on-change-text #(re-frame/dispatch [:set :new-chat-name %])
|
||||
:default-value group-name
|
||||
:placeholder (i18n/label :t/set-a-topic)
|
||||
:accessibility-label :chat-name-input}]
|
||||
[react/text {:style (styles/members-title)}
|
||||
(i18n/label :t/members-title)]]
|
||||
[react/view
|
||||
{:style {:margin-top 8
|
||||
:flex 1}}
|
||||
[list/flat-list
|
||||
{:data contacts
|
||||
:key-fn :address
|
||||
:render-fn render-contact
|
||||
:bounces false
|
||||
:keyboard-should-persist-taps :always
|
||||
:enable-empty-sections true}]]]
|
||||
[toolbar/toolbar
|
||||
{:show-border? true
|
||||
:left
|
||||
[quo/button
|
||||
{:type :secondary
|
||||
:before :main-icon/back
|
||||
:accessibility-label :previous-button
|
||||
:on-press #(re-frame/dispatch [:navigate-back])}
|
||||
(i18n/label :t/back)]
|
||||
:right
|
||||
[quo/button
|
||||
{:type :secondary
|
||||
:accessibility-label :create-group-chat-button
|
||||
:disabled group-name-empty?
|
||||
:on-press #(debounce/throttle-and-dispatch [:group-chats.ui/create-pressed
|
||||
group-name]
|
||||
300)}
|
||||
(i18n/label :t/create-group-chat)]}]]])))
|
||||
|
||||
(defn searchable-contact-list
|
||||
[]
|
||||
(let [search-value (reagent/atom nil)]
|
||||
(fn [{:keys [contacts no-contacts-label toggle-fn allow-new-users?]}]
|
||||
[react/view {:style {:flex 1}}
|
||||
[react/view {:style (styles/search-container)}
|
||||
[search/search-input-old
|
||||
{:on-cancel #(reset! search-value nil)
|
||||
:on-change #(reset! search-value %)}]]
|
||||
[react/view
|
||||
{:style {:flex 1
|
||||
:padding-vertical 8}}
|
||||
(if (seq contacts)
|
||||
[toggle-list
|
||||
{:contacts (filter-contacts @search-value contacts)
|
||||
:render-data allow-new-users?
|
||||
:render-fn toggle-fn}]
|
||||
[no-contacts-view {:no-contacts no-contacts-label}])]])))
|
||||
|
||||
;; Add participants to existing group chat
|
||||
(views/defview add-participants-toggle-list
|
||||
[]
|
||||
(views/letsubs [contacts [:contacts/all-contacts-not-in-current-chat]
|
||||
current-chat [:chats/current-chat]
|
||||
selected-contacts-count [:selected-participants-count]]
|
||||
(let [current-participants-count (count (:contacts current-chat))]
|
||||
[kb-presentation/keyboard-avoiding-view {:style styles/group-container}
|
||||
[topbar/topbar
|
||||
{:use-insets false
|
||||
:border-bottom false
|
||||
:title (i18n/label :t/add-members)
|
||||
:subtitle (i18n/label :t/group-chat-members-count
|
||||
{:selected (+ current-participants-count selected-contacts-count)
|
||||
:max constants/max-group-chat-participants})}]
|
||||
[searchable-contact-list
|
||||
{:contacts contacts
|
||||
:no-contacts-label (i18n/label :t/group-chat-all-contacts-invited)
|
||||
:toggle-fn group-toggle-participant
|
||||
:allow-new-users? (< (+ current-participants-count
|
||||
selected-contacts-count)
|
||||
constants/max-group-chat-participants)}]
|
||||
[toolbar/toolbar
|
||||
{:show-border? true
|
||||
:center
|
||||
[quo/button
|
||||
{:type :secondary
|
||||
:accessibility-label :next-button
|
||||
:disabled (zero? selected-contacts-count)
|
||||
:on-press #(re-frame/dispatch [:group-chats.ui/add-members-pressed])}
|
||||
(i18n/label :t/add)]}]])))
|
||||
@@ -2,33 +2,34 @@
|
||||
(:require
|
||||
[legacy.status-im.ui.components.list.item :as list.item]
|
||||
[legacy.status-im.ui.components.list.views :as list]
|
||||
[quo.core :as quo]
|
||||
[legacy.status-im.ui.components.react :as react]
|
||||
[re-frame.core :as re-frame]
|
||||
[utils.i18n :as i18n]
|
||||
[utils.re-frame :as rf]))
|
||||
[status-im.constants :as constants]
|
||||
[utils.i18n :as i18n]))
|
||||
|
||||
(def data
|
||||
[{:size :small
|
||||
:title (i18n/label :t/glossary)
|
||||
[{:size :small
|
||||
:title (i18n/label :t/faq)
|
||||
:accessibility-label :faq-button
|
||||
:on-press
|
||||
#(.openURL ^js react/linking constants/faq)
|
||||
:chevron true}
|
||||
{:size :small
|
||||
:title (i18n/label :t/glossary)
|
||||
:accessibility-label :glossary-button
|
||||
:on-press #(re-frame/dispatch [:open-modal :glossary])
|
||||
:chevron true}
|
||||
{:size :small
|
||||
:title (i18n/label :t/submit-bug)
|
||||
:on-press
|
||||
#(re-frame/dispatch [:navigate-to :glossary])
|
||||
:chevron true}
|
||||
{:size :small
|
||||
:title (i18n/label :t/submit-bug)
|
||||
:accessibility-label :submit-bug-button
|
||||
:on-press #(re-frame/dispatch [:open-modal :bug-report])
|
||||
:chevron true}])
|
||||
:on-press
|
||||
#(re-frame/dispatch [:open-modal :bug-report])
|
||||
:chevron true}])
|
||||
|
||||
(defn help-center
|
||||
[]
|
||||
[:<>
|
||||
[quo/page-nav
|
||||
{:type :title
|
||||
:title (i18n/label :t/need-help)
|
||||
:background :blur
|
||||
:icon-name :i/close
|
||||
:on-press #(rf/dispatch [:navigate-back])}]
|
||||
[list/flat-list
|
||||
{:data data
|
||||
:key-fn (fn [_ i] (str i))
|
||||
:render-fn list.item/list-item}]])
|
||||
[list/flat-list
|
||||
{:data data
|
||||
:key-fn (fn [_ i] (str i))
|
||||
:render-fn list.item/list-item}])
|
||||
|
||||
@@ -2,16 +2,14 @@
|
||||
(:require-macros [legacy.status-im.utils.views :as views])
|
||||
(:require
|
||||
[legacy.status-im.react-native.resources :as resources]
|
||||
[legacy.status-im.ui.components.core :as components]
|
||||
[legacy.status-im.ui.components.core :as quo]
|
||||
[legacy.status-im.ui.components.list.item :as list.item]
|
||||
[legacy.status-im.ui.components.list.views :as list]
|
||||
[legacy.status-im.ui.components.react :as react]
|
||||
[legacy.status-im.ui.screens.link-previews-settings.styles :as styles]
|
||||
[quo.core :as quo]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.contexts.chat.messenger.messages.link-preview.events]
|
||||
[utils.i18n :as i18n]
|
||||
[utils.re-frame :as rf]))
|
||||
[utils.i18n :as i18n]))
|
||||
|
||||
(defn prepare-urls-items-data
|
||||
[link-previews-enabled-sites]
|
||||
@@ -31,24 +29,18 @@
|
||||
link-previews-enabled-sites [:link-preview/enabled-sites]]
|
||||
(let [all-enabled (= (count link-previews-whitelist) (count link-previews-enabled-sites))]
|
||||
[:<>
|
||||
[quo/page-nav
|
||||
{:type :title
|
||||
:title (i18n/label :t/chat-link-previews)
|
||||
:background :blur
|
||||
:icon-name :i/close
|
||||
:on-press #(rf/dispatch [:navigate-back])}]
|
||||
[react/image
|
||||
{:source (resources/get-theme-image :unfurl)
|
||||
:style styles/link-preview-settings-image}]
|
||||
[components/text {:style {:margin 16}}
|
||||
[quo/text {:style {:margin 16}}
|
||||
(i18n/label :t/you-can-choose-preview-websites)]
|
||||
[components/separator {:style {:margin-vertical 8}}]
|
||||
[quo/separator {:style {:margin-vertical 8}}]
|
||||
|
||||
[react/view styles/whitelist-container
|
||||
[components/list-header (i18n/label :t/websites)]
|
||||
[quo/list-header (i18n/label :t/websites)]
|
||||
|
||||
(when (> (count link-previews-whitelist) 1)
|
||||
[components/button
|
||||
[quo/button
|
||||
{:on-press #(re-frame/dispatch [:chat.ui/enable-all-link-previews
|
||||
link-previews-whitelist
|
||||
(not all-enabled)])
|
||||
|
||||
@@ -4,10 +4,7 @@
|
||||
[legacy.status-im.ui.components.list.views :as list]
|
||||
[legacy.status-im.ui.components.react :as react]
|
||||
[legacy.status-im.ui.screens.log-level-settings.styles :as styles]
|
||||
[quo.core :as quo]
|
||||
[re-frame.core :as re-frame]
|
||||
[utils.i18n :as i18n]
|
||||
[utils.re-frame :as rf])
|
||||
[re-frame.core :as re-frame])
|
||||
(:require-macros [legacy.status-im.utils.views :as views]))
|
||||
|
||||
(defn- log-level-icon
|
||||
@@ -49,16 +46,9 @@
|
||||
(views/defview log-level-settings
|
||||
[]
|
||||
(views/letsubs [current-log-level [:log-level/current-log-level]]
|
||||
[:<>
|
||||
[quo/page-nav
|
||||
{:type :title
|
||||
:title (i18n/label :t/log-level-settings)
|
||||
:background :blur
|
||||
:icon-name :i/close
|
||||
:on-press #(rf/dispatch [:navigate-back])}]
|
||||
[list/flat-list
|
||||
{:data log-levels
|
||||
:default-separator? false
|
||||
:key-fn :name
|
||||
:render-data current-log-level
|
||||
:render-fn render-row}]]))
|
||||
[list/flat-list
|
||||
{:data log-levels
|
||||
:default-separator? false
|
||||
:key-fn :name
|
||||
:render-data current-log-level
|
||||
:render-fn render-row}]))
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
(ns legacy.status-im.ui.screens.notifications-settings.views
|
||||
(:require
|
||||
[legacy.status-im.ui.components.colors :as colors]
|
||||
[legacy.status-im.ui.components.core :as components]
|
||||
[legacy.status-im.ui.components.core :as quo]
|
||||
[legacy.status-im.ui.components.list.item :as list.item]
|
||||
[legacy.status-im.ui.components.react :as react]
|
||||
[quo.core :as quo]
|
||||
[react-native.platform :as platform]
|
||||
[utils.i18n :as i18n]
|
||||
[utils.re-frame :as rf]))
|
||||
@@ -23,10 +22,10 @@
|
||||
:active notifications-enabled?
|
||||
:on-press #(rf/dispatch [:push-notifications/switch (not notifications-enabled?)])
|
||||
:accessory :switch}]
|
||||
[components/separator
|
||||
[quo/separator
|
||||
{:color (:ui-02 @colors/theme)
|
||||
:style {:margin-vertical 8}}]
|
||||
[components/list-header (i18n/label :t/notifications-preferences)]
|
||||
[quo/list-header (i18n/label :t/notifications-preferences)]
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/notifications-non-contacts)
|
||||
@@ -62,16 +61,9 @@
|
||||
|
||||
(defn notifications-settings
|
||||
[]
|
||||
[:<>
|
||||
[quo/page-nav
|
||||
{:type :title
|
||||
:title (i18n/label :t/notification-settings)
|
||||
:background :blur
|
||||
:icon-name :i/close
|
||||
:on-press #(rf/dispatch [:navigate-back])}]
|
||||
[react/scroll-view
|
||||
{:style {:flex 1}
|
||||
:content-container-style {:padding-vertical 8}}
|
||||
(if platform/ios?
|
||||
[notifications-settings-ios]
|
||||
[notifications-settings-android])]])
|
||||
[react/scroll-view
|
||||
{:style {:flex 1}
|
||||
:content-container-style {:padding-vertical 8}}
|
||||
(if platform/ios?
|
||||
[notifications-settings-ios]
|
||||
[notifications-settings-android])])
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
[legacy.status-im.ui.components.animation :as anim]
|
||||
[legacy.status-im.ui.components.colors :as colors]
|
||||
[legacy.status-im.ui.components.react :as react]
|
||||
[legacy.status-im.ui.screens.profile.user.views :as profile.user]
|
||||
[legacy.status-im.ui.screens.reset-password.views :as reset-password.views]
|
||||
[re-frame.core :as re-frame]
|
||||
[react-native.platform :as platform]
|
||||
@@ -126,6 +127,9 @@
|
||||
(vector? view)
|
||||
view
|
||||
|
||||
(= :share-chat-key view)
|
||||
[profile.user/share-chat-key]
|
||||
|
||||
(= :password-reset-popover view)
|
||||
[reset-password.views/reset-password-popover]
|
||||
|
||||
|
||||
@@ -2,21 +2,20 @@
|
||||
(:require
|
||||
[legacy.status-im.multiaccounts.reset-password.core :as reset-password]
|
||||
[legacy.status-im.multiaccounts.update.core :as multiaccounts.update]
|
||||
[legacy.status-im.ui.components.core :as components]
|
||||
[legacy.status-im.ui.components.common.common :as components.common]
|
||||
[legacy.status-im.ui.components.core :as quo]
|
||||
[legacy.status-im.ui.components.list.item :as list.item]
|
||||
[legacy.status-im.ui.components.react :as react]
|
||||
[quo.core :as quo]
|
||||
[re-frame.core :as re-frame]
|
||||
[react-native.platform :as platform]
|
||||
[status-im.config :as config]
|
||||
[status-im.constants :as constants]
|
||||
[utils.i18n :as i18n]
|
||||
[utils.re-frame :as rf])
|
||||
[utils.i18n :as i18n])
|
||||
(:require-macros [legacy.status-im.utils.views :as views]))
|
||||
|
||||
(defn separator
|
||||
[]
|
||||
[components/separator {:style {:margin-vertical 8}}])
|
||||
[quo/separator {:style {:margin-vertical 8}}])
|
||||
|
||||
(def titles
|
||||
{constants/profile-pictures-visibility-contacts-only (i18n/label :t/recent-recipients)
|
||||
@@ -28,7 +27,8 @@
|
||||
|
||||
(views/defview privacy-and-security
|
||||
[]
|
||||
(views/letsubs [{:keys [preview-privacy?
|
||||
(views/letsubs [{:keys [mnemonic
|
||||
preview-privacy?
|
||||
messages-from-contacts-only
|
||||
webview-allow-permission-requests?
|
||||
opensea-enabled?
|
||||
@@ -36,107 +36,110 @@
|
||||
[:profile/profile]
|
||||
has-picture [:profile/has-picture]
|
||||
profile-pictures-show-to [:multiaccount/profile-pictures-show-to]]
|
||||
[:<>
|
||||
[quo/page-nav
|
||||
{:type :no-title
|
||||
:background :blur
|
||||
:icon-name :i/close
|
||||
:on-press #(rf/dispatch [:navigate-back])}]
|
||||
[react/scroll-view {:padding-vertical 8}
|
||||
[components/list-header (i18n/label :t/privacy)]
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/set-dapp-access-permissions)
|
||||
:on-press #(re-frame/dispatch [:navigate-to :dapps-permissions])
|
||||
:accessibility-label :dapps-permissions-button
|
||||
:chevron true}]
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (if platform/android?
|
||||
(i18n/label :t/hide-content-when-switching-apps)
|
||||
(i18n/label :t/hide-content-when-switching-apps-ios))
|
||||
:container-margin-bottom 8
|
||||
:active preview-privacy?
|
||||
:accessory :switch
|
||||
:on-press #(re-frame/dispatch
|
||||
[:profile.settings/change-preview-privacy
|
||||
((complement boolean) preview-privacy?)])}]
|
||||
(when config/collectibles-enabled?
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/display-collectibles)
|
||||
:container-margin-bottom 8
|
||||
:active opensea-enabled?
|
||||
:accessory :switch
|
||||
:on-press #(re-frame/dispatch
|
||||
[::multiaccounts.update/toggle-opensea-nfts-visiblity
|
||||
(not opensea-enabled?)])}])
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/chat-link-previews)
|
||||
:chevron true
|
||||
:on-press #(re-frame/dispatch [:open-modal :legacy-link-previews-settings])
|
||||
:accessibility-label :chat-link-previews}]
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/accept-new-chats-from)
|
||||
:chevron true
|
||||
:accessory :text
|
||||
:accessory-text (i18n/label (if messages-from-contacts-only
|
||||
:t/contacts
|
||||
:t/anyone))
|
||||
:on-press #(re-frame/dispatch [:navigate-to :messages-from-contacts-only])
|
||||
:accessibility-label :accept-new-chats-from}]
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/reset-password)
|
||||
:chevron true
|
||||
:accessory :text
|
||||
:on-press #(do
|
||||
(re-frame/dispatch [::reset-password/clear-form-vals])
|
||||
(re-frame/dispatch [:navigate-to :reset-password]))
|
||||
:accessibility-label :reset-password}]
|
||||
(when platform/android?
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/webview-camera-permission-requests)
|
||||
:active webview-allow-permission-requests?
|
||||
:accessory :switch
|
||||
:subtitle (i18n/label :t/webview-camera-permission-requests-subtitle)
|
||||
:subtitle-max-lines 2
|
||||
:on-press #(re-frame/dispatch
|
||||
[:profile.settings/profile-update
|
||||
:webview-allow-permission-requests?
|
||||
((complement boolean) webview-allow-permission-requests?)])}])
|
||||
[separator]
|
||||
[components/list-header (i18n/label :t/privacy-photos)]
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/show-profile-pictures)
|
||||
:accessibility-label :show-profile-pictures
|
||||
:accessory :text
|
||||
:accessory-text (get titles profile-pictures-visibility)
|
||||
:on-press #(re-frame/dispatch [:navigate-to :privacy-and-security-profile-pic])
|
||||
:chevron true}]
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/show-profile-pictures-to)
|
||||
:disabled (not has-picture)
|
||||
:accessibility-label :show-profile-pictures-to
|
||||
:accessory :text
|
||||
:accessory-text (get titles profile-pictures-show-to)
|
||||
:on-press #(re-frame/dispatch [:navigate-to
|
||||
:privacy-and-security-profile-pic-show-to])
|
||||
:chevron true}]
|
||||
[react/scroll-view {:padding-vertical 8}
|
||||
[quo/list-header (i18n/label :t/security)]
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/back-up-seed-phrase)
|
||||
:accessibility-label :back-up-recovery-phrase-button
|
||||
:disabled (not mnemonic)
|
||||
:chevron (boolean mnemonic)
|
||||
:accessory (when mnemonic [components.common/counter {:size 22} 1])
|
||||
:on-press #(re-frame/dispatch [:navigate-to :backup-seed])}]
|
||||
[separator]
|
||||
[quo/list-header (i18n/label :t/privacy)]
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/set-dapp-access-permissions)
|
||||
:on-press #(re-frame/dispatch [:navigate-to :dapps-permissions])
|
||||
:accessibility-label :dapps-permissions-button
|
||||
:chevron true}]
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (if platform/android?
|
||||
(i18n/label :t/hide-content-when-switching-apps)
|
||||
(i18n/label :t/hide-content-when-switching-apps-ios))
|
||||
:container-margin-bottom 8
|
||||
:active preview-privacy?
|
||||
:accessory :switch
|
||||
:on-press #(re-frame/dispatch
|
||||
[:profile.settings/change-preview-privacy
|
||||
((complement boolean) preview-privacy?)])}]
|
||||
(when config/collectibles-enabled?
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/display-collectibles)
|
||||
:container-margin-bottom 8
|
||||
:active opensea-enabled?
|
||||
:accessory :switch
|
||||
:on-press #(re-frame/dispatch
|
||||
[::multiaccounts.update/toggle-opensea-nfts-visiblity
|
||||
(not opensea-enabled?)])}])
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/chat-link-previews)
|
||||
:chevron true
|
||||
:on-press #(re-frame/dispatch [:navigate-to :link-previews-settings])
|
||||
:accessibility-label :chat-link-previews}]
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/accept-new-chats-from)
|
||||
:chevron true
|
||||
:accessory :text
|
||||
:accessory-text (i18n/label (if messages-from-contacts-only
|
||||
:t/contacts
|
||||
:t/anyone))
|
||||
:on-press #(re-frame/dispatch [:navigate-to :messages-from-contacts-only])
|
||||
:accessibility-label :accept-new-chats-from}]
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/reset-password)
|
||||
:chevron true
|
||||
:accessory :text
|
||||
:on-press #(do
|
||||
(re-frame/dispatch [::reset-password/clear-form-vals])
|
||||
(re-frame/dispatch [:navigate-to :reset-password]))
|
||||
:accessibility-label :reset-password}]
|
||||
(when platform/android?
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/webview-camera-permission-requests)
|
||||
:active webview-allow-permission-requests?
|
||||
:accessory :switch
|
||||
:subtitle (i18n/label :t/webview-camera-permission-requests-subtitle)
|
||||
:subtitle-max-lines 2
|
||||
:on-press #(re-frame/dispatch
|
||||
[:profile.settings/profile-update
|
||||
:webview-allow-permission-requests?
|
||||
((complement boolean) webview-allow-permission-requests?)])}])
|
||||
[separator]
|
||||
[quo/list-header (i18n/label :t/privacy-photos)]
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/show-profile-pictures)
|
||||
:accessibility-label :show-profile-pictures
|
||||
:accessory :text
|
||||
:accessory-text (get titles profile-pictures-visibility)
|
||||
:on-press #(re-frame/dispatch [:navigate-to :privacy-and-security-profile-pic])
|
||||
:chevron true}]
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:title (i18n/label :t/show-profile-pictures-to)
|
||||
:disabled (not has-picture)
|
||||
:accessibility-label :show-profile-pictures-to
|
||||
:accessory :text
|
||||
:accessory-text (get titles profile-pictures-show-to)
|
||||
:on-press #(re-frame/dispatch [:navigate-to :privacy-and-security-profile-pic-show-to])
|
||||
:chevron true}]
|
||||
|
||||
[separator]
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:theme :negative
|
||||
:title (i18n/label :t/delete-my-profile)
|
||||
:on-press #(re-frame/dispatch [:navigate-to :delete-profile])
|
||||
:accessibility-label :dapps-permissions-button
|
||||
:chevron true}]]]))
|
||||
[separator]
|
||||
[list.item/list-item
|
||||
{:size :small
|
||||
:theme :negative
|
||||
:title (i18n/label :t/delete-my-profile)
|
||||
:on-press #(re-frame/dispatch [:navigate-to :delete-profile])
|
||||
:accessibility-label :dapps-permissions-button
|
||||
:chevron true}]]))
|
||||
|
||||
(defn ppst-radio-item
|
||||
[id value]
|
||||
@@ -155,7 +158,7 @@
|
||||
[ppst-radio-item constants/profile-pictures-show-to-none profile-pictures-show-to]
|
||||
|
||||
[react/view {:style {:margin-horizontal 16}}
|
||||
[components/text {:color :secondary}
|
||||
[quo/text {:color :secondary}
|
||||
(i18n/label :t/privacy-show-to-warning)]]]))
|
||||
|
||||
(defn ppvf-radio-item
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user