From 8bd76fdff6890338571ba8abc2cbf285655c1f0a Mon Sep 17 00:00:00 2001 From: Dmitry Isaenko Date: Sun, 11 Oct 2020 16:14:47 +0300 Subject: [PATCH] Update cancel button icon Update notification priority: no sound on modern devices when notification icon appears (in case it's not fixed for end user - application should bre re-installed) Update games pattern image to be even more awesome Make application theme to be applied based on user's choice when application starts. Made disable buttons looks disable again! --- .../ns_usbloader/ApplicationTheme.java | 28 +++++++++++++++++++ .../ns_usbloader/MainActivity.java | 12 +++++--- .../ns_usbloader/NsNotificationPopUp.java | 8 +----- .../ns_usbloader/SettingsActivity.java | 23 +-------------- .../ns_usbloader/service/TransferTask.java | 2 +- app/src/main/res/color/main_button.xml | 5 ++++ app/src/main/res/drawable/ic_cancel.xml | 7 ----- app/src/main/res/drawable/ic_game_pattern.xml | 14 ++++++---- app/src/main/res/drawable/side_nav_bar.xml | 2 +- app/src/main/res/layout/content_main.xml | 8 +++--- app/src/main/res/values/styles.xml | 1 + 11 files changed, 59 insertions(+), 51 deletions(-) create mode 100644 app/src/main/java/com/blogspot/developersu/ns_usbloader/ApplicationTheme.java create mode 100644 app/src/main/res/color/main_button.xml diff --git a/app/src/main/java/com/blogspot/developersu/ns_usbloader/ApplicationTheme.java b/app/src/main/java/com/blogspot/developersu/ns_usbloader/ApplicationTheme.java new file mode 100644 index 0000000..b73f9c4 --- /dev/null +++ b/app/src/main/java/com/blogspot/developersu/ns_usbloader/ApplicationTheme.java @@ -0,0 +1,28 @@ +package com.blogspot.developersu.ns_usbloader; + +import androidx.appcompat.app.AppCompatDelegate; + +import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM; +import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_NO; +import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_YES; + +public class ApplicationTheme { + private static final int SYSTEM_DEFAULT = 0; + private static final int DAY_THEME = 1; + private static final int NIGHT_THEME = 2; + + private ApplicationTheme(){} + + public static void setApplicationTheme(int itemId){ + switch (itemId){ + case SYSTEM_DEFAULT: + AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_FOLLOW_SYSTEM); + break; + case DAY_THEME: + AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_NO); + break; + case NIGHT_THEME: + AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_YES); + } + } +} diff --git a/app/src/main/java/com/blogspot/developersu/ns_usbloader/MainActivity.java b/app/src/main/java/com/blogspot/developersu/ns_usbloader/MainActivity.java index f640ae5..dc4f507 100644 --- a/app/src/main/java/com/blogspot/developersu/ns_usbloader/MainActivity.java +++ b/app/src/main/java/com/blogspot/developersu/ns_usbloader/MainActivity.java @@ -207,7 +207,10 @@ public class MainActivity extends AppCompatActivity implements NsResultReciever. mDataset = new ArrayList<>(); usbDevice = getIntent().getParcelableExtra(UsbManager.EXTRA_DEVICE); // If it's started initially, then check if it's started from notification. //Log.i("LPR", "DEVICE " +usbDevice); - if (usbDevice != null){ + if (usbDevice == null) { + isUsbDeviceAccessible = false; + } + else { UsbManager usbManager = (UsbManager) getSystemService(Context.USB_SERVICE); // If somehow we can't get system service if (usbManager == null) { @@ -216,9 +219,10 @@ public class MainActivity extends AppCompatActivity implements NsResultReciever. } isUsbDeviceAccessible = usbManager.hasPermission(usbDevice); } - else - isUsbDeviceAccessible = false; - switch (getSharedPreferences("NSUSBloader", MODE_PRIVATE).getInt("PROTOCOL", NsConstants.PROTO_TF_USB)){ + SharedPreferences preferences = getSharedPreferences("NSUSBloader", MODE_PRIVATE); + ApplicationTheme.setApplicationTheme(preferences.getInt("ApplicationTheme", 0)); + + switch (preferences.getInt("PROTOCOL", NsConstants.PROTO_TF_USB)){ case NsConstants.PROTO_TF_USB: drawerNavView.setCheckedItem(R.id.nav_tf_usb); break; diff --git a/app/src/main/java/com/blogspot/developersu/ns_usbloader/NsNotificationPopUp.java b/app/src/main/java/com/blogspot/developersu/ns_usbloader/NsNotificationPopUp.java index ef6eb25..ed2f4d7 100644 --- a/app/src/main/java/com/blogspot/developersu/ns_usbloader/NsNotificationPopUp.java +++ b/app/src/main/java/com/blogspot/developersu/ns_usbloader/NsNotificationPopUp.java @@ -2,7 +2,6 @@ package com.blogspot.developersu.ns_usbloader; import android.app.AlertDialog; import android.content.Context; -import android.content.DialogInterface; public class NsNotificationPopUp { public static void getAlertWindow(Context context, String title, String message){ @@ -10,12 +9,7 @@ public class NsNotificationPopUp { builder.setTitle(title) .setMessage(message) .setCancelable(false) - .setPositiveButton("OK", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - dialogInterface.dismiss(); - } - }); + .setPositiveButton("OK", (dialogInterface, i) -> dialogInterface.dismiss()); builder.create().show(); } } diff --git a/app/src/main/java/com/blogspot/developersu/ns_usbloader/SettingsActivity.java b/app/src/main/java/com/blogspot/developersu/ns_usbloader/SettingsActivity.java index 367fcbf..96e6b1a 100644 --- a/app/src/main/java/com/blogspot/developersu/ns_usbloader/SettingsActivity.java +++ b/app/src/main/java/com/blogspot/developersu/ns_usbloader/SettingsActivity.java @@ -14,19 +14,10 @@ import android.widget.EditText; import android.widget.Spinner; import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.widget.SwitchCompat; import androidx.appcompat.widget.Toolbar; -import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM; -import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_NO; -import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_YES; - public class SettingsActivity extends AppCompatActivity { - private static final int SYSTEM_DEFAULT = 0; - private static final int DAY_THEME = 1; - private static final int NIGHT_THEME = 2; - private Spinner themeSpinner; private EditText nsIp; private EditText servAddr; @@ -52,7 +43,7 @@ public class SettingsActivity extends AppCompatActivity { themeSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){ @Override public void onItemSelected(AdapterView adapterView, View view, int selectedItemPosition, long selectedItemId) { - setApplicationTheme(selectedItemPosition); + ApplicationTheme.setApplicationTheme(selectedItemPosition); } @Override @@ -138,18 +129,6 @@ public class SettingsActivity extends AppCompatActivity { }); // Shitcode practices end } - private void setApplicationTheme(int itemId){ - switch (itemId){ - case SYSTEM_DEFAULT: - AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_FOLLOW_SYSTEM); - break; - case DAY_THEME: - AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_NO); - break; - case NIGHT_THEME: - AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_YES); - } - } @Override protected void onDestroy() { diff --git a/app/src/main/java/com/blogspot/developersu/ns_usbloader/service/TransferTask.java b/app/src/main/java/com/blogspot/developersu/ns_usbloader/service/TransferTask.java index f737ba9..af27f02 100644 --- a/app/src/main/java/com/blogspot/developersu/ns_usbloader/service/TransferTask.java +++ b/app/src/main/java/com/blogspot/developersu/ns_usbloader/service/TransferTask.java @@ -105,7 +105,7 @@ abstract class TransferTask { NotificationChannel notificationChannel = new NotificationChannel( NsConstants.NOTIFICATION_FOREGROUND_SERVICE_CHAN_ID, notificationChanName, - NotificationManager.IMPORTANCE_DEFAULT); + NotificationManager.IMPORTANCE_LOW); notificationChannel.setDescription(notificationChanDesc); notificationManager = context.getSystemService(NotificationManager.class); notificationManager.createNotificationChannel(notificationChannel); diff --git a/app/src/main/res/color/main_button.xml b/app/src/main/res/color/main_button.xml new file mode 100644 index 0000000..1e8c095 --- /dev/null +++ b/app/src/main/res/color/main_button.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_cancel.xml b/app/src/main/res/drawable/ic_cancel.xml index 88c34de..3928d42 100644 --- a/app/src/main/res/drawable/ic_cancel.xml +++ b/app/src/main/res/drawable/ic_cancel.xml @@ -5,13 +5,6 @@ android:viewportHeight="24"> - diff --git a/app/src/main/res/drawable/ic_game_pattern.xml b/app/src/main/res/drawable/ic_game_pattern.xml index 956ef20..ea34387 100644 --- a/app/src/main/res/drawable/ic_game_pattern.xml +++ b/app/src/main/res/drawable/ic_game_pattern.xml @@ -107,9 +107,9 @@ + android:pathData="m7.493,154.145c-0.439,0.048 -1.181,3.656 -1.976,4.396 -0.807,0.751 0.337,-0.383 -0.299,1.824 -0.476,1.655 -0.639,4.798 -0.603,9.619h4.627c-0.389,-1.039 -0.728,-2.363 -0.543,-3.099 0,0 0.003,0.758 0.381,1.161 0.379,0.402 0.946,1.41 0.866,1.144 -0.097,-0.325 -0.032,-0.42 -0.153,-0.788 -0.192,-0.601 -0.843,-1.891 -0.286,-5.065 0.128,2.352 0.29,2.355 0.336,2.35 0.203,-0.326 0.419,-3.112 0.771,-3.478 0.024,-0.024 0.15,2.356 0.22,2.043 0.085,-0.384 0.314,-1.105 0.448,-1.625 1.363,0.302 4.02,2.945 4.497,3.353 0.024,-0.946 -1.113,-2.575 -2.267,-3.962h0.002c4.343,3.686 4.913,5.773 5.629,7.867 -0.133,0.032 -0.262,0.066 -0.394,0.098h21.823c-0.243,-0.05 -0.487,-0.101 -0.725,-0.148 0.003,-0.008 0.005,-0.011 0.008,-0.021 0.871,-2.234 1.018,-4.242 5.737,-8.133h0c-1.125,1.314 -2.229,2.852 -2.209,3.747 0.465,-0.387 3.053,-2.885 4.382,-3.171 0.13,0.493 0.361,1.166 0.443,1.529 0.064,0.296 0.189,-1.95 0.211,-1.928 0.343,0.347 0.552,2.983 0.75,3.291 0.048,0.005 0.204,0.002 0.327,-2.226 0.543,3.005 -0.091,4.231 -0.278,4.8 -0.115,0.348 -0.064,0.438 -0.157,0.746 -0.08,0.252 0.489,-0.705 0.858,-1.086 0.369,-0.381 0.365,-1.098 0.365,-1.098 0.232,0.897 -0.382,2.723 -0.86,3.696h4.848c0.06,-5.029 -0.095,-8.206 -0.587,-9.868 -0.619,-2.089 0.488,-1.013 -0.298,-1.724 -0.827,-0.747 -1.584,-4.588 -1.998,-4.128 -0.549,0.118 -2.622,0.734 -3.312,1.339 0.272,-0.359 0.833,-1.211 0.833,-1.211 0,0 -0.85,0.337 -1.185,0.547 -1.885,1.182 -2.437,1.788 -2.773,2.081 -0.594,0.518 -0.787,0.826 -1.157,1.239 -0.802,0.898 0.116,-1.146 -0.128,-0.792 -0.865,1.255 -1.038,2.582 -1.932,3.946 -1.8,2.748 -2.065,3.681 -2.927,5.293 -0.446,0.834 -0.877,1.613 -1.303,2.362v0.569l-16.32,-0.024 0.016,-0.004v-0.928c-0.234,-0.448 -0.466,-0.889 -0.711,-1.361 -0.884,-1.703 -1.162,-2.685 -3.009,-5.587 -0.917,-1.44 -1.094,-2.844 -1.981,-4.17 -0.25,-0.374 0.682,1.798 -0.141,0.849 -0.379,-0.437 -0.571,-0.771 -1.181,-1.318 -0.345,-0.309 -0.918,-0.953 -2.852,-2.201 -0.344,-0.222 -1.206,-0.576 -1.206,-0.576 0,0 0.591,0.935 0.862,1.297 -0.699,-0.642 -2.833,-1.305 -3.399,-1.43h-0.005c-0.027,-0.03 -0.054,-0.043 -0.083,-0.04z" android:strokeWidth="2.12228"/> + android:pathData="m33.942,170.035v-5.383h-9.001v5.355l-0.009,0.004z" android:strokeWidth="1.63353"/> @@ -156,11 +156,11 @@ + android:pathData="m33.937,164.652v5.355l0.017,0.004 -4.514,0.007 -4.514,-0.007 0.017,-0.004v-5.355l-3.704,0.001v5.355l-0.017,0.004 6.163,0.009 -6.046,0.009v0.006l8.101,-0.012 8.102,0.012v-0.006l-6.046,-0.009 6.163,-0.009 -0.017,-0.004v-5.355z" android:strokeWidth="2.19845"/> + android:pathData="m29.391,160.638c0,0 -4.452,4.006 -4.452,4.016h9z" android:strokeWidth="2.19845"/> + android:pathData="m29.392,160.638v0.001l0.002,0.001 -0.002,-0.001zM29.394,160.639c0.003,0.002 4.544,4.004 4.544,4.014 -2.32,0 -7.609,-0 -8.996,-0 0,-0.01 4.447,-4.011 4.449,-4.013 -0.002,0.001 -8.153,4.004 -8.153,4.014 7.893,0 11.4,-0 16.404,-0 0,-0.01 -8.246,-4.013 -8.249,-4.014z" android:strokeWidth="2.19845"/> + + diff --git a/app/src/main/res/drawable/side_nav_bar.xml b/app/src/main/res/drawable/side_nav_bar.xml index c751097..df0b951 100644 --- a/app/src/main/res/drawable/side_nav_bar.xml +++ b/app/src/main/res/drawable/side_nav_bar.xml @@ -6,7 +6,7 @@ android:shape="rectangle"> diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml index e39f4f8..2cee5ad 100644 --- a/app/src/main/res/layout/content_main.xml +++ b/app/src/main/res/layout/content_main.xml @@ -38,7 +38,6 @@