Compare commits

..

No commits in common. "91edd0e2488ae72db1aeb72cc5dab6a72becad41" and "2aa0b0848014da6337f91ebdd5973dc6ee3eb188" have entirely different histories.

20 changed files with 20 additions and 171 deletions

View file

@ -1,27 +0,0 @@
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

View file

@ -22,7 +22,9 @@ Logo font: [Play](https://fonts.google.com/specimen/Play) by Jonas Hecksher. Ope
### System requirements ### System requirements
* Minimum: Android 4.0 (Ice Cream Sandwich) * Minimum: Android 4.0 (Ice Cream Sandwich)
* Maximum: Android 10.0 (Q) * Maximum: Android 10.0 (Q)
* USB-OTG support / WiFi * USB-OTG support / WiFi
### Usage ### Usage
@ -53,15 +55,13 @@ If you're Samsung owner, it would be better to not rotating your phone during tr
### Other notes ### Other notes
'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. '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. 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.
#### Contributors and Translators #### Translators
* Thanks [Huang YunKun](https://github.com/htynkn) for various contributions! Traditional Chinese by [qazrfv1234](https://github.com/qazrfv1234)
* Traditional Chinese by [qazrfv1234](https://github.com/qazrfv1234) Simplified Chinese by FFT9 (XXGAME GROUP)(http://www.xxgame.net)
* Simplified Chinese by FFT9 (XXGAME GROUP)(http://www.xxgame.net)
* Italian by [IvanMazzoli](https://github.com/IvanMazzoli)
#### TODO: #### TODO:

View file

@ -7,8 +7,8 @@ android {
applicationId "com.blogspot.developersu.ns_usbloader" applicationId "com.blogspot.developersu.ns_usbloader"
minSdkVersion 15 minSdkVersion 15
targetSdkVersion 29 targetSdkVersion 29
versionCode 6 versionCode 5
versionName "4.0" versionName "3.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
android.defaultConfig.vectorDrawables.useSupportLibrary = true android.defaultConfig.vectorDrawables.useSupportLibrary = true
} }

View file

@ -50,18 +50,18 @@
<meta-data <meta-data
android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" android:name="android.hardware.usb.action.USB_DEVICE_DETACHED"
android:resource="@xml/device_filter" /> android:resource="@xml/device_filter" />
<!-- TODO: fix, implement, etc.
<intent-filter> <intent-filter>
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" /> <action android:name="android.intent.action.EDIT" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<data android:host="*"/> <data
<data android:mimeType="*/*"/> android:mimeType="application/octet-stream"
<data android:pathPattern=".*\\.nsp"/> android:host="*"
<data android:pathPattern=".*\\.nsz"/> android:pathPattern=".*\\.nsp"
<data android:pathPattern=".*\\.xci"/> />
<data android:pathPattern=".*\\.xcz"/>
<data android:scheme="content"/>
</intent-filter> </intent-filter>
-->
</activity> </activity>
<receiver <receiver
@ -80,4 +80,4 @@
android:exported="false" /> android:exported="false" />
</application> </application>
</manifest> </manifest>

View file

@ -37,8 +37,6 @@ public class AboutActivity extends AppCompatActivity {
t6.setMovementMethod(LinkMovementMethod.getInstance()); t6.setMovementMethod(LinkMovementMethod.getInstance());
final TextView tTranslators = findViewById(R.id.textViewTranslators); final TextView tTranslators = findViewById(R.id.textViewTranslators);
tTranslators.setMovementMethod(LinkMovementMethod.getInstance()); tTranslators.setMovementMethod(LinkMovementMethod.getInstance());
final TextView tContributors = findViewById(R.id.textViewContributorsNames);
tContributors.setMovementMethod(LinkMovementMethod.getInstance());
ImageView donateLibera = findViewById(R.id.donateLiberaImageView); ImageView donateLibera = findViewById(R.id.donateLiberaImageView);
donateLibera.setOnClickListener(this::donateLiberaOnClickAction); donateLibera.setOnClickListener(this::donateLiberaOnClickAction);

View file

@ -256,14 +256,6 @@ public class MainActivity extends AppCompatActivity implements NsResultReciever.
}); });
// Upload to NS button // Upload to NS button
uploadToNsBtn = findViewById(R.id.buttonUpload); 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. private void updateUploadBtnState(){ // TODO: this function is bad. It multiplies entropy and sorrow.
@ -304,10 +296,6 @@ public class MainActivity extends AppCompatActivity implements NsResultReciever.
if (requestCode != ADD_NSP_INTENT_CODE || data == null) if (requestCode != ADD_NSP_INTENT_CODE || data == null)
return; return;
readFile(data);
}
private void readFile(Intent data) {
Uri uri = data.getData(); Uri uri = data.getData();
if (uri == null || uri.getScheme() == null || ! uri.getScheme().equals("content")) if (uri == null || uri.getScheme() == null || ! uri.getScheme().equals("content"))

View file

@ -79,22 +79,9 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingLeft="5dp" android:paddingLeft="5dp"
android:paddingTop="5dp" android:paddingTop="5dp"
android:text="@string/translators" android:text="@string/about_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" /> android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
<TextView <TextView
android:id="@+id/textView6" android:id="@+id/textView6"
android:layout_width="match_parent" android:layout_width="match_parent"

View file

@ -1,50 +0,0 @@
<?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>

View file

@ -46,5 +46,4 @@
</string-array> </string-array>
<string name="settings_application_settings">Настройки приложения</string> <string name="settings_application_settings">Настройки приложения</string>
<string name="settings_app_theme">Тема:</string> <string name="settings_app_theme">Тема:</string>
<string name="about_line_contributors">При участии:</string>
</resources> </resources>

View file

@ -39,7 +39,4 @@
<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_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_6">如果本应用对你有帮助请在程序的GitHub页面上按星号加分也欢迎赞助</string>
<string name="about_line_5">口譯員:: </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> </resources>

View file

@ -39,7 +39,4 @@
<string name="notification_transfer_in_progress">正在進行資料傳輸</string> <string name="notification_transfer_in_progress">正在進行資料傳輸</string>
<string name="notification_chan_name_progress">正在進行傳輸</string> <string name="notification_chan_name_progress">正在進行傳輸</string>
<string name="notification_chan_desc_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> </resources>

View file

@ -45,7 +45,7 @@
<string name="notification_transfer_in_progress">Data transfer in progress</string> <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_name_progress">Transfer in progress</string>
<string name="notification_chan_desc_progress">Notification indicates transfer progress</string> <string name="notification_chan_desc_progress">Notification indicates transfer progress</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 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-array name="dayNightSelector"> <string-array name="dayNightSelector">
<item>System default</item> <item>System default</item>
<item>Day theme</item> <item>Day theme</item>
@ -53,6 +53,4 @@
</string-array> </string-array>
<string name="settings_application_settings">Application settings</string> <string name="settings_application_settings">Application settings</string>
<string name="settings_app_theme">Application theme:</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> </resources>

View file

@ -1,4 +0,0 @@
* 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

View file

@ -1 +0,0 @@
* Add Simplified Chinese by FFT9 (XXGAME GROUP). Thank you!

View file

@ -1,7 +0,0 @@
* 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.

View file

@ -1,7 +0,0 @@
* 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!

View file

@ -1,4 +0,0 @@
* Удалено уведомление, которое появлялось при подключении NS
* Благодаря qazrfv1234, добавлена перевод на традиционный китайский. Спасибо!
* Исправленны падения при запуске приложения на старых версиях Android происходивших из-за использования векторных изображений
* Добавлена поддержка 'разделённого экрана' и 'окна-в-окне' в современных версиях Android

View file

@ -1 +0,0 @@
* FFT9 (XXGAME GROUP) перевели приложение на упрощённый китайский. Спасибо!

View file

@ -1,7 +0,0 @@
* Добавленна тёмная тема
* Создан и добавлен паттерн на навигационной панели
* Обновлены отступы для лучшего отображения на телефонах с загнутым экраном (например 1+ 8pro)
* Добавлена возможность выбора темы приложения - Светлая/Ночная/Системная
* Обновлен приоритет уведомления. На современных устройствах не должно быть звукового уведомления при при появлении значка в панели уведомлений. (Переустановите приложение если вы всё ещё слышите звук или отключите его где-то в настройках системы)
* Неактивные кнопки на главном экране приложения теперь выглядят "неактивными" (их цвет темнее).
* Немного переписан код, относящийся к передаче данных по-сети. Теперь он немного более читаем, чем прежде.

View file

@ -1,7 +0,0 @@
* IvanMazzoli перевёл приложение на итальянский. Спасибо ему!
htynkn добавил много интересного в приложение:
* Обновил/подкорректировал переводы на китайский язык
* Добавил файловые ассоциации для nsp, nsz, xci, xcz. Теперь вы можете добавить файлы напрямую из файлового менеджера.
* Добавил поддержку CI (GitHub actions)
Большое спасибо!