Crash on bandwidth settings #9
Closed
opened 2025-04-21 14:44:28 -04:00 by idk
·
6 comments
No Branch/Tag Specified
master
i2p-android-2.8.0-androidx
2.3.0-translations
i2p-android-2.10.0
i2p-android-2.10.1
i2p-android-2.9.0
i2p-android-2.8.2
i2p-android-2.8.0-1
i2p-android-2.8.0
i2p-android-2.7.1
2.7.1
i2p-android-2.7.0
i2p-android-2.6.0
i2p-android-2.5.1
i2p-android-2.5.2
i2p-android-2.5.0
i2p-android-2.4.2-test
i2p-android-2.4.1-test
i2p-android-2.4.0
i2p-2.3.0
android-2.2.1
i2p-android-2.2.0
i2p-android-2.1.1
android-2.1.0
android-2.0.1
android-2.0.0
android-1.9.0
i2p-android-1.8.1
android-1.8.1
android-1.8.0
android-1.7.1
android-1.7.0
android-1.6.1
android-1.6.0
android-1.5.0
android-0.9.50
android-0.9.49
android-0.9.48
0.9.48
android-0.9.47-1
android-0.9.47
android-0.9.46
android-0.9.45
android-0.9.44
android-0.9.43
android-0.9.42
android-0.9.41
android-0.9.40
android-0.9.39
android-0.9.38
android-0.9.37
android-0.9.36
android-0.9.35
android-0.9.34
android-0.9.29
android-helper-0.9.3
android-client-0.9.29
android-0.9.28
android-helper-0.9.2
android-client-0.9.28
android-0.9.27
android-helper-0.9.1
android-client-0.9.27
android-0.9.26
android-client-0.9
android-0.9.25
android-client-0.8
android-0.9.22
android-0.9.20
android-client-0.7
android-0.9.19.1
android-0.9.19
android-client-0.6
android-0.9.18
android-client-0.5.1
android-client-0.5
android-0.9.17.1
android-0.9.17
android-client-0.4
android-client-0.3
android-0.9.15.1
android-0.9.15
android-client-0.2
android-0.9.13-0_b2-API8
android-0.9.13-0_b1-API8
android-0.9.12-0_b1-API8
android-0.9.11-0_b1-API8
android-0.9.10-0_b1-API8
android-0.9.9-0_b0-API8
android-0.9.8.1-0_b1-API8
android-0.9.7.1-0_b4-API8
android-0.9.7-0_b2-API8
android-0.9.1-0_b1-API8
android-0.8.7-4_b1-API8
i2p-0.8.6
i2p-0.8.5
i2p-0.8.4
i2p-0.8.3
i2p-0.8.2
i2p-0.8.1
i2p-0.8
i2p-0.7.14
i2p-0.7.13
i2p-0.7.12
i2p-0.7.11
i2p-0.7.10
i2p-0.7.9
i2p-0.7.8
i2p-0.7.7
i2p-0.7.6
i2p-0.7.5
i2p-0.7.4
i2p-0.7.3
i2p-0.7.2
i2p-0.7.1
i2p-0.7
i2p-0.6.5
i2p-0.6.4
i2p-0.6.3
i2p-0.6.2
i2p-0.6.1.33
i2p-0.6.1.32
i2p-0.6.1.31
0.6.1.30-20
0.6.1.30-20-cvs-suck-import
i2p_0_6_1_30
i2p_0_6_1_29
i2p_0_6_1_28
i2p_0_6_1_27
i2p_0_6_1_26
i2p_0_6_1_25
i2p_0_6_1_24
i2p_0_6_1_23
i2p_0_6_1_22
i2p_0_6_1_21
i2p_0_6_1_20
i2p_0_6_1_19
i2p_0_6_1_18
i2p_0_6_1_17
i2p_0_6_1_16
i2p_0_6_1_15
i2p_0_6_1_14
i2p_0_6_1_13
i2p_0_6_1_12
i2p_0_6_1_11
i2p_0_6_1_10
i2p_0_6_1_9
i2p_0_6_1_8
i2p_0_6_1_7
i2p_0_6_1_6
i2p_0_6_1_5
i2p_0_6_1_4
i2p_0_6_1_3
i2p_0_6_1_2
i2p_0_6_1_1
i2p_0_6_1
i2p_0_6_0_6
i2p_0_6_0_5
i2p_0_6_0_4
i2p_0_6_0_3
i2p_0_6_0_2
i2p_0_6_0_1
i2p_0_6
i2p_0_5_0_7
i2p_0_5_0_6
i2p_0_5_0_5
i2p_0_5_0_4
i2p_0_5_0_3
i2p_0_5_0_2
i2p_0_5_0_1
i2p_0_5
i2p_0_5_post_merge
i2p_0_4_2_6
i2p_0_4_2_5
i2p_0_4_2_4
i2p_0_4_2_3
i2p_0_4_2_2
i2p_0_4_2_1
i2p_0_4_2
i2p_0_4_1_4
i2p_0_4_1_3
i2p_0_4_1_2
i2p_0_4_1_1
i2p_0_4_1
i2p_0_4_0_1
i2p_0_4
i2p_0_3_4_3
i2p_0_3_4_2
i2p_0_3_4_1
i2p_0_3_4
i2p_0_3_3
i2p_0_3_2_3
i2p_0_3_2_2
i2p_0_3_2_1
i2p_0_3_2
i2p_0_3_1_5
i2p_0_3_1_4
i2p_0_3_1_3
i2p_0_3_1_2
i2p_0_3_1_1
i2p_0_3_1
i2p_0_3_0_4
i2p_post_great_renaming
i2p_0_3_0_3
No Label
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: I2P_Developers/i2p.android.base#9
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
As reported at http://zzz.i2p/topics/3328
only when router is running
feedback sent, please check gplay.
Closed with release of 1.8.2
Tested upgrade from 1.7.1->master and 1.8.1->master, both work again. Going to tag 1.8.2 and release.
Changing settings_net.xml back worked best. I still want to alter this page, but I'll hold off until after the post-mortem on it. Fix is checked in on master. Determined that migrateOldSettings is definitely sabotaging me behind my back.
It may be sufficient to just back out that change to settings_net.xml
... but maybe not. The migrateOldSettings() may be sabotaging you behind your back.
hot on the trail here. Contrary to what you said, we are in the stack trace:
there's clues also in SettingsActivity.migrateOldSettings(), a str4d change from 2016.
Note that a Preferences can contain a String or an int. You do putInt() or putString(), and getInt() or getString(). If you don't get what you put, you'll get a ClassCastException which is of course unchecked and you crash.
That 2016 change also switched from PreferenceFragment to PreferenceFragmentCompat, and migrated the settings accordingly from String to int.
Now to the problematic NetworkPreferenceFragment, extends I2PreferenceFragment extends CustomPreferenceFragment. I see the xml is settings_net.xml. I also see you changed it on May 28, 2022:
so what's happened seems to be that the type of those entries changed from string to int, but you're trying to get a string? I've long forgotten how preferences work, what the default type is, etc. You might now have yourself hosed here and need a workaround like in SettingsActivity to fix it all up since you'll have to handle both types.
Also confused because I don't see what this change has to do with the checkin comment about draw over other apps. The change was 1 minute before you tagged the 1.8.0 release.
This is actually harder to reproduce than it appears at first glance. It only happens if you had an I2P router with the unaltered bandwidth settings menu installed, and you changed the settings, and only after both those conditions are fulfilled, you upgrade to a version with the altered bandwidth menu. Installing fresh works, and if you never changed the bandwidth settings before upgrading, it still works. This SO question https://stackoverflow.com/questions/35877287/android-app-crashes-when-i-add-a-button-to-the-layout-xml-file has information which helps reproduce it and provides a workaround but doesn't do much to elucidate why it happens.
GPlay dev console was down part of the day. Apparently, the number of users who are affected by this is small compared to the total overall userbase, probably because most of them didn't mess with the default bandwidth settings or haven't tried to re-open that menu again.