summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2020-11-02 08:10:15 -0500
committerSolomon Peachy <pizza@shaftnet.org>2020-11-13 16:44:01 -0500
commit60f581e8f52fa0f7355b80b38fc2d57e78634ae4 (patch)
tree4051cf647a687fdf7c58e21010654d87e96a7aa1
parentfc4fff0b819a492e57dde76020c5ec78e2f8f6cc (diff)
downloadrockbox-60f581e8f52fa0f7355b80b38fc2d57e78634ae4.tar.gz
rockbox-60f581e8f52fa0f7355b80b38fc2d57e78634ae4.zip
usb: Add ability to prompt user about what to do upon usb insertion
v3: Add in config option v4: Bugfixes v5: Force a redraw upon exiting v6: keypress-in-chargeonly mode enables mass storage (and vice versa) v7: Fix bootloader builds v8: Update manual, and have bootloader respect keypresses v9: Change default to mass storage (ie no change in behavior) todo: * test-build dx50/dx90 * Switch from yes/no to proper menu? * prevent WPS progress bar from drawing over us Change-Id: I82e0ccb08497b7a5aa756ce77f1332ee963703a7 ... Change-Id: I7946cf240b18a4fa8ace5e25e1eb6e97b8b12d7c
-rw-r--r--apps/lang/bulgarian.lang8
-rw-r--r--apps/lang/chinese-simp.lang8
-rw-r--r--apps/lang/chinese-trad.lang8
-rw-r--r--apps/lang/deutsch.lang8
-rw-r--r--apps/lang/english-us.lang8
-rw-r--r--apps/lang/english.lang58
-rw-r--r--apps/lang/francais.lang8
-rw-r--r--apps/lang/greek.lang8
-rw-r--r--apps/lang/italiano.lang8
-rw-r--r--apps/lang/japanese.lang8
-rw-r--r--apps/lang/magyar.lang8
-rw-r--r--apps/lang/nederlands.lang8
-rw-r--r--apps/lang/norsk.lang8
-rw-r--r--apps/lang/polski.lang8
-rw-r--r--apps/lang/portugues.lang8
-rw-r--r--apps/lang/russian.lang8
-rw-r--r--apps/lang/slovak.lang8
-rw-r--r--apps/lang/srpski.lang8
-rw-r--r--apps/lang/svenska.lang8
-rw-r--r--apps/lang/turkce.lang8
-rw-r--r--apps/lang/vlaams.lang8
-rw-r--r--apps/menus/settings_menu.c5
-rw-r--r--apps/settings.h2
-rw-r--r--apps/settings_list.c26
-rw-r--r--firmware/export/usb.h10
-rw-r--r--firmware/target/hosted/ibasso/usb-ibasso.c2
-rw-r--r--firmware/target/hosted/ibasso/usb-ibasso.h20
-rw-r--r--firmware/usb.c80
-rwxr-xr-xmanual/configure_rockbox/system_options.tex6
-rw-r--r--manual/rockbox_interface/main.tex11
30 files changed, 224 insertions, 156 deletions
diff --git a/apps/lang/bulgarian.lang b/apps/lang/bulgarian.lang
index 7116e06927..ad65efd7e7 100644
--- a/apps/lang/bulgarian.lang
+++ b/apps/lang/bulgarian.lang
@@ -13134,7 +13134,7 @@
13134 </voice> 13134 </voice>
13135</phrase> 13135</phrase>
13136<phrase> 13136<phrase>
13137 id: LANG_IBASSO_USB_MODE_ADB 13137 id: LANG_USB_MODE_ADB
13138 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 13138 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
13139 user: core 13139 user: core
13140 <source> 13140 <source>
@@ -13205,7 +13205,7 @@
13205 </voice> 13205 </voice>
13206</phrase> 13206</phrase>
13207<phrase> 13207<phrase>
13208 id: LANG_IBASSO_USB_MODE_CHARGE 13208 id: LANG_USB_MODE_CHARGE
13209 desc: in Settings -> General -> System -> USB Mode: Charge Only 13209 desc: in Settings -> General -> System -> USB Mode: Charge Only
13210 user: core 13210 user: core
13211 <source> 13211 <source>
@@ -13259,7 +13259,7 @@
13259 </voice> 13259 </voice>
13260</phrase> 13260</phrase>
13261<phrase> 13261<phrase>
13262 id: LANG_IBASSO_USB_MODE 13262 id: LANG_USB_MODE
13263 desc: in Settings -> General -> System -> USB Mode 13263 desc: in Settings -> General -> System -> USB Mode
13264 user: core 13264 user: core
13265 <source> 13265 <source>
@@ -13299,7 +13299,7 @@
13299 </voice> 13299 </voice>
13300</phrase> 13300</phrase>
13301<phrase> 13301<phrase>
13302 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 13302 id: LANG_USB_MODE_MASS_STORAGE
13303 desc: in Settings -> General -> System -> USB Mode: Mass Storage 13303 desc: in Settings -> General -> System -> USB Mode: Mass Storage
13304 user: core 13304 user: core
13305 <source> 13305 <source>
diff --git a/apps/lang/chinese-simp.lang b/apps/lang/chinese-simp.lang
index 73884e567a..e3de41e636 100644
--- a/apps/lang/chinese-simp.lang
+++ b/apps/lang/chinese-simp.lang
@@ -13109,7 +13109,7 @@
13109 </voice> 13109 </voice>
13110</phrase> 13110</phrase>
13111<phrase> 13111<phrase>
13112 id: LANG_IBASSO_USB_MODE 13112 id: LANG_USB_MODE
13113 desc: in Settings -> General -> System -> USB Mode 13113 desc: in Settings -> General -> System -> USB Mode
13114 user: core 13114 user: core
13115 <source> 13115 <source>
@@ -13129,7 +13129,7 @@
13129 </voice> 13129 </voice>
13130</phrase> 13130</phrase>
13131<phrase> 13131<phrase>
13132 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 13132 id: LANG_USB_MODE_MASS_STORAGE
13133 desc: in Settings -> General -> System -> USB Mode: Mass Storage 13133 desc: in Settings -> General -> System -> USB Mode: Mass Storage
13134 user: core 13134 user: core
13135 <source> 13135 <source>
@@ -13149,7 +13149,7 @@
13149 </voice> 13149 </voice>
13150</phrase> 13150</phrase>
13151<phrase> 13151<phrase>
13152 id: LANG_IBASSO_USB_MODE_CHARGE 13152 id: LANG_USB_MODE_CHARGE
13153 desc: in Settings -> General -> System -> USB Mode: Charge Only 13153 desc: in Settings -> General -> System -> USB Mode: Charge Only
13154 user: core 13154 user: core
13155 <source> 13155 <source>
@@ -13169,7 +13169,7 @@
13169 </voice> 13169 </voice>
13170</phrase> 13170</phrase>
13171<phrase> 13171<phrase>
13172 id: LANG_IBASSO_USB_MODE_ADB 13172 id: LANG_USB_MODE_ADB
13173 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 13173 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
13174 user: core 13174 user: core
13175 <source> 13175 <source>
diff --git a/apps/lang/chinese-trad.lang b/apps/lang/chinese-trad.lang
index fa3434a85e..6b8faee6a5 100644
--- a/apps/lang/chinese-trad.lang
+++ b/apps/lang/chinese-trad.lang
@@ -11608,7 +11608,7 @@
11608 </voice> 11608 </voice>
11609</phrase> 11609</phrase>
11610<phrase> 11610<phrase>
11611 id: LANG_IBASSO_USB_MODE 11611 id: LANG_USB_MODE
11612 desc: in Settings -> General -> System -> USB Mode 11612 desc: in Settings -> General -> System -> USB Mode
11613 user: core 11613 user: core
11614 <source> 11614 <source>
@@ -11628,7 +11628,7 @@
11628 </voice> 11628 </voice>
11629</phrase> 11629</phrase>
11630<phrase> 11630<phrase>
11631 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 11631 id: LANG_USB_MODE_MASS_STORAGE
11632 desc: in Settings -> General -> System -> USB Mode: Mass Storage 11632 desc: in Settings -> General -> System -> USB Mode: Mass Storage
11633 user: core 11633 user: core
11634 <source> 11634 <source>
@@ -11648,7 +11648,7 @@
11648 </voice> 11648 </voice>
11649</phrase> 11649</phrase>
11650<phrase> 11650<phrase>
11651 id: LANG_IBASSO_USB_MODE_CHARGE 11651 id: LANG_USB_MODE_CHARGE
11652 desc: in Settings -> General -> System -> USB Mode: Charge Only 11652 desc: in Settings -> General -> System -> USB Mode: Charge Only
11653 user: core 11653 user: core
11654 <source> 11654 <source>
@@ -11668,7 +11668,7 @@
11668 </voice> 11668 </voice>
11669</phrase> 11669</phrase>
11670<phrase> 11670<phrase>
11671 id: LANG_IBASSO_USB_MODE_ADB 11671 id: LANG_USB_MODE_ADB
11672 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 11672 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
11673 user: core 11673 user: core
11674 <source> 11674 <source>
diff --git a/apps/lang/deutsch.lang b/apps/lang/deutsch.lang
index 9efcedb6d7..a21b2811d4 100644
--- a/apps/lang/deutsch.lang
+++ b/apps/lang/deutsch.lang
@@ -13032,7 +13032,7 @@
13032 </voice> 13032 </voice>
13033</phrase> 13033</phrase>
13034<phrase> 13034<phrase>
13035 id: LANG_IBASSO_USB_MODE 13035 id: LANG_USB_MODE
13036 desc: in Settings -> General -> System -> USB Mode 13036 desc: in Settings -> General -> System -> USB Mode
13037 user: core 13037 user: core
13038 <source> 13038 <source>
@@ -13052,7 +13052,7 @@
13052 </voice> 13052 </voice>
13053</phrase> 13053</phrase>
13054<phrase> 13054<phrase>
13055 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 13055 id: LANG_USB_MODE_MASS_STORAGE
13056 desc: in Settings -> General -> System -> USB Mode: Mass Storage 13056 desc: in Settings -> General -> System -> USB Mode: Mass Storage
13057 user: core 13057 user: core
13058 <source> 13058 <source>
@@ -13072,7 +13072,7 @@
13072 </voice> 13072 </voice>
13073</phrase> 13073</phrase>
13074<phrase> 13074<phrase>
13075 id: LANG_IBASSO_USB_MODE_CHARGE 13075 id: LANG_USB_MODE_CHARGE
13076 desc: in Settings -> General -> System -> USB Mode: Charge Only 13076 desc: in Settings -> General -> System -> USB Mode: Charge Only
13077 user: core 13077 user: core
13078 <source> 13078 <source>
@@ -13092,7 +13092,7 @@
13092 </voice> 13092 </voice>
13093</phrase> 13093</phrase>
13094<phrase> 13094<phrase>
13095 id: LANG_IBASSO_USB_MODE_ADB 13095 id: LANG_USB_MODE_ADB
13096 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 13096 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
13097 user: core 13097 user: core
13098 <source> 13098 <source>
diff --git a/apps/lang/english-us.lang b/apps/lang/english-us.lang
index b9a697b779..141c148db2 100644
--- a/apps/lang/english-us.lang
+++ b/apps/lang/english-us.lang
@@ -12873,7 +12873,7 @@
12873 </voice> 12873 </voice>
12874</phrase> 12874</phrase>
12875<phrase> 12875<phrase>
12876 id: LANG_IBASSO_USB_MODE 12876 id: LANG_USB_MODE
12877 desc: in Settings -> General -> System -> USB Mode 12877 desc: in Settings -> General -> System -> USB Mode
12878 user: core 12878 user: core
12879 <source> 12879 <source>
@@ -12972,7 +12972,7 @@
12972 </voice> 12972 </voice>
12973</phrase> 12973</phrase>
12974<phrase> 12974<phrase>
12975 id: LANG_IBASSO_USB_MODE_ADB 12975 id: LANG_USB_MODE_ADB
12976 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 12976 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
12977 user: core 12977 user: core
12978 <source> 12978 <source>
@@ -13702,7 +13702,7 @@
13702 </voice> 13702 </voice>
13703</phrase> 13703</phrase>
13704<phrase> 13704<phrase>
13705 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 13705 id: LANG_USB_MODE_MASS_STORAGE
13706 desc: in Settings -> General -> System -> USB Mode: Mass Storage 13706 desc: in Settings -> General -> System -> USB Mode: Mass Storage
13707 user: core 13707 user: core
13708 <source> 13708 <source>
@@ -13784,7 +13784,7 @@
13784 </voice> 13784 </voice>
13785</phrase> 13785</phrase>
13786<phrase> 13786<phrase>
13787 id: LANG_IBASSO_USB_MODE_CHARGE 13787 id: LANG_USB_MODE_CHARGE
13788 desc: in Settings -> General -> System -> USB Mode: Charge Only 13788 desc: in Settings -> General -> System -> USB Mode: Charge Only
13789 user: core 13789 user: core
13790 <source> 13790 <source>
diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index 48ffd2af25..d0b088cf76 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -12769,71 +12769,59 @@
12769 </voice> 12769 </voice>
12770</phrase> 12770</phrase>
12771<phrase> 12771<phrase>
12772 id: LANG_IBASSO_USB_MODE 12772 id: LANG_USB_MODE
12773 desc: in Settings -> General -> System -> USB Mode 12773 desc: in Settings -> General -> System -> USB Mode
12774 user: core 12774 user: core
12775 <source> 12775 <source>
12776 *: none 12776 *: "USB Mode"
12777 ibassodx50,ibassodx90: "USB Mode"
12778 </source> 12777 </source>
12779 <dest> 12778 <dest>
12780 *: none 12779 *: "USB Mode"
12781 ibassodx50,ibassodx90: "USB Mode"
12782 </dest> 12780 </dest>
12783 <voice> 12781 <voice>
12784 *: none 12782 *: "USB Mode"
12785 ibassodx50,ibassodx90: "USB Mode"
12786 </voice> 12783 </voice>
12787</phrase> 12784</phrase>
12788<phrase> 12785<phrase>
12789 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 12786 id: LANG_USB_MODE_MASS_STORAGE
12790 desc: in Settings -> General -> System -> USB Mode: Mass Storage 12787 desc: in Settings -> General -> System -> USB Mode: Mass Storage
12791 user: core 12788 user: core
12792 <source> 12789 <source>
12793 *: none 12790 *: "Mass Storage"
12794 ibassodx50,ibassodx90: "Mass Storage"
12795 </source> 12791 </source>
12796 <dest> 12792 <dest>
12797 *: none 12793 *: "Mass Storage"
12798 ibassodx50,ibassodx90: "Mass Storage"
12799 </dest> 12794 </dest>
12800 <voice> 12795 <voice>
12801 *: none 12796 *: "Mass Storage"
12802 ibassodx50,ibassodx90: "Mass Storage"
12803 </voice> 12797 </voice>
12804</phrase> 12798</phrase>
12805<phrase> 12799<phrase>
12806 id: LANG_IBASSO_USB_MODE_CHARGE 12800 id: LANG_USB_MODE_CHARGE
12807 desc: in Settings -> General -> System -> USB Mode: Charge Only 12801 desc: in Settings -> General -> System -> USB Mode: Charge Only
12808 user: core 12802 user: core
12809 <source> 12803 <source>
12810 *: none 12804 *: "Charge Only"
12811 ibassodx50,ibassodx90: "Charge Only"
12812 </source> 12805 </source>
12813 <dest> 12806 <dest>
12814 *: none 12807 *: "Charge Only"
12815 ibassodx50,ibassodx90: "Charge Only"
12816 </dest> 12808 </dest>
12817 <voice> 12809 <voice>
12818 *: none 12810 *: "Charge Only"
12819 ibassodx50,ibassodx90: "Charge Only"
12820 </voice> 12811 </voice>
12821</phrase> 12812</phrase>
12822<phrase> 12813<phrase>
12823 id: LANG_IBASSO_USB_MODE_ADB 12814 id: LANG_USB_MODE_ADB
12824 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 12815 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
12825 user: core 12816 user: core
12826 <source> 12817 <source>
12827 *: none 12818 *: "Android Debug Bridge"
12828 ibassodx50,ibassodx90: "Android Debug Bridge"
12829 </source> 12819 </source>
12830 <dest> 12820 <dest>
12831 *: none 12821 *: "Android Debug Bridge"
12832 ibassodx50,ibassodx90: "Android Debug Bridge"
12833 </dest> 12822 </dest>
12834 <voice> 12823 <voice>
12835 *: none 12824 *: "Android Debug Bridge"
12836 ibassodx50,ibassodx90: "Android Debug Bridge"
12837 </voice> 12825 </voice>
12838</phrase> 12826</phrase>
12839<phrase> 12827<phrase>
@@ -16344,3 +16332,17 @@
16344 *: "Browse" 16332 *: "Browse"
16345 </voice> 16333 </voice>
16346</phrase> 16334</phrase>
16335<phrase>
16336 id: LANG_ENTER_USB_STORAGE_MODE_QUERY
16337 desc: upon plugging in USB
16338 user: core
16339 <source>
16340 *: "Enter USB mass storage mode?"
16341 </source>
16342 <dest>
16343 *: "Enter USB mass storage mode?"
16344 </dest>
16345 <voice>
16346 *: "Enter USB mass storage mode?"
16347 </voice>
16348</phrase>
diff --git a/apps/lang/francais.lang b/apps/lang/francais.lang
index 8763c26d54..9baf25bee6 100644
--- a/apps/lang/francais.lang
+++ b/apps/lang/francais.lang
@@ -12461,7 +12461,7 @@
12461 </voice> 12461 </voice>
12462</phrase> 12462</phrase>
12463<phrase> 12463<phrase>
12464 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 12464 id: LANG_USB_MODE_MASS_STORAGE
12465 desc: in Settings -> General -> System -> USB Mode: Mass Storage 12465 desc: in Settings -> General -> System -> USB Mode: Mass Storage
12466 user: core 12466 user: core
12467 <source> 12467 <source>
@@ -12662,7 +12662,7 @@
12662 </voice> 12662 </voice>
12663</phrase> 12663</phrase>
12664<phrase> 12664<phrase>
12665 id: LANG_IBASSO_USB_MODE_CHARGE 12665 id: LANG_USB_MODE_CHARGE
12666 desc: in Settings -> General -> System -> USB Mode: Charge Only 12666 desc: in Settings -> General -> System -> USB Mode: Charge Only
12667 user: core 12667 user: core
12668 <source> 12668 <source>
@@ -12682,7 +12682,7 @@
12682 </voice> 12682 </voice>
12683</phrase> 12683</phrase>
12684<phrase> 12684<phrase>
12685 id: LANG_IBASSO_USB_MODE_ADB 12685 id: LANG_USB_MODE_ADB
12686 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 12686 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
12687 user: core 12687 user: core
12688 <source> 12688 <source>
@@ -12750,7 +12750,7 @@
12750 </voice> 12750 </voice>
12751</phrase> 12751</phrase>
12752<phrase> 12752<phrase>
12753 id: LANG_IBASSO_USB_MODE 12753 id: LANG_USB_MODE
12754 desc: in Settings -> General -> System -> USB Mode 12754 desc: in Settings -> General -> System -> USB Mode
12755 user: core 12755 user: core
12756 <source> 12756 <source>
diff --git a/apps/lang/greek.lang b/apps/lang/greek.lang
index 54381273d2..1a83188592 100644
--- a/apps/lang/greek.lang
+++ b/apps/lang/greek.lang
@@ -11641,7 +11641,7 @@
11641 </voice> 11641 </voice>
11642</phrase> 11642</phrase>
11643<phrase> 11643<phrase>
11644 id: LANG_IBASSO_USB_MODE_CHARGE 11644 id: LANG_USB_MODE_CHARGE
11645 desc: in Settings -> General -> System -> USB Mode: Charge Only 11645 desc: in Settings -> General -> System -> USB Mode: Charge Only
11646 user: core 11646 user: core
11647 <source> 11647 <source>
@@ -12225,7 +12225,7 @@
12225 </voice> 12225 </voice>
12226</phrase> 12226</phrase>
12227<phrase> 12227<phrase>
12228 id: LANG_IBASSO_USB_MODE 12228 id: LANG_USB_MODE
12229 desc: in Settings -> General -> System -> USB Mode 12229 desc: in Settings -> General -> System -> USB Mode
12230 user: core 12230 user: core
12231 <source> 12231 <source>
@@ -12798,7 +12798,7 @@
12798 </voice> 12798 </voice>
12799</phrase> 12799</phrase>
12800<phrase> 12800<phrase>
12801 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 12801 id: LANG_USB_MODE_MASS_STORAGE
12802 desc: in Settings -> General -> System -> USB Mode: Mass Storage 12802 desc: in Settings -> General -> System -> USB Mode: Mass Storage
12803 user: core 12803 user: core
12804 <source> 12804 <source>
@@ -13436,7 +13436,7 @@
13436 </voice> 13436 </voice>
13437</phrase> 13437</phrase>
13438<phrase> 13438<phrase>
13439 id: LANG_IBASSO_USB_MODE_ADB 13439 id: LANG_USB_MODE_ADB
13440 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 13440 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
13441 user: core 13441 user: core
13442 <source> 13442 <source>
diff --git a/apps/lang/italiano.lang b/apps/lang/italiano.lang
index 22fad246a4..1d28810562 100644
--- a/apps/lang/italiano.lang
+++ b/apps/lang/italiano.lang
@@ -12414,7 +12414,7 @@ desc: deprecated
12414 </voice> 12414 </voice>
12415</phrase> 12415</phrase>
12416<phrase> 12416<phrase>
12417 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 12417 id: LANG_USB_MODE_MASS_STORAGE
12418 desc: in Settings -> General -> System -> USB Mode: Mass Storage 12418 desc: in Settings -> General -> System -> USB Mode: Mass Storage
12419 user: core 12419 user: core
12420 <source> 12420 <source>
@@ -12566,7 +12566,7 @@ desc: deprecated
12566 </voice> 12566 </voice>
12567</phrase> 12567</phrase>
12568<phrase> 12568<phrase>
12569 id: LANG_IBASSO_USB_MODE_CHARGE 12569 id: LANG_USB_MODE_CHARGE
12570 desc: in Settings -> General -> System -> USB Mode: Charge Only 12570 desc: in Settings -> General -> System -> USB Mode: Charge Only
12571 user: core 12571 user: core
12572 <source> 12572 <source>
@@ -12631,7 +12631,7 @@ desc: deprecated
12631 </voice> 12631 </voice>
12632</phrase> 12632</phrase>
12633<phrase> 12633<phrase>
12634 id: LANG_IBASSO_USB_MODE 12634 id: LANG_USB_MODE
12635 desc: in Settings -> General -> System -> USB Mode 12635 desc: in Settings -> General -> System -> USB Mode
12636 user: core 12636 user: core
12637 <source> 12637 <source>
@@ -12676,7 +12676,7 @@ desc: deprecated
12676 </voice> 12676 </voice>
12677</phrase> 12677</phrase>
12678<phrase> 12678<phrase>
12679 id: LANG_IBASSO_USB_MODE_ADB 12679 id: LANG_USB_MODE_ADB
12680 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 12680 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
12681 user: core 12681 user: core
12682 <source> 12682 <source>
diff --git a/apps/lang/japanese.lang b/apps/lang/japanese.lang
index 93db2fa3bb..723d4db175 100644
--- a/apps/lang/japanese.lang
+++ b/apps/lang/japanese.lang
@@ -12936,7 +12936,7 @@
12936 </voice> 12936 </voice>
12937</phrase> 12937</phrase>
12938<phrase> 12938<phrase>
12939 id: LANG_IBASSO_USB_MODE_CHARGE 12939 id: LANG_USB_MODE_CHARGE
12940 desc: in Settings -> General -> System -> USB Mode: Charge Only 12940 desc: in Settings -> General -> System -> USB Mode: Charge Only
12941 user: core 12941 user: core
12942 <source> 12942 <source>
@@ -12956,7 +12956,7 @@
12956 </voice> 12956 </voice>
12957</phrase> 12957</phrase>
12958<phrase> 12958<phrase>
12959 id: LANG_IBASSO_USB_MODE 12959 id: LANG_USB_MODE
12960 desc: in Settings -> General -> System -> USB Mode 12960 desc: in Settings -> General -> System -> USB Mode
12961 user: core 12961 user: core
12962 <source> 12962 <source>
@@ -13083,7 +13083,7 @@
13083 </voice> 13083 </voice>
13084</phrase> 13084</phrase>
13085<phrase> 13085<phrase>
13086 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 13086 id: LANG_USB_MODE_MASS_STORAGE
13087 desc: in Settings -> General -> System -> USB Mode: Mass Storage 13087 desc: in Settings -> General -> System -> USB Mode: Mass Storage
13088 user: core 13088 user: core
13089 <source> 13089 <source>
@@ -13247,7 +13247,7 @@
13247 </voice> 13247 </voice>
13248</phrase> 13248</phrase>
13249<phrase> 13249<phrase>
13250 id: LANG_IBASSO_USB_MODE_ADB 13250 id: LANG_USB_MODE_ADB
13251 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 13251 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
13252 user: core 13252 user: core
13253 <source> 13253 <source>
diff --git a/apps/lang/magyar.lang b/apps/lang/magyar.lang
index 7493b9dfe5..f00b9b857f 100644
--- a/apps/lang/magyar.lang
+++ b/apps/lang/magyar.lang
@@ -11844,7 +11844,7 @@
11844 </voice> 11844 </voice>
11845</phrase> 11845</phrase>
11846<phrase> 11846<phrase>
11847 id: LANG_IBASSO_USB_MODE 11847 id: LANG_USB_MODE
11848 desc: in Settings -> General -> System -> USB Mode 11848 desc: in Settings -> General -> System -> USB Mode
11849 user: core 11849 user: core
11850 <source> 11850 <source>
@@ -12522,7 +12522,7 @@
12522 </voice> 12522 </voice>
12523</phrase> 12523</phrase>
12524<phrase> 12524<phrase>
12525 id: LANG_IBASSO_USB_MODE_CHARGE 12525 id: LANG_USB_MODE_CHARGE
12526 desc: in Settings -> General -> System -> USB Mode: Charge Only 12526 desc: in Settings -> General -> System -> USB Mode: Charge Only
12527 user: core 12527 user: core
12528 <source> 12528 <source>
@@ -13163,7 +13163,7 @@
13163 </voice> 13163 </voice>
13164</phrase> 13164</phrase>
13165<phrase> 13165<phrase>
13166 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 13166 id: LANG_USB_MODE_MASS_STORAGE
13167 desc: in Settings -> General -> System -> USB Mode: Mass Storage 13167 desc: in Settings -> General -> System -> USB Mode: Mass Storage
13168 user: core 13168 user: core
13169 <source> 13169 <source>
@@ -13197,7 +13197,7 @@
13197 </voice> 13197 </voice>
13198</phrase> 13198</phrase>
13199<phrase> 13199<phrase>
13200 id: LANG_IBASSO_USB_MODE_ADB 13200 id: LANG_USB_MODE_ADB
13201 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 13201 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
13202 user: core 13202 user: core
13203 <source> 13203 <source>
diff --git a/apps/lang/nederlands.lang b/apps/lang/nederlands.lang
index 3eefb29bbb..3aa7a64c2f 100644
--- a/apps/lang/nederlands.lang
+++ b/apps/lang/nederlands.lang
@@ -13316,7 +13316,7 @@
13316 </voice> 13316 </voice>
13317</phrase> 13317</phrase>
13318<phrase> 13318<phrase>
13319 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 13319 id: LANG_USB_MODE_MASS_STORAGE
13320 desc: in Settings -> General -> System -> USB Mode: Mass Storage 13320 desc: in Settings -> General -> System -> USB Mode: Mass Storage
13321 user: core 13321 user: core
13322 <source> 13322 <source>
@@ -13336,7 +13336,7 @@
13336 </voice> 13336 </voice>
13337</phrase> 13337</phrase>
13338<phrase> 13338<phrase>
13339 id: LANG_IBASSO_USB_MODE 13339 id: LANG_USB_MODE
13340 desc: in Settings -> General -> System -> USB Mode 13340 desc: in Settings -> General -> System -> USB Mode
13341 user: core 13341 user: core
13342 <source> 13342 <source>
@@ -13446,7 +13446,7 @@
13446 </voice> 13446 </voice>
13447</phrase> 13447</phrase>
13448<phrase> 13448<phrase>
13449 id: LANG_IBASSO_USB_MODE_CHARGE 13449 id: LANG_USB_MODE_CHARGE
13450 desc: in Settings -> General -> System -> USB Mode: Charge Only 13450 desc: in Settings -> General -> System -> USB Mode: Charge Only
13451 user: core 13451 user: core
13452 <source> 13452 <source>
@@ -13466,7 +13466,7 @@
13466 </voice> 13466 </voice>
13467</phrase> 13467</phrase>
13468<phrase> 13468<phrase>
13469 id: LANG_IBASSO_USB_MODE_ADB 13469 id: LANG_USB_MODE_ADB
13470 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 13470 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
13471 user: core 13471 user: core
13472 <source> 13472 <source>
diff --git a/apps/lang/norsk.lang b/apps/lang/norsk.lang
index f6945d41c1..dbe5422e59 100644
--- a/apps/lang/norsk.lang
+++ b/apps/lang/norsk.lang
@@ -11152,7 +11152,7 @@
11152 </voice> 11152 </voice>
11153</phrase> 11153</phrase>
11154<phrase> 11154<phrase>
11155 id: LANG_IBASSO_USB_MODE_CHARGE 11155 id: LANG_USB_MODE_CHARGE
11156 desc: in Settings -> General -> System -> USB Mode: Charge Only 11156 desc: in Settings -> General -> System -> USB Mode: Charge Only
11157 user: core 11157 user: core
11158 <source> 11158 <source>
@@ -11471,7 +11471,7 @@
11471 </voice> 11471 </voice>
11472</phrase> 11472</phrase>
11473<phrase> 11473<phrase>
11474 id: LANG_IBASSO_USB_MODE 11474 id: LANG_USB_MODE
11475 desc: in Settings -> General -> System -> USB Mode 11475 desc: in Settings -> General -> System -> USB Mode
11476 user: core 11476 user: core
11477 <source> 11477 <source>
@@ -11646,7 +11646,7 @@
11646 </voice> 11646 </voice>
11647</phrase> 11647</phrase>
11648<phrase> 11648<phrase>
11649 id: LANG_IBASSO_USB_MODE_ADB 11649 id: LANG_USB_MODE_ADB
11650 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 11650 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
11651 user: core 11651 user: core
11652 <source> 11652 <source>
@@ -12333,7 +12333,7 @@
12333 </voice> 12333 </voice>
12334</phrase> 12334</phrase>
12335<phrase> 12335<phrase>
12336 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 12336 id: LANG_USB_MODE_MASS_STORAGE
12337 desc: in Settings -> General -> System -> USB Mode: Mass Storage 12337 desc: in Settings -> General -> System -> USB Mode: Mass Storage
12338 user: core 12338 user: core
12339 <source> 12339 <source>
diff --git a/apps/lang/polski.lang b/apps/lang/polski.lang
index 7529d200d4..10399b14c8 100644
--- a/apps/lang/polski.lang
+++ b/apps/lang/polski.lang
@@ -12517,7 +12517,7 @@
12517 </voice> 12517 </voice>
12518</phrase> 12518</phrase>
12519<phrase> 12519<phrase>
12520 id: LANG_IBASSO_USB_MODE_CHARGE 12520 id: LANG_USB_MODE_CHARGE
12521 desc: in Settings -> General -> System -> USB Mode: Charge Only 12521 desc: in Settings -> General -> System -> USB Mode: Charge Only
12522 user: core 12522 user: core
12523 <source> 12523 <source>
@@ -12551,7 +12551,7 @@
12551 </voice> 12551 </voice>
12552</phrase> 12552</phrase>
12553<phrase> 12553<phrase>
12554 id: LANG_IBASSO_USB_MODE 12554 id: LANG_USB_MODE
12555 desc: in Settings -> General -> System -> USB Mode 12555 desc: in Settings -> General -> System -> USB Mode
12556 user: core 12556 user: core
12557 <source> 12557 <source>
@@ -12619,7 +12619,7 @@
12619 </voice> 12619 </voice>
12620</phrase> 12620</phrase>
12621<phrase> 12621<phrase>
12622 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 12622 id: LANG_USB_MODE_MASS_STORAGE
12623 desc: in Settings -> General -> System -> USB Mode: Mass Storage 12623 desc: in Settings -> General -> System -> USB Mode: Mass Storage
12624 user: core 12624 user: core
12625 <source> 12625 <source>
@@ -12636,7 +12636,7 @@
12636 </voice> 12636 </voice>
12637</phrase> 12637</phrase>
12638<phrase> 12638<phrase>
12639 id: LANG_IBASSO_USB_MODE_ADB 12639 id: LANG_USB_MODE_ADB
12640 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 12640 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
12641 user: core 12641 user: core
12642 <source> 12642 <source>
diff --git a/apps/lang/portugues.lang b/apps/lang/portugues.lang
index ff72cf0cb8..e511f3bfdd 100644
--- a/apps/lang/portugues.lang
+++ b/apps/lang/portugues.lang
@@ -13146,7 +13146,7 @@
13146 </voice> 13146 </voice>
13147</phrase> 13147</phrase>
13148<phrase> 13148<phrase>
13149 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 13149 id: LANG_USB_MODE_MASS_STORAGE
13150 desc: in Settings -> General -> System -> USB Mode: Mass Storage 13150 desc: in Settings -> General -> System -> USB Mode: Mass Storage
13151 user: core 13151 user: core
13152 <source> 13152 <source>
@@ -13237,7 +13237,7 @@
13237 </voice> 13237 </voice>
13238</phrase> 13238</phrase>
13239<phrase> 13239<phrase>
13240 id: LANG_IBASSO_USB_MODE 13240 id: LANG_USB_MODE
13241 desc: in Settings -> General -> System -> USB Mode 13241 desc: in Settings -> General -> System -> USB Mode
13242 user: core 13242 user: core
13243 <source> 13243 <source>
@@ -13257,7 +13257,7 @@
13257 </voice> 13257 </voice>
13258</phrase> 13258</phrase>
13259<phrase> 13259<phrase>
13260 id: LANG_IBASSO_USB_MODE_CHARGE 13260 id: LANG_USB_MODE_CHARGE
13261 desc: in Settings -> General -> System -> USB Mode: Charge Only 13261 desc: in Settings -> General -> System -> USB Mode: Charge Only
13262 user: core 13262 user: core
13263 <source> 13263 <source>
@@ -13328,7 +13328,7 @@
13328 </voice> 13328 </voice>
13329</phrase> 13329</phrase>
13330<phrase> 13330<phrase>
13331 id: LANG_IBASSO_USB_MODE_ADB 13331 id: LANG_USB_MODE_ADB
13332 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 13332 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
13333 user: core 13333 user: core
13334 <source> 13334 <source>
diff --git a/apps/lang/russian.lang b/apps/lang/russian.lang
index 769c1fb8c6..842ae14764 100644
--- a/apps/lang/russian.lang
+++ b/apps/lang/russian.lang
@@ -13083,7 +13083,7 @@
13083 </voice> 13083 </voice>
13084</phrase> 13084</phrase>
13085<phrase> 13085<phrase>
13086 id: LANG_IBASSO_USB_MODE 13086 id: LANG_USB_MODE
13087 desc: in Settings -> General -> System -> USB Mode 13087 desc: in Settings -> General -> System -> USB Mode
13088 user: core 13088 user: core
13089 <source> 13089 <source>
@@ -13103,7 +13103,7 @@
13103 </voice> 13103 </voice>
13104</phrase> 13104</phrase>
13105<phrase> 13105<phrase>
13106 id: LANG_IBASSO_USB_MODE_CHARGE 13106 id: LANG_USB_MODE_CHARGE
13107 desc: in Settings -> General -> System -> USB Mode: Charge Only 13107 desc: in Settings -> General -> System -> USB Mode: Charge Only
13108 user: core 13108 user: core
13109 <source> 13109 <source>
@@ -13137,7 +13137,7 @@
13137 </voice> 13137 </voice>
13138</phrase> 13138</phrase>
13139<phrase> 13139<phrase>
13140 id: LANG_IBASSO_USB_MODE_ADB 13140 id: LANG_USB_MODE_ADB
13141 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 13141 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
13142 user: core 13142 user: core
13143 <source> 13143 <source>
@@ -13236,7 +13236,7 @@
13236 </voice> 13236 </voice>
13237</phrase> 13237</phrase>
13238<phrase> 13238<phrase>
13239 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 13239 id: LANG_USB_MODE_MASS_STORAGE
13240 desc: in Settings -> General -> System -> USB Mode: Mass Storage 13240 desc: in Settings -> General -> System -> USB Mode: Mass Storage
13241 user: core 13241 user: core
13242 <source> 13242 <source>
diff --git a/apps/lang/slovak.lang b/apps/lang/slovak.lang
index 058e2ce563..4468ac392d 100644
--- a/apps/lang/slovak.lang
+++ b/apps/lang/slovak.lang
@@ -12578,7 +12578,7 @@
12578 </voice> 12578 </voice>
12579</phrase> 12579</phrase>
12580<phrase> 12580<phrase>
12581 id: LANG_IBASSO_USB_MODE 12581 id: LANG_USB_MODE
12582 desc: in Settings -> General -> System -> USB Mode 12582 desc: in Settings -> General -> System -> USB Mode
12583 user: core 12583 user: core
12584 <source> 12584 <source>
@@ -12612,7 +12612,7 @@
12612 </voice> 12612 </voice>
12613</phrase> 12613</phrase>
12614<phrase> 12614<phrase>
12615 id: LANG_IBASSO_USB_MODE_ADB 12615 id: LANG_USB_MODE_ADB
12616 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 12616 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
12617 user: core 12617 user: core
12618 <source> 12618 <source>
@@ -12629,7 +12629,7 @@
12629 </voice> 12629 </voice>
12630</phrase> 12630</phrase>
12631<phrase> 12631<phrase>
12632 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 12632 id: LANG_USB_MODE_MASS_STORAGE
12633 desc: in Settings -> General -> System -> USB Mode: Mass Storage 12633 desc: in Settings -> General -> System -> USB Mode: Mass Storage
12634 user: core 12634 user: core
12635 <source> 12635 <source>
@@ -12663,7 +12663,7 @@
12663 </voice> 12663 </voice>
12664</phrase> 12664</phrase>
12665<phrase> 12665<phrase>
12666 id: LANG_IBASSO_USB_MODE_CHARGE 12666 id: LANG_USB_MODE_CHARGE
12667 desc: in Settings -> General -> System -> USB Mode: Charge Only 12667 desc: in Settings -> General -> System -> USB Mode: Charge Only
12668 user: core 12668 user: core
12669 <source> 12669 <source>
diff --git a/apps/lang/srpski.lang b/apps/lang/srpski.lang
index 32ce847167..e7de54aadc 100644
--- a/apps/lang/srpski.lang
+++ b/apps/lang/srpski.lang
@@ -12597,7 +12597,7 @@
12597 </voice> 12597 </voice>
12598</phrase> 12598</phrase>
12599<phrase> 12599<phrase>
12600 id: LANG_IBASSO_USB_MODE 12600 id: LANG_USB_MODE
12601 desc: in Settings -> General -> System -> USB Mode 12601 desc: in Settings -> General -> System -> USB Mode
12602 user: core 12602 user: core
12603 <source> 12603 <source>
@@ -12628,7 +12628,7 @@
12628 </voice> 12628 </voice>
12629</phrase> 12629</phrase>
12630<phrase> 12630<phrase>
12631 id: LANG_IBASSO_USB_MODE_ADB 12631 id: LANG_USB_MODE_ADB
12632 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 12632 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
12633 user: core 12633 user: core
12634 <source> 12634 <source>
@@ -12752,7 +12752,7 @@
12752 </voice> 12752 </voice>
12753</phrase> 12753</phrase>
12754<phrase> 12754<phrase>
12755 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 12755 id: LANG_USB_MODE_MASS_STORAGE
12756 desc: in Settings -> General -> System -> USB Mode: Mass Storage 12756 desc: in Settings -> General -> System -> USB Mode: Mass Storage
12757 user: core 12757 user: core
12758 <source> 12758 <source>
@@ -12845,7 +12845,7 @@
12845 </voice> 12845 </voice>
12846</phrase> 12846</phrase>
12847<phrase> 12847<phrase>
12848 id: LANG_IBASSO_USB_MODE_CHARGE 12848 id: LANG_USB_MODE_CHARGE
12849 desc: in Settings -> General -> System -> USB Mode: Charge Only 12849 desc: in Settings -> General -> System -> USB Mode: Charge Only
12850 user: core 12850 user: core
12851 <source> 12851 <source>
diff --git a/apps/lang/svenska.lang b/apps/lang/svenska.lang
index c0cc384554..bbf0636d37 100644
--- a/apps/lang/svenska.lang
+++ b/apps/lang/svenska.lang
@@ -12990,7 +12990,7 @@
12990 </voice> 12990 </voice>
12991</phrase> 12991</phrase>
12992<phrase> 12992<phrase>
12993 id: LANG_IBASSO_USB_MODE_CHARGE 12993 id: LANG_USB_MODE_CHARGE
12994 desc: in Settings -> General -> System -> USB Mode: Charge Only 12994 desc: in Settings -> General -> System -> USB Mode: Charge Only
12995 user: core 12995 user: core
12996 <source> 12996 <source>
@@ -13089,7 +13089,7 @@
13089 </voice> 13089 </voice>
13090</phrase> 13090</phrase>
13091<phrase> 13091<phrase>
13092 id: LANG_IBASSO_USB_MODE 13092 id: LANG_USB_MODE
13093 desc: in Settings -> General -> System -> USB Mode 13093 desc: in Settings -> General -> System -> USB Mode
13094 user: core 13094 user: core
13095 <source> 13095 <source>
@@ -13199,7 +13199,7 @@
13199 </voice> 13199 </voice>
13200</phrase> 13200</phrase>
13201<phrase> 13201<phrase>
13202 id: LANG_IBASSO_USB_MODE_ADB 13202 id: LANG_USB_MODE_ADB
13203 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 13203 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
13204 user: core 13204 user: core
13205 <source> 13205 <source>
@@ -13453,7 +13453,7 @@
13453 </voice> 13453 </voice>
13454</phrase> 13454</phrase>
13455<phrase> 13455<phrase>
13456 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 13456 id: LANG_USB_MODE_MASS_STORAGE
13457 desc: in Settings -> General -> System -> USB Mode: Mass Storage 13457 desc: in Settings -> General -> System -> USB Mode: Mass Storage
13458 user: core 13458 user: core
13459 <source> 13459 <source>
diff --git a/apps/lang/turkce.lang b/apps/lang/turkce.lang
index 24a816798f..d9de1e1495 100644
--- a/apps/lang/turkce.lang
+++ b/apps/lang/turkce.lang
@@ -4663,7 +4663,7 @@
4663 </voice> 4663 </voice>
4664</phrase> 4664</phrase>
4665<phrase> 4665<phrase>
4666 id: LANG_IBASSO_USB_MODE_ADB 4666 id: LANG_USB_MODE_ADB
4667 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 4667 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
4668 user: core 4668 user: core
4669 <source> 4669 <source>
@@ -10884,7 +10884,7 @@
10884 </voice> 10884 </voice>
10885</phrase> 10885</phrase>
10886<phrase> 10886<phrase>
10887 id: LANG_IBASSO_USB_MODE 10887 id: LANG_USB_MODE
10888 desc: in Settings -> General -> System -> USB Mode 10888 desc: in Settings -> General -> System -> USB Mode
10889 user: core 10889 user: core
10890 <source> 10890 <source>
@@ -11262,7 +11262,7 @@
11262 </voice> 11262 </voice>
11263</phrase> 11263</phrase>
11264<phrase> 11264<phrase>
11265 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 11265 id: LANG_USB_MODE_MASS_STORAGE
11266 desc: in Settings -> General -> System -> USB Mode: Mass Storage 11266 desc: in Settings -> General -> System -> USB Mode: Mass Storage
11267 user: core 11267 user: core
11268 <source> 11268 <source>
@@ -13413,7 +13413,7 @@
13413 </voice> 13413 </voice>
13414</phrase> 13414</phrase>
13415<phrase> 13415<phrase>
13416 id: LANG_IBASSO_USB_MODE_CHARGE 13416 id: LANG_USB_MODE_CHARGE
13417 desc: in Settings -> General -> System -> USB Mode: Charge Only 13417 desc: in Settings -> General -> System -> USB Mode: Charge Only
13418 user: core 13418 user: core
13419 <source> 13419 <source>
diff --git a/apps/lang/vlaams.lang b/apps/lang/vlaams.lang
index c738af1638..2e1989f0b1 100644
--- a/apps/lang/vlaams.lang
+++ b/apps/lang/vlaams.lang
@@ -13278,7 +13278,7 @@
13278 </voice> 13278 </voice>
13279</phrase> 13279</phrase>
13280<phrase> 13280<phrase>
13281 id: LANG_IBASSO_USB_MODE_MASS_STORAGE 13281 id: LANG_USB_MODE_MASS_STORAGE
13282 desc: in Settings -> General -> System -> USB Mode: Mass Storage 13282 desc: in Settings -> General -> System -> USB Mode: Mass Storage
13283 user: core 13283 user: core
13284 <source> 13284 <source>
@@ -13298,7 +13298,7 @@
13298 </voice> 13298 </voice>
13299</phrase> 13299</phrase>
13300<phrase> 13300<phrase>
13301 id: LANG_IBASSO_USB_MODE 13301 id: LANG_USB_MODE
13302 desc: in Settings -> General -> System -> USB Mode 13302 desc: in Settings -> General -> System -> USB Mode
13303 user: core 13303 user: core
13304 <source> 13304 <source>
@@ -13408,7 +13408,7 @@
13408 </voice> 13408 </voice>
13409</phrase> 13409</phrase>
13410<phrase> 13410<phrase>
13411 id: LANG_IBASSO_USB_MODE_CHARGE 13411 id: LANG_USB_MODE_CHARGE
13412 desc: in Settings -> General -> System -> USB Mode: Charge Only 13412 desc: in Settings -> General -> System -> USB Mode: Charge Only
13413 user: core 13413 user: core
13414 <source> 13414 <source>
@@ -13428,7 +13428,7 @@
13428 </voice> 13428 </voice>
13429</phrase> 13429</phrase>
13430<phrase> 13430<phrase>
13431 id: LANG_IBASSO_USB_MODE_ADB 13431 id: LANG_USB_MODE_ADB
13432 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge 13432 desc: in Settings -> General -> System -> USB Mode: Android Debug Bridge
13433 user: core 13433 user: core
13434 <source> 13434 <source>
diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c
index 9275ff10d6..159ad08a44 100644
--- a/apps/menus/settings_menu.c
+++ b/apps/menus/settings_menu.c
@@ -266,6 +266,9 @@ MAKE_MENU(battery_menu, ID2P(LANG_BATTERY_MENU), 0, Icon_NOICON,
266 &usb_charging, 266 &usb_charging,
267#endif 267#endif
268 ); 268 );
269#ifdef HAVE_USB_POWER
270MENUITEM_SETTING(usb_mode, &global_settings.usb_mode, NULL);
271#endif
269/* Disk */ 272/* Disk */
270#ifdef HAVE_DISK_STORAGE 273#ifdef HAVE_DISK_STORAGE
271MENUITEM_SETTING(disk_spindown, &global_settings.disk_spindown, NULL); 274MENUITEM_SETTING(disk_spindown, &global_settings.disk_spindown, NULL);
@@ -446,6 +449,8 @@ MAKE_MENU(system_menu, ID2P(LANG_SYSTEM),
446 449
447#if defined(DX50) || defined(DX90) 450#if defined(DX50) || defined(DX90)
448 &governor, 451 &governor,
452#endif
453#ifdef HAVE_USB_POWER
449 &usb_mode, 454 &usb_mode,
450#endif 455#endif
451 ); 456 );
diff --git a/apps/settings.h b/apps/settings.h
index ec66553660..f9deae1ebe 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -822,6 +822,8 @@ struct user_settings
822 822
823#if defined(DX50) || defined(DX90) 823#if defined(DX50) || defined(DX90)
824 int governor; 824 int governor;
825#endif
826#ifdef HAVE_USB_POWER
825 int usb_mode; 827 int usb_mode;
826#endif 828#endif
827}; 829};
diff --git a/apps/settings_list.c b/apps/settings_list.c
index 47384bdbed..17720b5145 100644
--- a/apps/settings_list.c
+++ b/apps/settings_list.c
@@ -2156,17 +2156,31 @@ const struct settings_list settings[] = {
2156 "Interactive", 2156 "Interactive",
2157 "Powersave", 2157 "Powersave",
2158 "Performance"), 2158 "Performance"),
2159#endif
2160#if defined(HAVE_USB_POWER) && !defined(USB_NONE) && !defined(SIMULATOR)
2159 CHOICE_SETTING(0, 2161 CHOICE_SETTING(0,
2160 usb_mode, 2162 usb_mode,
2161 LANG_IBASSO_USB_MODE, 2163 LANG_USB_MODE,
2162 USB_MODE_MASS_STORAGE, 2164 USB_MODE_MASS_STORAGE,
2163 "usb mode", 2165 "usb mode",
2164 "mass storage,charge,adb", 2166 "ask,mass storage,charge"
2165 ibasso_set_usb_mode, 2167#if defined(DX50) || defined(DX90)
2168 ",adb"
2169#endif
2170 ,
2171 usb_set_mode,
2172#if defined(DX50) || defined(DX90)
2173 4,
2174#else
2166 3, 2175 3,
2167 ID2P(LANG_IBASSO_USB_MODE_MASS_STORAGE), 2176#endif
2168 ID2P(LANG_IBASSO_USB_MODE_CHARGE), 2177 ID2P(LANG_ASK),
2169 ID2P(LANG_IBASSO_USB_MODE_ADB)), 2178 ID2P(LANG_USB_MODE_MASS_STORAGE),
2179 ID2P(LANG_USB_MODE_CHARGE)
2180#if defined(DX50) || defined(DX90)
2181 ,ID2P(LANG_USB_MODE_ADB)
2182#endif
2183 ),
2170#endif 2184#endif
2171}; 2185};
2172 2186
diff --git a/firmware/export/usb.h b/firmware/export/usb.h
index b7b846d5b3..edc37bd5b6 100644
--- a/firmware/export/usb.h
+++ b/firmware/export/usb.h
@@ -131,6 +131,15 @@ enum
131#endif 131#endif
132}; 132};
133 133
134/* Supported usb modes. */
135enum
136{
137 USB_MODE_ASK = 0,
138 USB_MODE_MASS_STORAGE,
139 USB_MODE_CHARGE,
140 USB_MODE_ADB
141};
142
134#ifdef HAVE_USB_POWER 143#ifdef HAVE_USB_POWER
135/*allow people to define this in config-target.h if they need it*/ 144/*allow people to define this in config-target.h if they need it*/
136#if !defined(USBPOWER_BTN_IGNORE) 145#if !defined(USBPOWER_BTN_IGNORE)
@@ -215,6 +224,7 @@ void usb_charging_maxcurrent_change(int maxcurrent);
215/* returns the maximum allowed USB current, based on USB charging mode and state */ 224/* returns the maximum allowed USB current, based on USB charging mode and state */
216int usb_charging_maxcurrent(void); 225int usb_charging_maxcurrent(void);
217#endif /* HAVE_USB_CHARGING_ENABLE */ 226#endif /* HAVE_USB_CHARGING_ENABLE */
227void usb_set_mode(int mode);
218#endif /* HAVE_USB_POWER */ 228#endif /* HAVE_USB_POWER */
219#ifdef HAVE_USBSTACK 229#ifdef HAVE_USBSTACK
220/* USB driver call this function to notify that a transfer has completed */ 230/* USB driver call this function to notify that a transfer has completed */
diff --git a/firmware/target/hosted/ibasso/usb-ibasso.c b/firmware/target/hosted/ibasso/usb-ibasso.c
index e1b134e545..9af932f94f 100644
--- a/firmware/target/hosted/ibasso/usb-ibasso.c
+++ b/firmware/target/hosted/ibasso/usb-ibasso.c
@@ -60,11 +60,9 @@ static void usb_enable_mass_storage(void)
60 DEBUGF("ERROR %s: No command processor available.", __func__); 60 DEBUGF("ERROR %s: No command processor available.", __func__);
61} 61}
62 62
63
64/* Default at boot not known. */ 63/* Default at boot not known. */
65static int _last_usb_mode = -1; 64static int _last_usb_mode = -1;
66 65
67
68void ibasso_set_usb_mode(int mode) 66void ibasso_set_usb_mode(int mode)
69{ 67{
70 DEBUGF("DEBUG %s: _last_usb_mode: %d, mode: %d.", __func__, _last_usb_mode, mode); 68 DEBUGF("DEBUG %s: _last_usb_mode: %d, mode: %d.", __func__, _last_usb_mode, mode);
diff --git a/firmware/target/hosted/ibasso/usb-ibasso.h b/firmware/target/hosted/ibasso/usb-ibasso.h
index f509d43038..6cd31134b6 100644
--- a/firmware/target/hosted/ibasso/usb-ibasso.h
+++ b/firmware/target/hosted/ibasso/usb-ibasso.h
@@ -25,30 +25,10 @@
25#ifndef _USB_DX50_H_ 25#ifndef _USB_DX50_H_
26#define _USB_DX50_H_ 26#define _USB_DX50_H_
27 27
28
29/* Supported usb modes. */
30enum ibasso_usb_mode
31{
32 /*
33 USB mass storage mode. On USB connection, Rockbox will terminate and the internel and
34 external storage gets exported to the connected client.
35 */
36 USB_MODE_MASS_STORAGE = 0,
37
38 /*
39 Actually the same, since we to not have proper USB detection.
40 Starts the adb server and enables adb connection over USB. Rockbox will continue to run.
41 */
42 USB_MODE_CHARGE,
43 USB_MODE_ADB
44};
45
46
47/* 28/*
48 Set the usb mode. 29 Set the usb mode.
49 mode: ibasso_usb_mode 30 mode: ibasso_usb_mode
50*/ 31*/
51void ibasso_set_usb_mode(int mode); 32void ibasso_set_usb_mode(int mode);
52 33
53
54#endif 34#endif
diff --git a/firmware/usb.c b/firmware/usb.c
index e0c0c45865..8443ffed3a 100644
--- a/firmware/usb.c
+++ b/firmware/usb.c
@@ -42,6 +42,14 @@
42#include "logf.h" 42#include "logf.h"
43#include "screendump.h" 43#include "screendump.h"
44 44
45#ifndef BOOTLOADER
46#include "misc.h"
47#include "gui/yesno.h"
48#include "settings.h"
49#include "lang_enum.h"
50#include "gui/skin_engine/skin_engine.h"
51#endif
52
45/* Conditions under which we want the entire driver */ 53/* Conditions under which we want the entire driver */
46#if !defined(BOOTLOADER) || \ 54#if !defined(BOOTLOADER) || \
47 (defined(HAVE_USBSTACK) && defined(HAVE_BOOTLOADER_USB_MODE)) || \ 55 (defined(HAVE_USBSTACK) && defined(HAVE_BOOTLOADER_USB_MODE)) || \
@@ -71,7 +79,7 @@ static int usb_mmc_countdown = 0;
71#ifndef USB_EXTRA_STACK 79#ifndef USB_EXTRA_STACK
72# define USB_EXTRA_STACK 0x0 /*Define in firmware/export/config/[target].h*/ 80# define USB_EXTRA_STACK 0x0 /*Define in firmware/export/config/[target].h*/
73#endif 81#endif
74static long usb_stack[(DEFAULT_STACK_SIZE + DUMP_BMP_LINESIZE + USB_EXTRA_STACK)/sizeof(long)]; 82static long usb_stack[(DEFAULT_STACK_SIZE*2 + DUMP_BMP_LINESIZE + USB_EXTRA_STACK)/sizeof(long)];
75static const char usb_thread_name[] = "usb"; 83static const char usb_thread_name[] = "usb";
76static unsigned int usb_thread_entry = 0; 84static unsigned int usb_thread_entry = 0;
77static bool usb_monitor_enabled = false; 85static bool usb_monitor_enabled = false;
@@ -87,7 +95,8 @@ static bool usb_host_present = false;
87static int usb_num_acks_to_expect = 0; 95static int usb_num_acks_to_expect = 0;
88static long usb_last_broadcast_tick = 0; 96static long usb_last_broadcast_tick = 0;
89#ifdef HAVE_USB_POWER 97#ifdef HAVE_USB_POWER
90static bool usb_charging_only = false; 98static int usb_mode = USB_MODE_ASK;
99static int new_usbmode = USB_MODE_ASK;
91#endif 100#endif
92 101
93static int usb_release_exclusive_storage(void); 102static int usb_release_exclusive_storage(void);
@@ -130,17 +139,15 @@ static inline bool usb_do_screendump(void)
130 return false; 139 return false;
131} 140}
132 141
133/* Power (charging-only) button */
134static inline void usb_detect_charging_only(bool detect)
135{
136#ifdef HAVE_USB_POWER 142#ifdef HAVE_USB_POWER
137 if (detect) 143void usb_set_mode(int mode)
138 detect = button_status() & ~USBPOWER_BTN_IGNORE; 144{
139 145 usb_mode = mode;
140 usb_charging_only = detect; 146#if defined(DX50) || defined(DX90)
147 ibasso_set_usb_mode(mode);
141#endif 148#endif
142 (void)detect;
143} 149}
150#endif
144 151
145#ifdef USB_FIREWIRE_HANDLING 152#ifdef USB_FIREWIRE_HANDLING
146static inline bool usb_reboot_button(void) 153static inline bool usb_reboot_button(void)
@@ -201,7 +208,7 @@ static inline bool usb_configure_drivers(int for_state)
201 usb_attach(); /* Powered only: attach now. */ 208 usb_attach(); /* Powered only: attach now. */
202 break; 209 break;
203 /* USB_POWERED: */ 210 /* USB_POWERED: */
204 211
205 case USB_INSERTED: 212 case USB_INSERTED:
206#ifdef USB_ENABLE_STORAGE 213#ifdef USB_ENABLE_STORAGE
207 usb_core_enable_driver(USB_DRIVER_MASS_STORAGE, true); 214 usb_core_enable_driver(USB_DRIVER_MASS_STORAGE, true);
@@ -372,7 +379,7 @@ static void usb_set_host_present(bool present)
372 } 379 }
373 380
374#ifdef HAVE_USB_POWER 381#ifdef HAVE_USB_POWER
375 if (usb_charging_only) 382 if (new_usbmode == USB_MODE_CHARGE || new_usbmode == USB_MODE_ADB)
376 { 383 {
377 /* Only charging is desired */ 384 /* Only charging is desired */
378 usb_configure_drivers(USB_POWERED); 385 usb_configure_drivers(USB_POWERED);
@@ -464,9 +471,49 @@ static void NORETURN_ATTR usb_thread(void)
464 } 471 }
465 472
466 usb_state = USB_POWERED; 473 usb_state = USB_POWERED;
474
467 usb_stack_enable(true); 475 usb_stack_enable(true);
468 476
469 usb_detect_charging_only(true); 477 /* Power (charging-only) button */
478#ifdef HAVE_USB_POWER
479 switch (usb_mode) {
480 case USB_MODE_CHARGE:
481 case USB_MODE_ADB:
482 if (button_status() & ~USBPOWER_BTN_IGNORE)
483 new_usbmode = USB_MODE_MASS_STORAGE;
484 break;
485#ifndef BOOTLOADER
486 case USB_MODE_ASK:
487 new_usbmode = USB_MODE_ASK;
488 break;
489#endif
490 default:
491 case USB_MODE_MASS_STORAGE:
492 if (button_status() & ~USBPOWER_BTN_IGNORE)
493 new_usbmode = USB_MODE_CHARGE;
494 break;
495 }
496
497#ifndef BOOTLOADER
498 if (new_usbmode == USB_MODE_ASK)
499 {
500 push_current_activity(ACTIVITY_USBSCREEN);
501 if (yesno_pop(ID2P(LANG_ENTER_USB_STORAGE_MODE_QUERY)))
502 new_usbmode = USB_MODE_MASS_STORAGE;
503 else
504 new_usbmode = USB_MODE_CHARGE;
505 pop_current_activity();
506 /* Force full redraw */
507// queue_post(&button_queue, BUTTON_REDRAW, 0);
508// Alternative approach, as above is supposedly inadequate by design.
509 FOR_NB_SCREENS(i)
510 {
511 struct screen *screen = &screens[i];
512 screen->set_viewport(NULL);
513 }
514 }
515#endif
516#endif
470 517
471#ifndef USB_DETECT_BY_REQUEST 518#ifndef USB_DETECT_BY_REQUEST
472 usb_set_host_present(true); 519 usb_set_host_present(true);
@@ -493,8 +540,10 @@ static void NORETURN_ATTR usb_thread(void)
493 usb_slave_mode(false); 540 usb_slave_mode(false);
494 541
495 usb_state = USB_EXTRACTED; 542 usb_state = USB_EXTRACTED;
543#ifdef HAVE_USB_POWER
544 new_usbmode = usb_mode;
545#endif
496 546
497 usb_detect_charging_only(false);
498 usb_set_host_present(false); 547 usb_set_host_present(false);
499 break; 548 break;
500 /* USB_EXTRACTED: */ 549 /* USB_EXTRACTED: */
@@ -597,7 +646,7 @@ static void usb_tick(void)
597#ifdef USB_FIREWIRE_HANDLING 646#ifdef USB_FIREWIRE_HANDLING
598 static int firewire_countdown = -1; 647 static int firewire_countdown = -1;
599 static int last_firewire_status = false; 648 static int last_firewire_status = false;
600#endif 649#endif
601 650
602 if(usb_monitor_enabled) 651 if(usb_monitor_enabled)
603 { 652 {
@@ -814,4 +863,3 @@ void usb_wait_for_disconnect(struct event_queue *q)
814 (void)q; 863 (void)q;
815} 864}
816#endif /* USB_NONE */ 865#endif /* USB_NONE */
817
diff --git a/manual/configure_rockbox/system_options.tex b/manual/configure_rockbox/system_options.tex
index 4faeafb895..f9e09a91b1 100755
--- a/manual/configure_rockbox/system_options.tex
+++ b/manual/configure_rockbox/system_options.tex
@@ -851,6 +851,12 @@ therefore result in better runtime.
851 }} 851 }}
852 \end{description} 852 \end{description}
853} 853}
854\opt{usb_power}{
855 \subsection{USB Mode}
856 This controls what happens with the \dap{}'s USB port is connected.
857 \setting{Charge Only} and \setting{Mass Storage} will automatically enter
858 that mode, and \setting{Ask} will prompt the user each time.
859}
854\opt{multidrive_usb}{ 860\opt{multidrive_usb}{
855 \subsection{USB Hide Internal Drive} 861 \subsection{USB Hide Internal Drive}
856 If this option is turned \setting{On}, the internal storage drive will not 862 If this option is turned \setting{On}, the internal storage drive will not
diff --git a/manual/rockbox_interface/main.tex b/manual/rockbox_interface/main.tex
index ec76ce4ed5..33dae2f62f 100644
--- a/manual/rockbox_interface/main.tex
+++ b/manual/rockbox_interface/main.tex
@@ -827,10 +827,13 @@ properly.}
827 827
828 \opt{usb_power}{ 828 \opt{usb_power}{
829 \section{USB Charging} 829 \section{USB Charging}
830 To charge your \dap{} over USB, hold any button while plugging it 830 Whenever your \dap{} is connected to USB, it will automatically charge.
831 in. This will prevent it from connecting to your computer and let you 831 However, depending on the \config{usb\_mode} setting, the \dap{} may also
832 continue to use it normally. Your \dap{} must already be in Rockbox for this 832 enter mass storage mode or prompt the user for what action to take.
833 to function. 833 When the \dap{} is configured to enter mass storage mode or automatically
834 charge, you may trigger the opposite behaivor by holding down any button
835 while plugging it in. Your \dap{} must already be in Rockbox for this to
836 function.
834 \nopt{fuzeplus}{ 837 \nopt{fuzeplus}{
835 \note{Be aware that this button may still perform its normal function, so 838 \note{Be aware that this button may still perform its normal function, so
836 it is recommended to use a button without harmful side effects, such as 839 it is recommended to use a button without harmful side effects, such as