Skip to content

Commit

Permalink
🚀[Release v2.13.0] Merge into Main (#301)
Browse files Browse the repository at this point in the history
* 🚀[Release v2.11.1 071024] Merge into Develop (#245)

* replaced the control in PeerManager.c

Signed-off-by: kcw-grunt <[email protected]>

* reverted BRBitcoinAmount

Signed-off-by: kcw-grunt <[email protected]>

* Cleaning up the files

Signed-off-by: kcw-grunt <[email protected]>

* Removed Pusher remnants

Signed-off-by: kcw-grunt <[email protected]>

---------

Signed-off-by: kcw-grunt <[email protected]>

* Added Fiat feature, and FCM for push notifications (#247)

* Added fiat feature based on language user chose

* added fcm for push notifications

* Update PushNotificationService.kt

* Added new Icon, removed duplicate fcm library, added in app messaging

* Added new Icon, removed duplicate fcm library, added in app messaging

* Tech debt/add af sdk (#248)

* Recent newline

Signed-off-by: kcw-grunt <[email protected]>

* AF added

Refactored cruft

- AF working

Signed-off-by: kcw-grunt <[email protected]>

---------

Signed-off-by: kcw-grunt <[email protected]>

* Techdebt/refactor brevents syncmarkers (#254)

* Tech debt/add af sdk (#248)

- AF working
- Changed requiredActivity
- Added analytics error report
- test this.Activity is null or not
- Bugfix - Phrase Reminder crash
- added an exception handler for UserNotAuthenticatedException.
		 - note: this should allow for the system to display the native authorization UI when needed
		 - fixes issue - https://console.firebase.google.com/u/0/project/litewallet-beta/crashlytics/app/android:com.loafwallet/issues/09dac17241309f0e823ef597a9a82cd4
- Added dev note
- remove calls to BREventManager
- removed BREventManager
- renamed error message
- fixed Firebase Analytics event error

Signed-off-by: kcw-grunt <[email protected]>

* version bump

update gitignore

Signed-off-by: kcw-grunt <[email protected]>

---------

Signed-off-by: kcw-grunt <[email protected]>

* Techdebt/ fixed send issue add syncing measurements (#255)

* removed unused BRSharedPreferences

Signed-off-by: kcw-grunt <[email protected]>

* started commenting out more Timber

Signed-off-by: kcw-grunt <[email protected]>

* Added more shared preferences for syncing

Signed-off-by: kcw-grunt <[email protected]>

* Commented out many verbose Timber logs

Signed-off-by: kcw-grunt <[email protected]>

* WIP

Still trying to figure out the eplased time and last and start timestamps…???
I dunno

Signed-off-by: kcw-grunt <[email protected]>

* Moved sync measurment into the method calls

Signed-off-by: kcw-grunt <[email protected]>

* Debugged the install issue with send

- Moved all the measurements in new methods
- recalculated measure points
- Added analytics
- event did_complete_sync was shown!
- adding a dummy file to make sure file system is set
||||WIP still verifying the JSON is present
- added a blockheight label
-  changed the sleep time (a hack to allow the device time to refresh the view) to 100 ms from 500ms!!
-WIP Why is the bundle not showing on time
Signed-off-by: kcw-grunt <[email protected]>

* replaces afID to first location

Signed-off-by: kcw-grunt <[email protected]>

* Removed redundant sync measurements

Signed-off-by: kcw-grunt <[email protected]>

* code bump

Signed-off-by: kcw-grunt <[email protected]>

---------

Signed-off-by: kcw-grunt <[email protected]>

* Techdebt/test refactor cruft removal (#250)

* Removed non english seed words

-Refactor tests
- Reset AnalyticsTests

Signed-off-by: kcw-grunt <[email protected]>

* Rename Bitcoinletter to Litecoinletters

-added tests
testLitecoinSymbolConstants
testAppExternalURLConstants
testFirebaseAnalyticsConstants

Signed-off-by: kcw-grunt <[email protected]>

---------

Signed-off-by: kcw-grunt <[email protected]>

* fix: [#152] make sure using Fragment, FragmentManager and FragmentTransaction from androidx (#260)

* fix: [#126] the issue came from FragmentBalanceSeedReminder.fetchSeedPhrase, so we just wrap with runCatching for now to avoid crash (#263)

* fix: [#264] add null checking for BRKeyStore.removeAliasAndFiles (#270)

* fix: [#265] add null checking, migrate viewpage… (#271)

* fix: [WIP][#265] work in progress add null checking, migrate viewpager to viewpager2 and more

* fix: [#265] finalize migration some deprecated class and implement null checking at FragmentTransactionItem

* fix: dix dismiss outside FragmentTransactionDetails

* 🚀[Release v2.12.2 20241118] Merge into Develop (#272)

* 🚀[Release v2.11.1 071024] Merge into Main (#246)

* replaced the control in PeerManager.c

Signed-off-by: kcw-grunt <[email protected]>

* reverted BRBitcoinAmount

Signed-off-by: kcw-grunt <[email protected]>

* Cleaning up the files

Signed-off-by: kcw-grunt <[email protected]>

* Removed Pusher remnants

Signed-off-by: kcw-grunt <[email protected]>

---------

Signed-off-by: kcw-grunt <[email protected]>

* version bump

Signed-off-by: kcw-grunt <[email protected]>

* Removed donation button

removed xml
removed fragments
removed references of the donation
removed analytical events

Signed-off-by: kcw-grunt <[email protected]>

* fix: prevent activity close

* code bump

Signed-off-by: kcw-grunt <[email protected]>

* enabled for Debug

Signed-off-by: kcw-grunt <[email protected]>

* fix: [#264] add null checking for BRKeyStore.removeAliasAndFiles (#270)

* fix: [#265] add null checking, migrate viewpage… (#271)

* fix: [WIP][#265] work in progress add null checking, migrate viewpager to viewpager2 and more

* fix: [#265] finalize migration some deprecated class and implement null checking at FragmentTransactionItem

* fix: dix dismiss outside FragmentTransactionDetails

* code bump

Signed-off-by: kcw-grunt <[email protected]>

* version bump

Signed-off-by: kcw-grunt <[email protected]>

---------

Signed-off-by: kcw-grunt <[email protected]>
Co-authored-by: andhikayuana <[email protected]>

* revert minSDkVersion to 29 (#276)

Signed-off-by: kcw-grunt <[email protected]>

* fix: [#258] avoid OOM with cache the result of opsAll, previously called multiple times at onBindViewHolder (#277)

* fix: [#258] avoid OOM with cache the result of opsAll, previously called multiple times at onBindViewHolder

* chore: [#258] cleanup comment

* fix: [#266] add null checking and default value based on iOS since getCurrency can produce null (#278)

* fix: [#266] add null checking and default value based on iOS since getCurrency can produce null

* chore: [#266] cleanup comment

* fix: [#274] fixing locale on android 14 and setup test using junit & mockk (#282)

* chore: [#274] initial setup test using JUnit & MockK

* chore: [#274] add more test case at LocaleHelperTest

* fix: [#274] fix default language from shared preferences

* fix: [#274] disable language split on AAB

* chore: [#274] rename method

* chore: [#126] simplify exception handling at BRKeyStore._getData and record exception to Firebase Crashlytics (#283)

* Techdebt/remove auth prompt (#256)

* Check reenter pin freeze after the auth prompt deleted.

Signed-off-by: kcw-grunt <[email protected]>

* cleaned up deletion

Signed-off-by: kcw-grunt <[email protected]>

* Many removals

- Removed the fingerprint xml
- Removed the Fingerprint Fragment and java files
- Removed the enum referencing the fingerprint prompt
- Removed check of fingerprint enrollment and checks
- Removed biometrics and fingerprint permissions

Signed-off-by: kcw-grunt <[email protected]>

* removed fingerprint image

code and version bump

Signed-off-by: kcw-grunt <[email protected]>

* chore: remove FragmentFingerprint.java since, not used and failed to build

---------

Signed-off-by: kcw-grunt <[email protected]>
Co-authored-by: josikie <[email protected]>
Co-authored-by: andhikayuana <[email protected]>

* 🚀[Release v2.12.4 20241130] Merge into Develop (#286)

* 🚀[Release v2.11.1 071024] Merge into Main (#246)

* replaced the control in PeerManager.c

Signed-off-by: kcw-grunt <[email protected]>

* reverted BRBitcoinAmount

Signed-off-by: kcw-grunt <[email protected]>

* Cleaning up the files

Signed-off-by: kcw-grunt <[email protected]>

* Removed Pusher remnants

Signed-off-by: kcw-grunt <[email protected]>

---------

Signed-off-by: kcw-grunt <[email protected]>

* 🚀[Release v2.12.2 20241118] Merge into Main (#273)

* 🚀[Release v2.11.1 071024] Merge into Develop (#245)

* replaced the control in PeerManager.c

Signed-off-by: kcw-grunt <[email protected]>

* reverted BRBitcoinAmount

Signed-off-by: kcw-grunt <[email protected]>

* Cleaning up the files

Signed-off-by: kcw-grunt <[email protected]>

* Removed Pusher remnants

Signed-off-by: kcw-grunt <[email protected]>

---------

Signed-off-by: kcw-grunt <[email protected]>

* Added Fiat feature, and FCM for push notifications (#247)

* Added fiat feature based on language user chose

* added fcm for push notifications

* Update PushNotificationService.kt

* Added new Icon, removed duplicate fcm library, added in app messaging

* Added new Icon, removed duplicate fcm library, added in app messaging

* Tech debt/add af sdk (#248)

* Recent newline

Signed-off-by: kcw-grunt <[email protected]>

* AF added

Refactored cruft

- AF working

Signed-off-by: kcw-grunt <[email protected]>

---------

Signed-off-by: kcw-grunt <[email protected]>

* Techdebt/refactor brevents syncmarkers (#254)

* Tech debt/add af sdk (#248)

- AF working
- Changed requiredActivity
- Added analytics error report
- test this.Activity is null or not
- Bugfix - Phrase Reminder crash
- added an exception handler for UserNotAuthenticatedException.
		 - note: this should allow for the system to display the native authorization UI when needed
		 - fixes issue - https://console.firebase.google.com/u/0/project/litewallet-beta/crashlytics/app/android:com.loafwallet/issues/09dac17241309f0e823ef597a9a82cd4
- Added dev note
- remove calls to BREventManager
- removed BREventManager
- renamed error message
- fixed Firebase Analytics event error

Signed-off-by: kcw-grunt <[email protected]>

* version bump

update gitignore

Signed-off-by: kcw-grunt <[email protected]>

---------

Signed-off-by: kcw-grunt <[email protected]>

* Techdebt/ fixed send issue add syncing measurements (#255)

* removed unused BRSharedPreferences

Signed-off-by: kcw-grunt <[email protected]>

* started commenting out more Timber

Signed-off-by: kcw-grunt <[email protected]>

* Added more shared preferences for syncing

Signed-off-by: kcw-grunt <[email protected]>

* Commented out many verbose Timber logs

Signed-off-by: kcw-grunt <[email protected]>

* WIP

Still trying to figure out the eplased time and last and start timestamps…???
I dunno

Signed-off-by: kcw-grunt <[email protected]>

* Moved sync measurment into the method calls

Signed-off-by: kcw-grunt <[email protected]>

* Debugged the install issue with send

- Moved all the measurements in new methods
- recalculated measure points
- Added analytics
- event did_complete_sync was shown!
- adding a dummy file to make sure file system is set
||||WIP still verifying the JSON is present
- added a blockheight label
-  changed the sleep time (a hack to allow the device time to refresh the view) to 100 ms from 500ms!!
-WIP Why is the bundle not showing on time
Signed-off-by: kcw-grunt <[email protected]>

* replaces afID to first location

Signed-off-by: kcw-grunt <[email protected]>

* Removed redundant sync measurements

Signed-off-by: kcw-grunt <[email protected]>

* code bump

Signed-off-by: kcw-grunt <[email protected]>

---------

Signed-off-by: kcw-grunt <[email protected]>

* Techdebt/test refactor cruft removal (#250)

* Removed non english seed words

-Refactor tests
- Reset AnalyticsTests

Signed-off-by: kcw-grunt <[email protected]>

* Rename Bitcoinletter to Litecoinletters

-added tests
testLitecoinSymbolConstants
testAppExternalURLConstants
testFirebaseAnalyticsConstants

Signed-off-by: kcw-grunt <[email protected]>

---------

Signed-off-by: kcw-grunt <[email protected]>

* fix: [#152] make sure using Fragment, FragmentManager and FragmentTransaction from androidx (#260)

* fix: [#126] the issue came from FragmentBalanceSeedReminder.fetchSeedPhrase, so we just wrap with runCatching for now to avoid crash (#263)

* version bump

Signed-off-by: kcw-grunt <[email protected]>

* Removed donation button

removed xml
removed fragments
removed references of the donation
removed analytical events

Signed-off-by: kcw-grunt <[email protected]>

* fix: prevent activity close

* code bump

Signed-off-by: kcw-grunt <[email protected]>

* enabled for Debug

Signed-off-by: kcw-grunt <[email protected]>

* fix: [#264] add null checking for BRKeyStore.removeAliasAndFiles (#270)

* fix: [#265] add null checking, migrate viewpage… (#271)

* fix: [WIP][#265] work in progress add null checking, migrate viewpager to viewpager2 and more

* fix: [#265] finalize migration some deprecated class and implement null checking at FragmentTransactionItem

* fix: dix dismiss outside FragmentTransactionDetails

* code bump

Signed-off-by: kcw-grunt <[email protected]>

* version bump

Signed-off-by: kcw-grunt <[email protected]>

---------

Signed-off-by: kcw-grunt <[email protected]>
Co-authored-by: Josi Kie <[email protected]>
Co-authored-by: Andhika Yuana <[email protected]>

* bumped version and code

* compiled the env (#284)

please check @andhikayuana @josikie  that you are able to compile

* Users complained that recyclerView was setting to the wrong language

- Polished to index to a language
- bump code

* chore: [#126] simplify exception handling at BRKeyStore._getData and record exception to Firebase Crashlytics (#283)

---------

Signed-off-by: kcw-grunt <[email protected]>
Co-authored-by: Josi Kie <[email protected]>
Co-authored-by: Andhika Yuana <[email protected]>

* Added abilities to copy transaction id by click the transaction id (#290)

* Added abilities to copy transaction id by click the transaction id

* Update build.gradle

* version and code bump

* Unit Test(s) Migration (#287)

* chore: [test] add BRConstantsTest for unitTest and deprecated ConstantsTests inside androidTest

* chore: [test] remove unused test files

* chore: [test] add todo to fill the tests and change package name

* chore: [test] add basic example

* chore: [test] integrate with ci/cd

* chore: [test][ci] fix Cannot find a definition for command named android/restore-gradle-cache

* chore: [test][ci] fix Cannot find a definition for command named android/run-tests

* chore: [test][ci] fix Unexpected argument(s): test-command

* chore: [test][ci] fix Cannot find a definition for executor named android/android-docker

* chore: [test][ci] add default for gradle.properties

* chore: [test][ci] avoid breaking in build.gradle

* chore: [test][ci] enable androidx and jetifier

* chore: [test][ci] init submodule

* chore: [test][ci] just using run command for execute unit test step

* chore: [test][ci] add env for google-services.json

* chore: [test][ci] add env for google-services.json

* chore: [test][ci] add env for google-services.json

* Major refactor of code to move classes to the ideal location

- Removed cruft
- Moved all tests to the unitTest directory
- Remove poorly placed tests into (AndroidTest)
- Commented  old code into the new Kotlin class(es)
- working in the first test of currency
- Removed the paymentRequest method
- Renamed Classes

* chore: resolve CurrencyTests

* Added notes

---------

Co-authored-by: Kerry Washington <[email protected]>

* feat: remote config feature toggle (#293)

* feat: [remote-config] wip for remote config feature toggle

* feat: [remote-config] implement base url toggle for prod and dev

* feat: [test] add BRApiManagerTest

* fix: fix getBaseUrlProd for FragmentBuy and add test

* chore: change BRApiManager.fetchRates using getBaseUrlProd

* version and code bump

* Update .gitignore

---------

Signed-off-by: kcw-grunt <[email protected]>
Co-authored-by: Josi Kie <[email protected]>
Co-authored-by: Andhika Yuana <[email protected]>
Co-authored-by: josikie <[email protected]>
  • Loading branch information
4 people authored Dec 19, 2024
1 parent 893649d commit e7c9ad4
Show file tree
Hide file tree
Showing 52 changed files with 2,313 additions and 2,755 deletions.
46 changes: 36 additions & 10 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,51 @@
# See: https://circleci.com/docs/2.0/configuration-reference
version: 2.1

orbs:
android: circleci/[email protected]

# Define a job to be invoked later in a workflow.
# See: https://circleci.com/docs/2.0/configuration-reference/#jobs
jobs:
say-hello:
# Specify the execution environment. You can specify an image from Dockerhub or use one of our Convenience Images from CircleCI's Developer Hub.
# See: https://circleci.com/docs/2.0/configuration-reference/#docker-machine-macos-windows-executor
docker:
- image: cimg/base:stable
# Add steps to the job
# See: https://circleci.com/docs/2.0/configuration-reference/#steps
unit-test:
executor:
name: android/android_machine
resource_class: large
tag: default
steps:
- checkout
- run:
name: "Say hello"
command: "echo Hello, World!"
command: "echo Hello, World! && ls"
- run:
name: "Default for gradle.properties"
command: "echo \"RELEASE_STORE_FILE=/\nRELEASE_STORE_PASSWORD=\nRELEASE_KEY_ALIAS=\nRELEASE_KEY_PASSWORD=\nandroid.useAndroidX=true\nandroid.enableJetifier=true\" >> gradle.properties && ls && cat gradle.properties"
- run:
name: "Initialize submodule"
command: "git submodule init && git submodule update --init --recursive"
- run:
name: "Copy google-services.json"
command: echo "$GOOGLE_SERVICES_JSON" | base64 --decode > app/google-services.json
- android/restore_gradle_cache
- run:
name: "Execute Unit Test"
command: ./gradlew testLitewalletDebugUnitTest
- android/save_gradle_cache
- run:
name: Save test results
command: |
mkdir -p ~/test-results/junit/
find . -type f -regex ".*/build/test-results/.*xml" -exec cp {} ~/test-results/junit/ \;
when: always
- store_test_results:
path: ~/test-results
- store_artifacts:
path: ~/test-results/junit


# Invoke jobs via workflows
# See: https://circleci.com/docs/2.0/configuration-reference/#workflows
workflows:
say-hello-workflow:
test-and-build:
jobs:
- say-hello
- unit-test
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -103,3 +103,5 @@ app/src/litewalletDebug/google-services.json
/.idea/dictionaries/grunt.xml
androidTestResultsUserPreferences.xml
.idea/deploymentTargetSelector.xml
.idea/inspectionProfiles/Project_Default.xml
app/.idea/gradle.xml
3 changes: 3 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

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

51 changes: 27 additions & 24 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -31,29 +31,30 @@ android {
}
}
assetPacks = [":install_time_asset_pack",":fast_follow_asset_pack_01"]
signingConfigs {
release {
storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}

Properties props = new Properties()
def propFile = file('../release.properties')
if (propFile.canRead()) {
props.load(new FileInputStream(propFile))

if (props != null && props.containsKey('storeFile') && props.containsKey('storePassword') &&
props.containsKey('keyAlias') && props.containsKey('keyPassword')) {

android.signingConfigs.release.storeFile = file(props['storeFile'])
android.signingConfigs.release.storePassword = props['storePassword']
android.signingConfigs.release.keyAlias = props['keyAlias']
android.signingConfigs.release.keyPassword = props['keyPassword']
}
}
signingConfigs {
release {
storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}

Properties props = new Properties()
def propFile = file('../release.properties')
if (propFile.canRead()) {
props.load(new FileInputStream(propFile))

if (props != null && props.containsKey('storeFile') && props.containsKey('storePassword') &&
props.containsKey('keyAlias') && props.containsKey('keyPassword')) {

android.signingConfigs.release.storeFile = file(props['storeFile'])
android.signingConfigs.release.storePassword = props['storePassword']
android.signingConfigs.release.keyAlias = props['keyAlias']
android.signingConfigs.release.keyPassword = props['keyPassword']
}
}

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
Expand All @@ -68,8 +69,8 @@ android {
applicationId = 'com.loafwallet'
minSdkVersion 29
targetSdkVersion 34
versionCode 20241130
versionName "v2.12.4"
versionCode 20241212
versionName "v2.13.0"
multiDexEnabled true
archivesBaseName = "${versionName}(${versionCode})"

Expand Down Expand Up @@ -276,6 +277,7 @@ dependencies {
implementation 'org.json:json:20231013'
implementation 'androidx.navigation:navigation-fragment-ktx:2.7.7'
implementation 'androidx.navigation:navigation-ui-ktx:2.7.7'
implementation 'androidx.test.ext:junit-ktx:1.2.1'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'junit:junit:4.12'
androidTestImplementation('androidx.test.espresso:espresso-core:3.5.1')
Expand Down Expand Up @@ -322,6 +324,7 @@ dependencies {
implementation 'com.google.firebase:firebase-crashlytics'
implementation 'com.google.firebase:firebase-crashlytics-ndk'
implementation('com.google.firebase:firebase-iid:21.1.0')
implementation("com.google.firebase:firebase-config-ktx")

// push notifications
implementation 'com.google.firebase:firebase-messaging:23.4.0'
Expand Down
81 changes: 0 additions & 81 deletions app/src/androidTest/java/com/litewallet/PaperKeyTests.java

This file was deleted.

Loading

0 comments on commit e7c9ad4

Please sign in to comment.