From 789292dd8836631670035e2bbdd9326d89460c3b Mon Sep 17 00:00:00 2001 From: DK <117024745+Dhangofa@users.noreply.github.com> Date: Sat, 15 Aug 2026 15:12:17 +0530 Subject: [PATCH 01/62] Update color palette for module cards and dynamic themes - Modified brand_primary_container from #EADDFF (purple tint) to #F3EDF7 (softer grayish-purple) for better contrast. - Modified surface_background from #FAF8F5 (warm off-white) to #FDFBFF (cooler, crisper white) to modernize the app's base background. - Removed unused status_success_text color since the success text color is currently handled inline or elsewhere in the UI. - Added segmented_separator (#CAC4D0) to provide a dedicated color for the vertical divider lines between the segmented control options (like Root | Shizuku). - Added a new Colorful Accents block containing accent_green, accent_orange, and accent_pink to provide vibrant tints for icons (like the developer person icon) and badges. - Added a new Cycle Card Custom Tones block containing specific warm/orange color overrides (cycle_card_surface, cycle_segmented_selected, cycle_badge_bg, cycle_segmented_text_selected) to give the Quick Tile Cycle card its distinct warm visual identity. - Added a new Exec Card Custom Tones block containing specific cool/blue color overrides (exec_accent, exec_card_surface, exec_segmented_selected, exec_segmented_text_selected) to give the Execution Mode card its distinct cool visual identity. --- app/src/main/res/values/colors.xml | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index b71b1d3..262aeb9 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -2,11 +2,11 @@ #6750A4 - #EADDFF + #F3EDF7 #21005D - #FAF8F5 + #FDFBFF #FFFFFF #E7E0EC #F3EDF7 @@ -18,7 +18,6 @@ #E8F5E9 - #1E4620 #FFEDEA #8C1D18 @@ -26,8 +25,26 @@ #F4EFF4 + #CAC4D0 #F3EDF7 #EADDFF #21005D #49454F + + + #198754 + #D96509 + #C2185B + + + #FFF8F3 + #FFE0C2 + #F3EDF7 + #7A3600 + + + #005B9F + #F2F8FF + #D6EBFF + #004275 From 8ba2e1a598fd807c1f7a3a55cf3d57e9a20dcb0a Mon Sep 17 00:00:00 2001 From: DK <117024745+Dhangofa@users.noreply.github.com> Date: Sat, 15 Aug 2026 15:16:05 +0530 Subject: [PATCH 02/62] Update night color palette for module cards and pure black themes - Modified brand_primary_container from #4F378B (deep purple) to #23212A (dark grayish-purple) for a more muted, elegant dark mode contrast. - Modified surface_background from #141218 (dark gray) to #000000 (pure black) to improve AMOLED screen battery efficiency and provide a higher contrast canvas. - Modified card_surface from #211F26 to #141218 to match the darker overall theme. - Modified card_border from #36343B to #2B2930 for subtler edge highlights on cards. - Removed unused status_success_text color, as text color logic for status badges is handled efficiently via inline colors or specific badge shapes now. - Added segmented_separator (#49454F) to provide a dedicated, visible divider line between segmented control tabs (like Root | Shizuku) in dark mode. - Added a new Colorful Accents block (accent_green, accent_orange, accent_pink) to ensure UI icons and developer graphics remain vibrant against the dark backgrounds. - Added a new Cycle Card Custom Tones block (cycle_card_surface, cycle_segmented_selected, cycle_badge_bg, cycle_segmented_text_selected) bringing dark, warm/orange variants to the Quick Tile Cycle card so it visually distinguishes itself in dark mode. - Added a new Exec Card Custom Tones block (exec_accent, exec_card_surface, exec_segmented_selected, exec_segmented_text_selected) bringing dark, cool/blue variants to the Execution Mode card so it visually distinguishes itself in dark mode. --- app/src/main/res/values-night/colors.xml | 27 +++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml index b3b7f98..7b9931a 100644 --- a/app/src/main/res/values-night/colors.xml +++ b/app/src/main/res/values-night/colors.xml @@ -2,13 +2,13 @@ #D0BCFF - #4F378B + #23212A #EADDFF - #141218 - #211F26 - #36343B + #000000 + #141218 + #2B2930 #2B2930 @@ -18,7 +18,6 @@ #1A3822 - #A8F2B2 #3E1A19 #F2B8B5 @@ -26,8 +25,26 @@ #2B2930 + #49454F #1B1A20 #36323F #EADDFF #938F96 + + + #61D48A + #FFB782 + #F48FB1 + + + #1A130F + #3D210F + #1B1A20 + #FFB782 + + + #57AFFF + #11161A + #1A364F + #8ECCFF From 2856ae1f0cf40d8a9ae18ee9b1d21e31baed4f52 Mon Sep 17 00:00:00 2001 From: DK <117024745+Dhangofa@users.noreply.github.com> Date: Sat, 15 Aug 2026 15:18:38 +0530 Subject: [PATCH 03/62] Update night theme status bar color for improved layout blending - Changed android:statusBarColor from @color/surface_background to @color/card_surface. This ensures the status bar visually blends with the top header cards and components rather than matching the pure black background, creating a more cohesive, edge-to-edge aesthetic in dark mode. --- app/src/main/res/values-night/themes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index b82eec7..d4d0294 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -2,7 +2,7 @@ + From dbd61c34ab565ba714a88677e9ebd1d325ea565c Mon Sep 17 00:00:00 2001 From: DK <117024745+Dhangofa@users.noreply.github.com> Date: Mon, 17 Aug 2026 00:33:59 +0530 Subject: [PATCH 58/62] Inject diagnostic error banner layout in landscape mode - Added --- app/src/main/res/layout-land/activity_main.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/res/layout-land/activity_main.xml b/app/src/main/res/layout-land/activity_main.xml index 473cf68..34f4c44 100644 --- a/app/src/main/res/layout-land/activity_main.xml +++ b/app/src/main/res/layout-land/activity_main.xml @@ -208,6 +208,8 @@ android:textColor="@color/text_secondary" /> + + Date: Mon, 17 Aug 2026 00:44:58 +0530 Subject: [PATCH 59/62] Add android:id="@+id/targetSimHeaderContainer" attribute - Added android:id="@+id/targetSimHeaderContainer" attribute in the Target SIM's RelativeLayout - MainActivity.java uses findViewById(R.id.targetSimHeaderContainer) to dim the text opacity when Root/Shizuku is not authorized --- app/src/main/res/layout/view_execution_card.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/layout/view_execution_card.xml b/app/src/main/res/layout/view_execution_card.xml index cf0e013..9171237 100644 --- a/app/src/main/res/layout/view_execution_card.xml +++ b/app/src/main/res/layout/view_execution_card.xml @@ -105,6 +105,7 @@ From 2866cfd043c6f91aa00923ac783dfc94a75fe160 Mon Sep 17 00:00:00 2001 From: DK <117024745+Dhangofa@users.noreply.github.com> Date: Mon, 17 Aug 2026 01:00:40 +0530 Subject: [PATCH 60/62] Added button shape --- app/src/main/res/drawable/shape_button_primary.xml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 app/src/main/res/drawable/shape_button_primary.xml diff --git a/app/src/main/res/drawable/shape_button_primary.xml b/app/src/main/res/drawable/shape_button_primary.xml new file mode 100644 index 0000000..efa2239 --- /dev/null +++ b/app/src/main/res/drawable/shape_button_primary.xml @@ -0,0 +1,5 @@ + + + + + From 29b8fdb18909ccb472fa863d0916c2db0665cc3e Mon Sep 17 00:00:00 2001 From: DK <117024745+Dhangofa@users.noreply.github.com> Date: Mon, 17 Aug 2026 01:19:48 +0530 Subject: [PATCH 61/62] Expand LTEandAbove carrier registry with global 2G/3G sunset data - Updated USA Registry: Added at&t, t-mobile, and dish to reflect the completed 2G/3G shutdowns across all major US networks as of August 2026. - Added Japan Registry: Created JAPAN_LTE_AND_ABOVE to include docomo, au (KDDI), softbank, and rakuten, reflecting the final termination of Docomo's FOMA network. - Added Australia Registry: Created AUSTRALIA_LTE_AND_ABOVE to include telstra, optus, and vodafone australia (TPG) following their nationwide 3G switch-offs. - Added Taiwan Registry: Created TAIWAN_LTE_AND_ABOVE to include chunghwa, taiwan mobile, and far eastone following their mid-2024 shutdowns. Added Singapore Registry: Created SINGAPORE_LTE_AND_ABOVE to include singtel, starhub, and m1 following their 2024 shutdowns. - Added South Korea Registry: Created SOUTHKOREA_LTE_AND_ABOVE for lg u+, which is fully LTE/5G (intentionally omitting SK Telecom and KT as they still operate 3G networks). - Updated Logic Flow: Appended new for loops inside the isLteAndAboveOnly() method to dynamically cross-reference the device's current SIM carrier against all the newly added regional lists. --- .../telephony/LteAndAboveCarrierRegistry.java | 58 +++++++++++++++++-- 1 file changed, 54 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/dhangofa/networktoggle/telephony/LteAndAboveCarrierRegistry.java b/app/src/main/java/com/dhangofa/networktoggle/telephony/LteAndAboveCarrierRegistry.java index 8de62ef..4b99aea 100644 --- a/app/src/main/java/com/dhangofa/networktoggle/telephony/LteAndAboveCarrierRegistry.java +++ b/app/src/main/java/com/dhangofa/networktoggle/telephony/LteAndAboveCarrierRegistry.java @@ -4,16 +4,46 @@ import java.util.List; public final class LteAndAboveCarrierRegistry { - + // REGION: INDIA - // Jio is purely 4G/5G. It has no 2G/3G infrastructure. private static final List INDIA_LTE_AND_ABOVE = Arrays.asList( "jio", "ind-jio", "jio 4g", "jio true5g" ); - // REGION: USA (Examples) + // REGION: USA + // Verizon, AT&T, and T-Mobile have fully shut down 2G/3G networks as of 2026. Dish is 5G only. private static final List USA_LTE_AND_ABOVE = Arrays.asList( - "verizon", "vzw" + "verizon", "vzw", "at&t", "att", "t-mobile", "tmobile", "dish", "dish wireless" + ); + + // REGION: JAPAN + // Docomo, KDDI (au), SoftBank, and Rakuten have shut down their 3G networks. + private static final List JAPAN_LTE_AND_ABOVE = Arrays.asList( + "docomo", "ntt docomo", "au", "kddi", "softbank", "rakuten", "rakuten mobile" + ); + + // REGION: AUSTRALIA + // Telstra, Optus, and Vodafone Australia (TPG) have fully shut down 3G. + private static final List AUSTRALIA_LTE_AND_ABOVE = Arrays.asList( + "telstra", "optus", "vodafone au", "vodafone australia", "tpg" + ); + + // REGION: TAIWAN + // Chunghwa Telecom, Taiwan Mobile, and Far EasTone fully shut down 3G in mid-2024. + private static final List TAIWAN_LTE_AND_ABOVE = Arrays.asList( + "chunghwa", "chunghwa telecom", "taiwan mobile", "far eastone", "fet" + ); + + // REGION: SINGAPORE + // Singtel, StarHub, and M1 fully shut down 3G in 2024. + private static final List SINGAPORE_LTE_AND_ABOVE = Arrays.asList( + "singtel", "starhub", "m1" + ); + + // REGION: SOUTH KOREA + // LG U+ never had 3G and shut down 2G. (SK Telecom and KT still operate 3G as of 2026). + private static final List SOUTHKOREA_LTE_AND_ABOVE = Arrays.asList( + "lg u+", "lgu+", "lg uplus", "uplus" ); private LteAndAboveCarrierRegistry() { @@ -38,6 +68,26 @@ public static boolean isLteAndAboveOnly(String carrierName) { if (normalized.equals(name) || normalized.contains(name)) return true; } + for (String name : JAPAN_LTE_AND_ABOVE) { + if (normalized.equals(name) || normalized.contains(name)) return true; + } + + for (String name : AUSTRALIA_LTE_AND_ABOVE) { + if (normalized.equals(name) || normalized.contains(name)) return true; + } + + for (String name : TAIWAN_LTE_AND_ABOVE) { + if (normalized.equals(name) || normalized.contains(name)) return true; + } + + for (String name : SINGAPORE_LTE_AND_ABOVE) { + if (normalized.equals(name) || normalized.contains(name)) return true; + } + + for (String name : SOUTHKOREA_LTE_AND_ABOVE) { + if (normalized.equals(name) || normalized.contains(name)) return true; + } + return false; } } From 29187a067089ffb45ca6bc76dd8b1556e1d72cb6 Mon Sep 17 00:00:00 2001 From: DK <117024745+Dhangofa@users.noreply.github.com> Date: Mon, 17 Aug 2026 01:21:57 +0530 Subject: [PATCH 62/62] Updated version code and name --- app/build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 22a5513..6726641 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -10,8 +10,8 @@ android { applicationId = "com.dhangofa.networktoggle" minSdk = 24 targetSdk = 36 - versionCode = 32 - versionName = "1.0.32" + versionCode = 65 + versionName = "1.0.65" } // Suggested by IzzyOnDroid dependenciesInfo {