Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to Bitcoin Wallet 10.20 #7

Open
wants to merge 44 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
f83412f
README.md: update Ubuntu recommendation to 24.04 LTS (Noble Numbat)
schildbach Jul 13, 2024
6d7c71b
README.recover.md: update to wallet-tool from bitcoinj 0.16
schildbach Jul 13, 2024
89bab23
README.recover.md: extend WSL instructions to Windows 11
schildbach Jul 13, 2024
7862404
README.recover.md: add missing directory change
schildbach Jul 13, 2024
241c359
AndroidManifest.xml: use flag `android:showWhenLocked` to show activi…
schildbach Jul 12, 2024
7389d4f
WalletActivity: simplify initialization of enter animation
schildbach Jul 12, 2024
e4feb39
AndroidManifest.xml, shortcuts.xml, shortcut_send_coins.xml, shortcut…
schildbach Jul 12, 2024
b1fdd93
Constants: start deprecation of Android versions below 9.0 (Pie)
schildbach Aug 29, 2024
9bd1fd7
Constants: update recommended minimum Android security patch level
schildbach Aug 29, 2024
230c113
build.gradle: update SDK Build Tools to 35.0.0
schildbach Aug 29, 2024
a2847d2
build.gradle: update AndroidX Annotation to 1.8.2
schildbach Aug 29, 2024
51154c9
build.gradle: update AndroidX Activity to 1.9.1
schildbach Aug 29, 2024
7bceab1
build.gradle: update ZXing to 3.5.3
schildbach Aug 29, 2024
f810547
checkpoints.txt: add recent checkpoints
schildbach Aug 29, 2024
941a3d9
10.16
schildbach Aug 29, 2024
2c39eb1
build.gradle: update AndroidX Activity to 1.9.2
schildbach Oct 16, 2024
d395106
BlockchainService: swallow ForegroundServiceStartNotAllowedException …
schildbach Oct 18, 2024
2bc2ec9
BlockchainService: stop self if system indicates a time-out
schildbach Oct 18, 2024
dca209e
request_coins_fragment.xml: fix layout of QR code bar
schildbach Oct 19, 2024
6f17e42
AbstractWalletActivity: support edge-to-edge layout
schildbach Oct 19, 2024
65b4f96
10.17
schildbach Oct 19, 2024
6042241
AbstractWalletActivity, WalletActivity: set navigation bar theme
schildbach Oct 20, 2024
f524954
divider_dark.xml: make a bit darker
schildbach Oct 20, 2024
0fc0d97
WalletActivity: fix insets to account for system navigation
schildbach Oct 20, 2024
8bb3db0
SendCoinsFragment: fix insets to account for system navigation
schildbach Oct 20, 2024
6377401
SweepWalletFragment: fix insets to account for system navigation
schildbach Oct 20, 2024
98249fe
styles.xml: fix press animation for buttons in the wallet actions bar
schildbach Oct 20, 2024
442a89e
10.18
schildbach Oct 20, 2024
e685aa2
build.gradle: update AndroidX Activity to 1.9.3
schildbach Oct 29, 2024
fcaabcc
ScanActivity: remove setting of layout flag
schildbach Oct 30, 2024
5275d58
AbstractWalletActivity: move `EdgeToEdge.enable()` to concrete activi…
schildbach Oct 30, 2024
a469822
WalletActivity, AddressBookActivity, ExchangeRatesActivity, SendCoins…
schildbach Oct 30, 2024
1b69868
WalletActivity, RequestCoinsActivity, SendCoinsActivity, SweepWalletA…
schildbach Oct 30, 2024
7de7d55
ExchangeRatesFragment: fix "fragment not attached to a context" excep…
schildbach Oct 30, 2024
c1b8f2c
transaction_row.xml, address_book_row.xml, exchange_rate_row.xml, add…
schildbach Oct 30, 2024
e798595
WalletActivity, AddressBookActivity, ExchangeRatesFragment, RequestCo…
schildbach Oct 30, 2024
cd324af
address_book_content.xml, exchange_rates_content.xml, network_monitor…
schildbach Oct 29, 2024
07bc038
10.19
schildbach Oct 31, 2024
ac57225
SendCoinsFragment: fix bottom action buttons obscured by the IME
schildbach Oct 31, 2024
bd7e8ad
RequestCoinsActivity: fix bottom part of UI obscured by the IME
schildbach Oct 31, 2024
f6ebe0a
AddressBookActivity, ExchangeRatesActivity, RequestCoinsActivity, Net…
schildbach Nov 1, 2024
f37e801
10.20
schildbach Nov 2, 2024
bc98bbf
Merge tag 'v10.20' of https://github.com/bitcoin-wallet/bitcoin-walle…
HashEngineering Nov 17, 2024
1822d56
Try fixing github action
gruve-p Nov 26, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 0 additions & 57 deletions .github/workflows/gradle6.yml

This file was deleted.

14 changes: 7 additions & 7 deletions .github/workflows/gradle7.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
java: ['11', '17']
java: ['17', '18']
distribution: ['temurin']
gradle: ['7.5.1']
fail-fast: false
Expand All @@ -17,30 +17,30 @@ jobs:
- uses: actions/checkout@v3

- name: Set up JDK
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}

- name: Setup Android SDK
uses: android-actions/setup-android@v2.0.10
uses: android-actions/setup-android@v3

- name: Install build-tools 33.0.2, platformtools and platform android-33
run: sdkmanager --install "build-tools;33.0.2" "platform-tools" "platforms;android-33"
- name: Install build-tools 35.0.0, platformtools and platform android-33
run: sdkmanager --install "build-tools;35.0.0" "platform-tools" "platforms;android-35"

- name: Build with Gradle
run: |
./gradlew wrapper --gradle-version=${{ matrix.gradle }}
./gradlew clean build --stacktrace

- name: Upload artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: groestlcoin-wallet-JAVA${{ matrix.java }}-${{ matrix.os }}-${{ matrix.gradle }}
path: |
wallet/build/outputs/apk/

- name: Download artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: groestlcoin-wallet-JAVA${{ matrix.java }}-${{ matrix.os }}-${{ matrix.gradle }}
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ This project contains several sub-projects:

### PREREQUISITES FOR BUILDING

You'll need git, a Java 11 SDK and Gradle between 4.4 and 6.9.x for this. We'll assume Ubuntu 22.04 LTS (Jammy Jellyfish)
You'll need git, a Java 11 SDK and Gradle between 4.4 and 6.9.x for this. We'll assume Ubuntu 24.04 LTS (Noble Numbat)
for the package installs, which comes with OpenJDK 11 and Gradle 4.4.1 out of the box.

# first time only
Expand Down
27 changes: 14 additions & 13 deletions wallet/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
xmlns:tools="http://schemas.android.com/tools"
package="de.schildbach.wallet"
android:installLocation="internalOnly"
android:versionCode="101500"
android:versionName="10.15">
android:versionCode="102000"
android:versionName="10.20">

<!-- normal permissions -->
<uses-permission android:name="android.permission.INTERNET" />
Expand Down Expand Up @@ -82,8 +82,7 @@
android:icon="@drawable/ic_app_color"
android:label="@string/app_name"
android:localeConfig="@xml/locale_config"
android:networkSecurityConfig="@xml/network_security_config"
tools:targetApi="24">
android:networkSecurityConfig="@xml/network_security_config">
<activity
android:name="de.schildbach.wallet.ui.WalletActivity"
android:configChanges="keyboard|keyboardHidden"
Expand Down Expand Up @@ -114,7 +113,7 @@
android:configChanges="keyboard|keyboardHidden"
android:exported="true"
android:label="@string/send_coins_activity_title"
android:theme="@style/My.Theme.ChildActivity"
android:theme="@style/My.Theme"
android:windowSoftInputMode="adjustResize">
<intent-filter android:label="@string/send_coins_activity_title">
<action android:name="android.intent.action.VIEW" />
Expand Down Expand Up @@ -150,31 +149,32 @@
android:name="de.schildbach.wallet.ui.RequestCoinsActivity"
android:configChanges="keyboard|keyboardHidden"
android:label="@string/request_coins_activity_title"
android:theme="@style/My.Theme.ChildActivity"
android:windowSoftInputMode="adjustResize" />
android:theme="@style/My.Theme"
android:windowSoftInputMode="adjustResize"
android:showWhenLocked="true" />

<activity
android:name="de.schildbach.wallet.ui.AddressBookActivity"
android:configChanges="keyboard|keyboardHidden"
android:label="@string/address_book_activity_title"
android:theme="@style/My.Theme.ChildActivity" />
android:theme="@style/My.Theme" />

<activity
android:name="de.schildbach.wallet.ui.ExchangeRatesActivity"
android:configChanges="keyboard|keyboardHidden"
android:label="@string/exchange_rates_activity_title"
android:theme="@style/My.Theme.ChildActivity" />
android:theme="@style/My.Theme" />

<activity
android:name="de.schildbach.wallet.ui.monitor.NetworkMonitorActivity"
android:configChanges="keyboard|keyboardHidden"
android:label="@string/network_monitor_activity_title"
android:theme="@style/My.Theme.ChildActivity" />
android:theme="@style/My.Theme" />

<activity
android:name="de.schildbach.wallet.ui.preference.PreferenceActivity"
android:label="@string/preferences_activity_title"
android:theme="@style/My.Theme.ChildActivity" />
android:theme="@android:style/Theme.Material.Light.DarkActionBar" />

<activity
android:name="de.schildbach.wallet.ui.backup.BackupWalletActivity"
Expand All @@ -198,13 +198,14 @@
android:configChanges="keyboard|keyboardHidden"
android:stateNotNeeded="true"
android:theme="@style/My.Theme.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden" />
android:windowSoftInputMode="stateAlwaysHidden"
android:showWhenLocked="true" />

<activity
android:name="de.schildbach.wallet.ui.send.SweepWalletActivity"
android:configChanges="keyboard|keyboardHidden"
android:label="@string/sweep_wallet_activity_title"
android:theme="@style/My.Theme.ChildActivity"
android:theme="@style/My.Theme"
android:windowSoftInputMode="adjustResize" />

<provider
Expand Down
3 changes: 3 additions & 0 deletions wallet/CHANGES
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
v10.20
* Updated to Bitcoin Wallet 10.20

v10.15
* Updated to Bitcoin Wallet 10.15

Expand Down
16 changes: 8 additions & 8 deletions wallet/README.recover.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ refrain from sending your coins to a temporary wallet created in that environmen
lost e.g. on a power outage or computer failure. Your desired destination wallet should already be
set up and you should have one of its receiving addresses or a QR code at hand.

Alternatively, you can also use Ubuntu on Windows 10 64-bit, if you've fully upgraded to the Fall Creators Update (version 1709 or later). Open the Windows Start Menu, search for and start `Turn Windows features on or off`. Scroll down and tick the `Windows Subsystem for Linux` feature. Restart your computer when prompted. Next, install `Ubuntu` from the Windows Store. Once the download has completed, select `Launch`. It will prompt you to pick a username and complete the installation. From now on, you can start into a Linux shell by selecting `Ubuntu` from the Windows Start Menu.
Alternatively, you can also use Ubuntu on Windows 10/11 64-bit (fully upgraded). Open the Windows Start Menu, search for and start `Turn Windows features on or off`. Scroll down and tick the `Windows Subsystem for Linux` feature. Restart your computer when prompted. Next, install `Ubuntu` from the Windows Store. Once the download has completed, select `Launch`. It will prompt you to pick a username and complete the installation. From now on, you can start into a Linux shell by selecting `Ubuntu` from the Windows Start Menu.

You should be at least a bit familiar with the Linux shell. Commands `in fixed-width font like this`
are meant to be executed as a shell command. Before you execute each command by pressing return,
Expand All @@ -37,7 +37,7 @@ requiring your Ubuntu user password.

On your PC, within your Linux shell, install the following Ubuntu packages:

sudo apt install openjdk-8-jdk android-tools-adb openssl git gradle
sudo apt install openjdk-11-jdk android-tools-adb openssl git gradle

On your Android device, go to Settings > Developer options and enable "USB debugging". On most
recent devices you need to go to Settings > About first and tap on "Build number" multiple times
Expand Down Expand Up @@ -81,12 +81,12 @@ password.

We need wallet-tool from groestlcoinj. First, in a working directory, let's get groestlcoinj:

git clone -b release-0.15 https://github.com/groestlcoin/groestlcoinj.git
git clone -b release-0.16 https://github.com/groestlcoin/groestlcoinj.git
cd groestlcoinj

Make sure everything is compiled and ready to go by using once:

cd goestlcoinj/tools
./wallet-tool
gradle clean groestlcoinj-tools:installDist

Now use wallet-tool to sync the wallet from your backup:

Expand All @@ -96,12 +96,12 @@ Now use wallet-tool to sync the wallet from your backup:
The sync process will take anywhere from a few minutes to hours. Wallet-tool will return to the
shell prompt if its finished syncing. Have a look at the wallet:

./wallet-tool dump --wallet=/tmp/goestlcoin-wallet-decrypted-backup
tools/build/install/wallet-tool/bin/wallet-tool dump --wallet=/tmp/groestlcoin-wallet-decrypted-backup

Does the balance look right? You can see all transactions that ever touched your wallet. Now empty
your entire wallet to the desired destination wallet if that's what you want:

./wallet-tool send --wallet=/tmp/goestlcoin-wallet-decrypted-backup --output=<receiving address of destination wallet>:ALL
tools/build/install/wallet-tool/bin/wallet-tool send --wallet=/tmp/goestlcoin-wallet-decrypted-backup --output=<receiving address of destination wallet>:ALL

If your wallet was protected by a spending PIN, you need to supply that PIN using the `--password=<PIN>` option.

Expand All @@ -112,7 +112,7 @@ are confirmed, you're done and you can skip the next paragraph to EPILOGUE.

You can also get a list of your private keys, e.g. to claim coins other than Groestlcoin which may sit on the same keys. To dump the private keys use:

./wallet-tool dump --wallet=/tmp/goestlcoin-wallet-decrypted-backup --dump-privkeys
tools/build/install/wallet-tool/bin/wallet-tool dump --wallet=/tmp/goestlcoin-wallet-decrypted-backup --dump-privkeys

Again, if your wallet was protected by a spending PIN, you need to supply that PIN using the `--password=<PIN>` option.

Expand Down
8 changes: 4 additions & 4 deletions wallet/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ configurations {
}

dependencies {
implementation 'androidx.annotation:annotation:1.8.0'
implementation 'androidx.annotation:annotation:1.8.2'
implementation 'androidx.core:core:1.13.1'
implementation 'androidx.activity:activity:1.9.0'
implementation 'androidx.activity:activity:1.9.3'
implementation 'androidx.fragment:fragment:1.7.1'
implementation 'androidx.recyclerview:recyclerview:1.3.2'
implementation 'androidx.cardview:cardview:1.0.0'
Expand All @@ -28,7 +28,7 @@ dependencies {
annotationProcessor "androidx.room:room-compiler:2.6.1"
implementation 'com.github.groestlcoin:groestlcoinj-core:0.16.3'
implementation 'com.google.guava:guava:33.1.0-android'
implementation 'com.google.zxing:core:3.5.2'
implementation 'com.google.zxing:core:3.5.3'
//noinspection GradleDependency
implementation 'com.squareup.okhttp3:okhttp:3.14.9'
//noinspection GradleDependency
Expand All @@ -45,7 +45,7 @@ ext {

android {
compileSdkVersion 'android-34'
buildToolsVersion '34.0.0'
buildToolsVersion '35.0.0'

defaultConfig {
applicationId 'hashengineering.groestlcoin'
Expand Down
4 changes: 1 addition & 3 deletions wallet/res-prod/xml/shortcuts.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shortcuts
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:targetApi="25">
xmlns:android="http://schemas.android.com/apk/res/android">

<shortcut
android:icon="@drawable/shortcut_scan_qr"
Expand Down
12 changes: 12 additions & 0 deletions wallet/res/drawable-anydpi/ic_back_white_24dp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">

<path
android:fillColor="#FFFFFFFF"
android:pathData="M20,11L7.8,11l5.6,-5.6L12,4l-8,8l8,8l1.4,-1.4L7.8,13L20,13L20,11z" />
</vector>
2 changes: 1 addition & 1 deletion wallet/res/drawable/divider_dark.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
android:height="1dp"
android:width="1dp" />
<solid
android:color="#4fff" />
android:color="#2fff" />
</shape>
4 changes: 1 addition & 3 deletions wallet/res/drawable/shortcut_request_coins.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:targetApi="25">
xmlns:android="http://schemas.android.com/apk/res/android">

<item
android:bottom="@dimen/shortcut_padding"
Expand Down
4 changes: 1 addition & 3 deletions wallet/res/drawable/shortcut_scan_qr.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:targetApi="25">
xmlns:android="http://schemas.android.com/apk/res/android">

<item
android:bottom="@dimen/shortcut_padding"
Expand Down
4 changes: 1 addition & 3 deletions wallet/res/drawable/shortcut_send_coins.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:targetApi="25">
xmlns:android="http://schemas.android.com/apk/res/android">

<item
android:bottom="@dimen/shortcut_padding"
Expand Down
10 changes: 4 additions & 6 deletions wallet/res/layout-land/request_coins_fragment.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,17 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/bg_level0"
android:paddingBottom="@dimen/list_entry_padding_vertical"
android:paddingLeft="@dimen/list_entry_padding_horizontal"
android:paddingRight="@dimen/list_entry_padding_horizontal"
android:paddingTop="@dimen/list_entry_padding_vertical"
android:paddingLeft="@dimen/list_entry_padding_horizontal_lax"
android:paddingRight="@dimen/list_entry_padding_horizontal_lax"
android:orientation="vertical">

<androidx.cardview.widget.CardView
android:id="@+id/request_coins_qr_card"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="@dimen/list_entry_padding_vertical"
android:layout_marginTop="@dimen/list_entry_padding_vertical"
android:layout_marginBottom="@dimen/list_entry_padding_vertical_lax"
android:layout_marginTop="@dimen/list_entry_padding_vertical_lax"
android:elevation="2dp"
android:foreground="?android:attr/selectableItemBackground">

Expand Down
7 changes: 7 additions & 0 deletions wallet/res/layout/address_book_content.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/address_book_group"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bg_level0"
android:orientation="vertical">

<Toolbar
android:id="@+id/address_book_appbar"
style="@style/My.Widget.Toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize" />

<de.schildbach.wallet.util.ViewPagerTabs
android:id="@+id/address_book_pager_tabs"
android:layout_width="match_parent"
Expand Down
Loading