Compare commits
8 commits
2aa0b08480
...
91edd0e248
Author | SHA1 | Date | |
---|---|---|---|
|
91edd0e248 | ||
|
17460aa53f | ||
|
0d589ef32b | ||
|
ff331ac724 | ||
|
b0859a4551 | ||
|
c19c999c69 | ||
|
082baad668 | ||
|
e975679c40 |
20 changed files with 171 additions and 20 deletions
27
.github/workflows/ci.yml
vendored
Normal file
27
.github/workflows/ci.yml
vendored
Normal file
|
@ -0,0 +1,27 @@
|
|||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Grant execute permission for gradlew
|
||||
run: chmod +x gradlew
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew clean build
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: debug
|
||||
path: app/build/outputs/apk/debug/*.apk
|
10
README.md
10
README.md
|
@ -22,9 +22,7 @@ Logo font: [Play](https://fonts.google.com/specimen/Play) by Jonas Hecksher. Ope
|
|||
### System requirements
|
||||
|
||||
* Minimum: Android 4.0 (Ice Cream Sandwich)
|
||||
|
||||
* Maximum: Android 10.0 (Q)
|
||||
|
||||
* USB-OTG support / WiFi
|
||||
|
||||
### Usage
|
||||
|
@ -57,11 +55,13 @@ If you're Samsung owner, it would be better to not rotating your phone during tr
|
|||
'Status' = 'Uploaded' that appears in the table does not mean that file has been installed. It means that it has been sent to NS without any issues! That's what this app about.
|
||||
Handling successful/failed installation is a purpose of the other side application: TinFoil/GoldLeaf v0.5. And they don't provide any feedback interfaces so I can't detect success/failure.
|
||||
|
||||
#### Translators
|
||||
#### Contributors and Translators
|
||||
|
||||
Traditional Chinese by [qazrfv1234](https://github.com/qazrfv1234)
|
||||
* Thanks [Huang YunKun](https://github.com/htynkn) for various contributions!
|
||||
|
||||
Simplified Chinese by FFT9 (XXGAME GROUP)(http://www.xxgame.net)
|
||||
* Traditional Chinese by [qazrfv1234](https://github.com/qazrfv1234)
|
||||
* Simplified Chinese by FFT9 (XXGAME GROUP)(http://www.xxgame.net)
|
||||
* Italian by [IvanMazzoli](https://github.com/IvanMazzoli)
|
||||
|
||||
#### TODO:
|
||||
|
||||
|
|
|
@ -7,8 +7,8 @@ android {
|
|||
applicationId "com.blogspot.developersu.ns_usbloader"
|
||||
minSdkVersion 15
|
||||
targetSdkVersion 29
|
||||
versionCode 5
|
||||
versionName "3.0"
|
||||
versionCode 6
|
||||
versionName "4.0"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
android.defaultConfig.vectorDrawables.useSupportLibrary = true
|
||||
}
|
||||
|
|
|
@ -50,18 +50,18 @@
|
|||
<meta-data
|
||||
android:name="android.hardware.usb.action.USB_DEVICE_DETACHED"
|
||||
android:resource="@xml/device_filter" />
|
||||
<!-- TODO: fix, implement, etc.
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<action android:name="android.intent.action.EDIT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<data
|
||||
android:mimeType="application/octet-stream"
|
||||
android:host="*"
|
||||
android:pathPattern=".*\\.nsp"
|
||||
/>
|
||||
<data android:host="*"/>
|
||||
<data android:mimeType="*/*"/>
|
||||
<data android:pathPattern=".*\\.nsp"/>
|
||||
<data android:pathPattern=".*\\.nsz"/>
|
||||
<data android:pathPattern=".*\\.xci"/>
|
||||
<data android:pathPattern=".*\\.xcz"/>
|
||||
<data android:scheme="content"/>
|
||||
</intent-filter>
|
||||
-->
|
||||
</activity>
|
||||
|
||||
<receiver
|
||||
|
|
|
@ -37,6 +37,8 @@ public class AboutActivity extends AppCompatActivity {
|
|||
t6.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
final TextView tTranslators = findViewById(R.id.textViewTranslators);
|
||||
tTranslators.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
final TextView tContributors = findViewById(R.id.textViewContributorsNames);
|
||||
tContributors.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
|
||||
ImageView donateLibera = findViewById(R.id.donateLiberaImageView);
|
||||
donateLibera.setOnClickListener(this::donateLiberaOnClickAction);
|
||||
|
|
|
@ -256,6 +256,14 @@ public class MainActivity extends AppCompatActivity implements NsResultReciever.
|
|||
});
|
||||
// Upload to NS button
|
||||
uploadToNsBtn = findViewById(R.id.buttonUpload);
|
||||
|
||||
//check if it's from file selected
|
||||
Intent intent = getIntent();
|
||||
Uri uri = intent.getData();
|
||||
|
||||
if (savedInstanceState == null && uri != null) {
|
||||
readFile(intent);
|
||||
}
|
||||
}
|
||||
|
||||
private void updateUploadBtnState(){ // TODO: this function is bad. It multiplies entropy and sorrow.
|
||||
|
@ -296,6 +304,10 @@ public class MainActivity extends AppCompatActivity implements NsResultReciever.
|
|||
if (requestCode != ADD_NSP_INTENT_CODE || data == null)
|
||||
return;
|
||||
|
||||
readFile(data);
|
||||
}
|
||||
|
||||
private void readFile(Intent data) {
|
||||
Uri uri = data.getData();
|
||||
|
||||
if (uri == null || uri.getScheme() == null || ! uri.getScheme().equals("content"))
|
||||
|
|
|
@ -79,9 +79,22 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="5dp"
|
||||
android:paddingTop="5dp"
|
||||
android:text="@string/about_translators"
|
||||
android:text="@string/translators"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
|
||||
<TextView
|
||||
android:id="@+id/textViewContributorsTitle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="5dp"
|
||||
android:text="@string/about_line_contributors"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
|
||||
<TextView
|
||||
android:id="@+id/textViewContributorsNames"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="5dp"
|
||||
android:text="@string/contributors"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView6"
|
||||
android:layout_width="match_parent"
|
||||
|
|
50
app/src/main/res/values-it-rIT/strings.xml
Normal file
50
app/src/main/res/values-it-rIT/strings.xml
Normal file
|
@ -0,0 +1,50 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="select_file_btn">Seleziona file</string>
|
||||
<string name="popup_non_supported_format">Tipo di file non supportato</string>
|
||||
<string name="popup_error">Errore</string>
|
||||
<string name="upload_btn">Invia a NS</string>
|
||||
<string name="install_file_explorer">Nessun file explorer installato. Per favore installane uno. Per esempio Total Commander</string>
|
||||
<string name="ns_connected_info">NS Connesso</string>
|
||||
<string name="notification_chan_name_usb">Dispositivo connesso</string>
|
||||
<string name="settings_application_settings">Impostazioni app</string>
|
||||
<string name="settings_app_theme">Tema app:</string>
|
||||
<string name="settings">Impostazioni</string>
|
||||
<string name="title_activity_settings">Impostazioni</string>
|
||||
<string name="settings_phone_ip">Indirizzo IP telefono</string>
|
||||
<string name="settings_phone_port">Porta telefono</string>
|
||||
<string name="unknown_protocol_error">Connessione scelta non riconosciuta (?)</string>
|
||||
<string name="status_uploaded">(Inviato)</string>
|
||||
<string name="status_wrong_file">(NSP invalido)</string>
|
||||
<string name="status_failed_to_upload">(Invio fallito)</string>
|
||||
<string name="popup_incorrect_file">FIle non corretto</string>
|
||||
<string name="about_line_6">Se trovi questa applicazione utile puoi venire a darci una stella sulla pagina del progetto su GitHub. Maggiori informazioni in homepage: Donazioni (opzionali):</string>
|
||||
<string name="about_line_5">Traduttori:</string>
|
||||
<string name="about_line_4">Homepage: <a href="https://github.com/developersu/ns-usbloader-mobile">https://github.com/developersu/ns-usbloader-mobile</a></string>
|
||||
<string name="about_line_3">Autore: Dmitry Isaenko.</string>
|
||||
<string name="about_line_2">Questa applicazione è rilasciata con <a href="https://www.gnu.org/licenses/gpl-3.0.html">licenza GNU GPLv3</a> o successive.</string>
|
||||
<string name="transfer_protocol">Connessione</string>
|
||||
<string name="ns_not_found_in_connected">NS non trovato nei dispositivi connessi:</string>
|
||||
<string name="nothing_selected_message">Nessuna selezione</string>
|
||||
<string name="interrupt_btn">Interrompi</string>
|
||||
<string name="other">Altro</string>
|
||||
<string name="about_app">Info sull\'app</string>
|
||||
<string name="one_item_for_gl_notification">Solo un file può essere selezionato per GoldLeaf v0.5</string>
|
||||
<string name="settings_autodtct_phn_ip">Trova indirizzo IP telefono in automatico</string>
|
||||
<string name="navigation_drawer_open">Apri menu di navigazione</string>
|
||||
<string name="navigation_drawer_close">Chiudi menu di navigazione</string>
|
||||
<string name="transfers_service_stopped">Il trasferimento dati è stato completato.</string>
|
||||
<string name="no_protocol_selected_message">Nessuna connessione selezionata</string>
|
||||
<string name="title_activity_about">Info sull\'app</string>
|
||||
<string name="notification_transfer_in_progress">Trasferimento dati in corso</string>
|
||||
<string name="notification_chan_name_progress">Trasferimento in corso</string>
|
||||
<string name="notification_chan_desc_usb">La notifica appare quando l\'utente connette NS ad un dispositivo</string>
|
||||
<string name="transfer_transport">Livello trasporto</string>
|
||||
<string name="notification_chan_desc_progress">La notifica indica un trasferimento in corso</string>
|
||||
<string-array name="dayNightSelector">
|
||||
<item>Default di sistema</item>
|
||||
<item>Tema chiaro</item>
|
||||
<item>Tema scuro</item>
|
||||
</string-array>
|
||||
<string name="about_line_contributors">Contributori:</string>
|
||||
</resources>
|
|
@ -46,4 +46,5 @@
|
|||
</string-array>
|
||||
<string name="settings_application_settings">Настройки приложения</string>
|
||||
<string name="settings_app_theme">Тема:</string>
|
||||
<string name="about_line_contributors">При участии:</string>
|
||||
</resources>
|
||||
|
|
|
@ -39,4 +39,7 @@
|
|||
<string name="about_line_4">首页: <a href="https://github.com/developersu/ns-usbloader-mobile">https://github.com/developersu/ns-usbloader-mobile</a></string>
|
||||
<string name="about_line_6">如果本应用对你有帮助,请在程序的GitHub页面上按星号加分,也欢迎赞助</string>
|
||||
<string name="about_line_5">口譯員:: </string>
|
||||
<string name="settings_application_settings">应用设置</string>
|
||||
<string name="settings_app_theme">应用主题:</string>
|
||||
<string name="about_line_contributors">参与者:</string>
|
||||
</resources>
|
|
@ -39,4 +39,7 @@
|
|||
<string name="notification_transfer_in_progress">正在進行資料傳輸</string>
|
||||
<string name="notification_chan_name_progress">正在進行傳輸</string>
|
||||
<string name="notification_chan_desc_progress">在通知欄顯示傳輸檔案進度</string>
|
||||
<string name="settings_application_settings">程式設置</string>
|
||||
<string name="settings_app_theme">程式主題:</string>
|
||||
<string name="about_line_contributors">參與者:</string>
|
||||
</resources>
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
<string name="notification_transfer_in_progress">Data transfer in progress</string>
|
||||
<string name="notification_chan_name_progress">Transfer in progress</string>
|
||||
<string name="notification_chan_desc_progress">Notification indicates transfer progress</string>
|
||||
<string name="about_translators" translatable="false">* 中文(繁體) - <a href="https://github.com/qazrfv1234">qazrfv1234</a>\n* 中文(简体) - FFT9 <a href="http://www.xxgame.net">(XXGAME GROUP)</a></string>
|
||||
<string name="translators" translatable="false">* 中文(繁體) - <a href="https://github.com/qazrfv1234">qazrfv1234</a>\n* 中文(简体) - FFT9 <a href="http://www.xxgame.net">(XXGAME GROUP)</a>\n* Italiano - <a href="https://github.com/IvanMazzoli">IvanMazzoli</a></string>
|
||||
<string-array name="dayNightSelector">
|
||||
<item>System default</item>
|
||||
<item>Day theme</item>
|
||||
|
@ -53,4 +53,6 @@
|
|||
</string-array>
|
||||
<string name="settings_application_settings">Application settings</string>
|
||||
<string name="settings_app_theme">Application theme:</string>
|
||||
<string name="about_line_contributors">With contributors:</string>
|
||||
<string name="contributors" translatable="false"><a href="https://github.com/htynkn">Huang YunKun</a></string>
|
||||
</resources>
|
4
fastlane/metadata/android/en-US/changelogs/3.txt
Normal file
4
fastlane/metadata/android/en-US/changelogs/3.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
* Remove notification that appears once user connects NS
|
||||
* Add Traditional Chinese by @qazrfv1234. Thank you!
|
||||
* Fix startup failures on old android versions related to vector assets
|
||||
* Add split-screen and window-in-window support for 'modern' android versions
|
1
fastlane/metadata/android/en-US/changelogs/4.txt
Normal file
1
fastlane/metadata/android/en-US/changelogs/4.txt
Normal file
|
@ -0,0 +1 @@
|
|||
* Add Simplified Chinese by FFT9 (XXGAME GROUP). Thank you!
|
7
fastlane/metadata/android/en-US/changelogs/5.txt
Normal file
7
fastlane/metadata/android/en-US/changelogs/5.txt
Normal file
|
@ -0,0 +1,7 @@
|
|||
* Add dark theme
|
||||
* Created and added navigation panel pattern
|
||||
* Updated margins for better view on phones with curved screens (e.g. 1+ 8pro)
|
||||
* Add ability for users to select application theme: day/night/system
|
||||
* Update notification priority: there should be no sound on modern devices when notification icon appears (reinstall app if you still hear it or disable somewhere in system settings if don't want to reinstall)
|
||||
* Made disable button(s) on a main application screen looks 'disable' (darker colour).
|
||||
* Rewrite a bit net-related code to make it readable.
|
7
fastlane/metadata/android/en-US/changelogs/6.txt
Normal file
7
fastlane/metadata/android/en-US/changelogs/6.txt
Normal file
|
@ -0,0 +1,7 @@
|
|||
* Italian translation added by @IvanMazzoli. Thank you!
|
||||
|
||||
@htynkn added many interesting things:
|
||||
* Corrected Chinese translations
|
||||
* File associations for nsp, nsz, xci, xcz files. Now you can open these file directly.
|
||||
* CI (GitHub actions)
|
||||
Many thanks!
|
4
fastlane/metadata/android/ru/changelogs/3.txt
Normal file
4
fastlane/metadata/android/ru/changelogs/3.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
* Удалено уведомление, которое появлялось при подключении NS
|
||||
* Благодаря qazrfv1234, добавлена перевод на традиционный китайский. Спасибо!
|
||||
* Исправленны падения при запуске приложения на старых версиях Android происходивших из-за использования векторных изображений
|
||||
* Добавлена поддержка 'разделённого экрана' и 'окна-в-окне' в современных версиях Android
|
1
fastlane/metadata/android/ru/changelogs/4.txt
Normal file
1
fastlane/metadata/android/ru/changelogs/4.txt
Normal file
|
@ -0,0 +1 @@
|
|||
* FFT9 (XXGAME GROUP) перевели приложение на упрощённый китайский. Спасибо!
|
7
fastlane/metadata/android/ru/changelogs/5.txt
Normal file
7
fastlane/metadata/android/ru/changelogs/5.txt
Normal file
|
@ -0,0 +1,7 @@
|
|||
* Добавленна тёмная тема
|
||||
* Создан и добавлен паттерн на навигационной панели
|
||||
* Обновлены отступы для лучшего отображения на телефонах с загнутым экраном (например 1+ 8pro)
|
||||
* Добавлена возможность выбора темы приложения - Светлая/Ночная/Системная
|
||||
* Обновлен приоритет уведомления. На современных устройствах не должно быть звукового уведомления при при появлении значка в панели уведомлений. (Переустановите приложение если вы всё ещё слышите звук или отключите его где-то в настройках системы)
|
||||
* Неактивные кнопки на главном экране приложения теперь выглядят "неактивными" (их цвет темнее).
|
||||
* Немного переписан код, относящийся к передаче данных по-сети. Теперь он немного более читаем, чем прежде.
|
7
fastlane/metadata/android/ru/changelogs/6.txt
Normal file
7
fastlane/metadata/android/ru/changelogs/6.txt
Normal file
|
@ -0,0 +1,7 @@
|
|||
* IvanMazzoli перевёл приложение на итальянский. Спасибо ему!
|
||||
|
||||
htynkn добавил много интересного в приложение:
|
||||
* Обновил/подкорректировал переводы на китайский язык
|
||||
* Добавил файловые ассоциации для nsp, nsz, xci, xcz. Теперь вы можете добавить файлы напрямую из файлового менеджера.
|
||||
* Добавил поддержку CI (GitHub actions)
|
||||
Большое спасибо!
|
Loading…
Reference in a new issue