diff --git a/CHANGELOG.md b/CHANGELOG.md index 5cde3dfe..dd888a9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,27 @@ All notable changes to Data Monitor will be documented in this file. +## v2.4.0 + +Data Monitor v2.4.0 release
+This release features multiple changes and improvements. + +### What's new? +- Added support for Android 14. +- Introducing Smart data allocation and quota alert (Beta). Manage your data plan with a daily quota, data rollover and usage alert. +- Updated plan details view. The home screen now features the number of days remaining in your data plan. +- Added custom filter for app usage. Now you can take control over viewing app data usage for any specific time period. + +### Fixes and Improvements +- Fixed app usage showing incorrect total data usage at times. +- Fixed notification issues on Android 14. +- Improved calculations related to data plan and its validity. +- Localisation fixes and improvements. +- Fixed certain crashes and improved exception handling. +- Added Malay and Hebrew translations. +- Other minor changes and improvements. + + ## v2.3.2 Data Monitor v2.3.2 release
diff --git a/README.md b/README.md index a6077be0..7b742d97 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ [![Version](https://shields.io/badge/version-v2.4.0-087AFF.svg)](https://github.com/itsdrnoob/DataMonitor/tree/dev/2.4.0) [![Platform](https://shields.io/badge/platform-android-green.svg)](https://github.com/itsdrnoob/DataMonitor) [![License](https://img.shields.io/badge/license-GPL3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html) -[![Release](https://shields.io/badge/release-v2.3.2-blue.svg)](https://github.com/itsdrnoob/DataMonitor/releases) +[![Release](https://shields.io/badge/release-v2.4.0-blue.svg)](https://github.com/itsdrnoob/DataMonitor/releases) [![Chat](https://img.shields.io/badge/Telegram%20Chat-blue?logo=telegram)](https://t.me/datamonitor) [![Downloads](https://img.shields.io/github/downloads/itsdrnoob/DataMonitor/total)](https://github.com/itsdrnoob/DataMonitor/releases) diff --git a/VERSION.md b/VERSION.md index 4f02fc0c..fa49670c 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -v2.3.2 \ No newline at end of file +v2.4.0 \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 6a11e647..f58b193d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,17 +4,17 @@ plugins { } android { - compileSdkVersion 33 - buildToolsVersion "30.0.3" + compileSdk 34 +// buildToolsVersion "30.0.3" defaultConfig { applicationId "com.drnoob.datamonitor" minSdkVersion 23 - targetSdkVersion 33 - versionCode 24 - versionName 'v2.3.2' - resConfigs "en", "ar", "cs", "de", "es", "fr", "hi", "in", "it", "ja", "ko", - "ml", "mr", "nb-rNO", "nl", "pl", "pt-rBR", "ro", "ru", "tr", "uk", "uz", "vi", "zh-rCN", "zh-rTW" + targetSdkVersion 34 + versionCode 29 + versionName 'v2.4.0' + resConfigs "en", "ar", "cs", "de", "es", "fr", "hi", "in", "it", "iw", "ja", "ko", "ml", "mr", "ms", + "nb-rNO", "nl", "pl", "pt-rBR", "ro", "ru", "tr", "uk", "uz", "vi", "zh-rCN", "zh-rTW" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } @@ -74,4 +74,6 @@ dependencies { implementation 'io.ipinfo:ipinfo-api:2.1' implementation 'com.squareup.okhttp3:okhttp:4.9.3' implementation 'com.github.bumptech.glide:glide:4.15.1' + implementation "androidx.work:work-runtime:2.8.1" + implementation "androidx.work:work-runtime-ktx:2.8.1" } \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 036190ae..ff2c23d8 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -20,4 +20,5 @@ # hide the original source file name. #-renamesourcefileattribute SourceFile --keep class io.ipinfo.api.** { *; } \ No newline at end of file +-keep class io.ipinfo.api.** { *; } +-keepattributes SourceFile,LineNumberTable \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5131a92a..c5aab9f2 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,6 +11,7 @@ android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" tools:ignore="ProtectedPermissions" /> + @@ -91,7 +92,12 @@ + android:exported="true" + android:foregroundServiceType="specialUse"> + + + + android:exported="true" + android:foregroundServiceType="specialUse"> + + + android:exported="false" + android:foregroundServiceType="specialUse"> + + + + + + refreshAvailableLanguages() { list.add(new LanguageModel("Portuguese", "pt", "rBR")); list.add(new LanguageModel("Spanish", "es", "")); list.add(new LanguageModel("Ukrainian", "uk", "")); -// list.add(new LanguageModel("Bhojpuri", "bho", "")); list.add(new LanguageModel("Hindi", "hi", "")); list.add(new LanguageModel("Indonesian", "in", "")); list.add(new LanguageModel("Korean", "ko", "")); @@ -199,6 +199,8 @@ public static List refreshAvailableLanguages() { list.add(new LanguageModel("Czech", "cs", "")); list.add(new LanguageModel("Vietnamese", "vi", "")); list.add(new LanguageModel("Japanese", "ja", "")); + list.add(new LanguageModel("Hebrew", "iw", "")); + list.add(new LanguageModel("Malay", "ms", "")); Collections.sort(list, new Comparator() { @Override @@ -395,11 +397,11 @@ public static void postAlarmPermissionDeniedNotification(Context context) { postNotification(context, managerCompat, builder, OTHER_NOTIFICATION_ID); } - @SuppressLint("SimpleDateFormat") public static String getPlanValidity(int session, Context context) { String validity; Calendar calendar = Calendar.getInstance(); - String month, endDate, suffix, end; + String month, ordinal, end; + int endDate; if (session == SESSION_MONTHLY) { int planEnd = PreferenceManager.getDefaultSharedPreferences(context) .getInt(DATA_RESET_DATE, 1); @@ -411,8 +413,8 @@ public static String getPlanValidity(int session, Context context) { if (today >= planEnd) { calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) + 1); } - month = new SimpleDateFormat("MMMM").format(calendar.getTime()); - endDate = String.valueOf(planEnd); + month = new SimpleDateFormat("MMMM", getCurrentLocale(context)).format(calendar.getTime()); + endDate = planEnd; } else { long planEndDateMillis; @@ -426,30 +428,45 @@ public static String getPlanValidity(int session, Context context) { planEndDateMillis = ((Number) planEndIntValue).longValue(); } calendar.setTimeInMillis(planEndDateMillis); - month = new SimpleDateFormat("MMMM").format(calendar.getTime()); - endDate = new SimpleDateFormat("d").format(calendar.getTime()); + month = new SimpleDateFormat("MMMM", getCurrentLocale(context)).format(calendar.getTime()); + endDate = calendar.get(Calendar.DAY_OF_MONTH); } - suffix = getDateSuffix(endDate); - end = endDate + suffix + " " + month; + ordinal = formatOrdinalNumber(endDate, context); + end = ordinal + " " + month; validity = end; return validity; } - public static String getDateSuffix(String date) { - String suffix; - if (date.endsWith("1")) { - suffix = "st"; - } - else if (date.endsWith("2")) { - suffix = "nd"; - } - else if (date.endsWith("3")) { - suffix = "rd"; + public static String formatOrdinalNumber(int number, Context context) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + final String format = "{0,ordinal}"; + final Locale locale = getCurrentLocale(context); + final MessageFormat formatter = new MessageFormat(format, locale); + + return formatter.format(new Object[] {number}); + } else { + String numberString = String.valueOf(number); + String suffix; + if (numberString.endsWith("1")) { + suffix = "st"; + } else if (numberString.endsWith("2")) { + suffix = "nd"; + } else if (numberString.endsWith("3")) { + suffix = "rd"; + } else { + suffix = "th"; + } + return numberString + suffix; } - else { - suffix = "th"; + } + + public static Locale getCurrentLocale(Context context) { + final Configuration config = context.getResources().getConfiguration(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + return config.getLocales().get(0); + } else { + return config.locale; } - return suffix; } private static boolean isLiveNetworkServiceRunning(Context context) { @@ -507,4 +524,18 @@ public static void postNotification(Context context, NotificationManagerCompat n } } } + + public static String parseNumber(String number) { + if (number.matches("[0-9.,]+")) { + return number.replace(",", "."); + } + String output = "0.0"; + NumberFormat numberFormat = NumberFormat.getInstance(Locale.US); + try { + output = numberFormat.parse(number).toString(); + } + catch (Exception ignored) {} + + return output; + } } diff --git a/app/src/main/java/com/drnoob/datamonitor/core/Values.java b/app/src/main/java/com/drnoob/datamonitor/core/Values.java index c44b91a0..ec0c595f 100644 --- a/app/src/main/java/com/drnoob/datamonitor/core/Values.java +++ b/app/src/main/java/com/drnoob/datamonitor/core/Values.java @@ -48,6 +48,7 @@ public class Values { public static final int SESSION_ALL_TIME = 0x003C; public static final int SESSION_MONTHLY = 0x00A9; public static final int SESSION_CUSTOM = 0x00AC; + public static final int SESSION_CUSTOM_FILTER = 0x00AF; public static final int TYPE_MOBILE_DATA = 0x0046; public static final int TYPE_WIFI = 0x0050; @@ -77,6 +78,7 @@ public class Values { public static final int DIAGNOSTICS_HISTORY_FRAGMENT = 0x010E; public static final int DATA_PLAN_FRAGMENT = 0x0118; public static final int APP_CONTRIBUTORS_FRAGMENT = 0x0122; + public static final int ADD_CUSTOM_SESSION_FRAGMENT = 0x0136; public static final int BOTTOM_NAVBAR_ITEM_HOME = 0; public static final int BOTTOM_NAVBAR_ITEM_SETUP = 1; @@ -91,6 +93,7 @@ public class Values { public static final String SETUP_COMPLETED = "is_setup_complete"; public static final String DATA_LIMIT = "data_limit"; + public static final String DATA_QUOTA = "data_quota"; public static final String DATA_TYPE = "data_type"; public static final String LIMIT = "limit"; public static final String DATA_RESET = "data_reset"; @@ -109,6 +112,7 @@ public class Values { public static final String DATA_RESET_CUSTOM_DATE_RESTART = "custom_reset_date_restart"; public static final String DATA_WARNING_TRIGGER_LEVEL = "data_warning_trigger_level"; public static final String DATA_USAGE_WARNING_SHOWN = "data_usage_warning_shown"; + public static final String DATA_QUOTA_WARNING_SHOWN = "data_quota_warning_shown"; public static final String DATA_USAGE_ALERT = "data_usage_alert"; public static final String WIDGET_REFRESH_INTERVAL_SUMMARY = "widget_refresh_interval_summary"; public static final String WIDGET_REFRESH_INTERVAL = "widget_refresh_interval"; @@ -185,4 +189,8 @@ public class Values { public static final String WALL_OF_THANKS_FEATURED_DONORS = "wall_of_thanks_featured_donors"; public static final String WALL_OF_THANKS_ALL_DONORS = "wall_of_thanks_all_donors"; + + public static final String DATA_QUOTA_SCHEDULED_RESET = "quota_scheduled_reset"; + public static final String DATA_QUOTA_PERFORMED_RESET = "quota_performed_reset"; + } diff --git a/app/src/main/java/com/drnoob/datamonitor/ui/activities/ContainerActivity.java b/app/src/main/java/com/drnoob/datamonitor/ui/activities/ContainerActivity.java index af4d4e93..c38c62da 100644 --- a/app/src/main/java/com/drnoob/datamonitor/ui/activities/ContainerActivity.java +++ b/app/src/main/java/com/drnoob/datamonitor/ui/activities/ContainerActivity.java @@ -21,6 +21,7 @@ import static com.drnoob.datamonitor.Common.setLanguage; import static com.drnoob.datamonitor.core.Values.ABOUT_FRAGMENT; +import static com.drnoob.datamonitor.core.Values.ADD_CUSTOM_SESSION_FRAGMENT; import static com.drnoob.datamonitor.core.Values.APP_CONTRIBUTORS_FRAGMENT; import static com.drnoob.datamonitor.core.Values.APP_COUNTRY_CODE; import static com.drnoob.datamonitor.core.Values.APP_DATA_LIMIT_FRAGMENT; @@ -66,6 +67,7 @@ import com.drnoob.datamonitor.ui.fragments.AppDataLimitFragment; import com.drnoob.datamonitor.ui.fragments.AppDataUsageFragment; import com.drnoob.datamonitor.ui.fragments.ContributorsFragment; +import com.drnoob.datamonitor.ui.fragments.CustomSessionFragment; import com.drnoob.datamonitor.ui.fragments.DataPlanFragment; import com.drnoob.datamonitor.ui.fragments.DiagnosticsHistoryFragment; import com.drnoob.datamonitor.ui.fragments.DiagnosticsSettingsFragment; @@ -237,6 +239,12 @@ navigation bar icons being a light color (white). This limits visibility in ligh fragment = new AppContributorsFragment(); title = getString(R.string.app_contributors); break; + + case ADD_CUSTOM_SESSION_FRAGMENT: + fragment = new CustomSessionFragment(); + title = getString(R.string.add_custom_session); + getSupportActionBar().hide(); + break; } getSupportFragmentManager().beginTransaction().replace(R.id.container_host_fragment, fragment).commit(); diff --git a/app/src/main/java/com/drnoob/datamonitor/ui/activities/MainActivity.java b/app/src/main/java/com/drnoob/datamonitor/ui/activities/MainActivity.java index 2216049d..987c2c14 100644 --- a/app/src/main/java/com/drnoob/datamonitor/ui/activities/MainActivity.java +++ b/app/src/main/java/com/drnoob/datamonitor/ui/activities/MainActivity.java @@ -24,7 +24,6 @@ import static com.drnoob.datamonitor.Common.isUsageAccessGranted; import static com.drnoob.datamonitor.Common.refreshService; import static com.drnoob.datamonitor.Common.setLanguage; -import static com.drnoob.datamonitor.Common.showAlarmPermissionDeniedDialog; import static com.drnoob.datamonitor.core.Values.ALARM_PERMISSION_DENIED; import static com.drnoob.datamonitor.core.Values.APP_COUNTRY_CODE; import static com.drnoob.datamonitor.core.Values.APP_DATA_USAGE_WARNING_CHANNEL_ID; @@ -66,8 +65,6 @@ import static com.drnoob.datamonitor.utils.NetworkStatsHelper.getTetheringDataUsage; import android.Manifest; -import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; import android.app.Activity; import android.app.AlarmManager; import android.app.NotificationChannel; @@ -94,14 +91,11 @@ import android.view.MenuItem; import android.view.View; import android.widget.RemoteViews; -import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.RequiresApi; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatDelegate; -import androidx.constraintlayout.widget.ConstraintLayout; -import androidx.core.app.NotificationCompat; import androidx.navigation.NavController; import androidx.navigation.NavDestination; import androidx.navigation.fragment.NavHostFragment; diff --git a/app/src/main/java/com/drnoob/datamonitor/ui/activities/WallOfThanksActivity.kt b/app/src/main/java/com/drnoob/datamonitor/ui/activities/WallOfThanksActivity.kt index f581b69d..87be0e2c 100644 --- a/app/src/main/java/com/drnoob/datamonitor/ui/activities/WallOfThanksActivity.kt +++ b/app/src/main/java/com/drnoob/datamonitor/ui/activities/WallOfThanksActivity.kt @@ -23,13 +23,13 @@ import android.animation.Animator import android.animation.AnimatorListenerAdapter import android.annotation.SuppressLint import android.content.Intent -import android.content.res.Configuration import android.net.Uri import android.os.Bundle import android.os.Handler import android.os.Looper import android.util.Log -import android.view.* +import android.view.View +import android.view.WindowManager import android.view.animation.Interpolator import androidx.appcompat.app.AppCompatActivity import androidx.constraintlayout.widget.ConstraintLayout @@ -43,7 +43,11 @@ import com.drnoob.datamonitor.Common.dismissOnClick import com.drnoob.datamonitor.R import com.drnoob.datamonitor.adapters.DonorAdapter import com.drnoob.datamonitor.adapters.data.DonorModel -import com.drnoob.datamonitor.core.Values.* +import com.drnoob.datamonitor.core.Values.DONATE_FRAGMENT +import com.drnoob.datamonitor.core.Values.GENERAL_FRAGMENT_ID +import com.drnoob.datamonitor.core.Values.WALL_OF_THANKS_ALL_DONORS +import com.drnoob.datamonitor.core.Values.WALL_OF_THANKS_FEATURED_DONORS +import com.drnoob.datamonitor.core.Values.WALL_OF_THANKS_LAST_UPDATE import com.drnoob.datamonitor.databinding.ActivityWallOfThanksBinding import com.drnoob.datamonitor.utils.SharedPreferences import com.google.android.material.snackbar.Snackbar diff --git a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/AboutFragment.java b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/AboutFragment.java index f1024525..dd6345c7 100644 --- a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/AboutFragment.java +++ b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/AboutFragment.java @@ -30,11 +30,7 @@ import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; -import android.text.SpannableStringBuilder; -import android.text.style.ClickableSpan; -import android.text.style.ForegroundColorSpan; import android.util.DisplayMetrics; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -42,7 +38,6 @@ import android.widget.LinearLayout; import android.widget.TextView; -import androidx.annotation.NonNull; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.Fragment; import androidx.preference.PreferenceFragmentCompat; @@ -59,8 +54,6 @@ import java.io.IOException; import java.net.URL; -import java.util.ArrayList; -import java.util.List; import java.util.Scanner; import javax.net.ssl.HttpsURLConnection; diff --git a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/AppContributorsFragment.java b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/AppContributorsFragment.java index 89e5d1ee..75ae4854 100644 --- a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/AppContributorsFragment.java +++ b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/AppContributorsFragment.java @@ -283,6 +283,49 @@ private List getTranslators() { R.drawable.rintan, true, getContext().getString(R.string.github_rintan))); + translators.add(new TranslatorModel(getContext().getString(R.string.dan), + getContext().getString(R.string.dan_summary), + R.drawable.ic_person, false)); + + translators.add(new TranslatorModel(getContext().getString(R.string.jean_mareilles), + getContext().getString(R.string.jean_mareilles_summary), + R.drawable.ic_person, false)); + + translators.add(new TranslatorModel(getContext().getString(R.string.timtcg), + getContext().getString(R.string.timtcg_summary), + R.drawable.timtcg, true, + getContext().getString(R.string.github_timtcg))); + + translators.add(new TranslatorModel(getContext().getString(R.string.zahiruddinrushdi), + getContext().getString(R.string.zahiruddinrushdi_summary), + R.drawable.zahiruddinrushdi, true, + getContext().getString(R.string.github_zahiruddinRushdi))); + + translators.add(new TranslatorModel(getContext().getString(R.string.detrimental_god), + getContext().getString(R.string.detrimental_god_summary), + R.drawable.ic_person, false)); + + translators.add(new TranslatorModel(getContext().getString(R.string.chin_housin), + getContext().getString(R.string.chin_housin_summary), + R.drawable.ic_person, false)); + + translators.add(new TranslatorModel(getContext().getString(R.string.jonnysemon), + getContext().getString(R.string.jonnysemon_summary), + R.drawable.ic_person, false)); + + translators.add(new TranslatorModel(getContext().getString(R.string.flix), + getContext().getString(R.string.flix_summary), + R.drawable.ic_person, false)); + + translators.add(new TranslatorModel(getContext().getString(R.string.xxx), + getContext().getString(R.string.xxx_summary), + R.drawable.ic_person, false)); + + translators.add(new TranslatorModel(getContext().getString(R.string.ofermar), + getContext().getString(R.string.ofermar_summary), + R.drawable.ersen0, true, + getContext().getString(R.string.github_ofermar))); + return translators; } diff --git a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/AppDataUsageFragment.java b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/AppDataUsageFragment.java index 5a49b85d..36741639 100644 --- a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/AppDataUsageFragment.java +++ b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/AppDataUsageFragment.java @@ -19,6 +19,8 @@ package com.drnoob.datamonitor.ui.fragments; +import static android.app.Activity.RESULT_OK; +import static com.drnoob.datamonitor.core.Values.ADD_CUSTOM_SESSION_FRAGMENT; import static com.drnoob.datamonitor.core.Values.DAILY_DATA_HOME_ACTION; import static com.drnoob.datamonitor.core.Values.DATA_RESET; import static com.drnoob.datamonitor.core.Values.DATA_RESET_CUSTOM; @@ -27,8 +29,10 @@ import static com.drnoob.datamonitor.core.Values.DATA_USAGE_TYPE; import static com.drnoob.datamonitor.core.Values.EXTRA_IS_WEEK_DAY_VIEW; import static com.drnoob.datamonitor.core.Values.EXTRA_WEEK_DAY; +import static com.drnoob.datamonitor.core.Values.GENERAL_FRAGMENT_ID; import static com.drnoob.datamonitor.core.Values.SESSION_ALL_TIME; import static com.drnoob.datamonitor.core.Values.SESSION_CUSTOM; +import static com.drnoob.datamonitor.core.Values.SESSION_CUSTOM_FILTER; import static com.drnoob.datamonitor.core.Values.SESSION_LAST_MONTH; import static com.drnoob.datamonitor.core.Values.SESSION_THIS_MONTH; import static com.drnoob.datamonitor.core.Values.SESSION_THIS_YEAR; @@ -46,6 +50,7 @@ import android.app.Activity; import android.content.Context; import android.content.DialogInterface; +import android.content.Intent; import android.os.Bundle; import android.os.RemoteException; import android.util.Log; @@ -56,10 +61,15 @@ import android.widget.LinearLayout; import android.widget.TextView; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.core.util.Pair; import androidx.fragment.app.Fragment; +import androidx.lifecycle.MutableLiveData; +import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; import androidx.preference.PreferenceManager; import androidx.recyclerview.widget.LinearLayoutManager; @@ -70,6 +80,7 @@ import com.drnoob.datamonitor.adapters.AppDataUsageAdapter; import com.drnoob.datamonitor.adapters.data.AppDataUsageModel; import com.drnoob.datamonitor.adapters.data.FragmentViewModel; +import com.drnoob.datamonitor.ui.activities.ContainerActivity; import com.drnoob.datamonitor.ui.activities.MainActivity; import com.drnoob.datamonitor.utils.NetworkStatsHelper; import com.drnoob.datamonitor.utils.VibrationUtils; @@ -82,6 +93,7 @@ import java.text.ParseException; import java.util.ArrayList; import java.util.List; +import java.util.Map; public class AppDataUsageFragment extends Fragment { private static final String TAG = AppDataUsageFragment.class.getSimpleName(); @@ -101,6 +113,13 @@ public class AppDataUsageFragment extends Fragment { private static boolean isWeekDayView; private static String totalDataUsage; private static int selectedSession, selectedType; + private ActivityResultLauncher customSessionLauncher; + + public static MutableLiveData> customFilter = new MutableLiveData<>(); + public static MutableLiveData customFilterDate = new MutableLiveData<>(); + public static MutableLiveData> customFilterDateMillis = new MutableLiveData<>(); + public static MutableLiveData> customFilterTime = new MutableLiveData<>(); + public static Boolean shouldShowTime = false; public AppDataUsageFragment() { @@ -109,6 +128,18 @@ public AppDataUsageFragment() { @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); + customSessionLauncher = registerForActivityResult( + new ActivityResultContracts.StartActivityForResult(), + result -> { + if (result.getResultCode() == RESULT_OK) { + Long startMillis = result.getData().getLongExtra("start", 0); + Long endMillis = result.getData().getLongExtra("end", 0); + String date = result.getData().getStringExtra("date"); + customFilter.postValue(new Pair<>(startMillis, endMillis)); + customFilterDate.postValue(date); + } + } + ); } @Override @@ -158,7 +189,7 @@ else if (isWeekDayView) { setType(type); mTotalUsage.setText("..."); - Log.e(TAG, "onCreateView: " + getRefreshAppDataUsage() ); + Log.d(TAG, "onCreateView: " + getRefreshAppDataUsage() ); if (getRefreshAppDataUsage()) { refreshData(); } @@ -192,6 +223,7 @@ public void onClick(View v) { TextView ok = footer.findViewById(R.id.ok); Chip sessionCurrentPlan = sessionGroup.findViewById(R.id.session_current_plan); + Chip sessionCustom = sessionGroup.findViewById(R.id.session_custom); if (PreferenceManager.getDefaultSharedPreferences(getContext()) .getString(DATA_RESET, "null") @@ -202,6 +234,27 @@ public void onClick(View v) { sessionCurrentPlan.setVisibility(View.GONE); } + String sessionText = customFilterDate.getValue() == null ? getString(R.string.add_custom_session) + : customFilterDate.getValue(); + sessionCustom.setText(sessionText); + + customFilterDate.observe(getActivity(), new Observer() { + @Override + public void onChanged(String s) { + String sessionText = s == null ? getString(R.string.add_custom_session) : s; + sessionCustom.setText(sessionText); + } + }); + + sessionCustom.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + sessionCustom.setChecked(true); + customSessionLauncher.launch(new Intent(requireActivity(), ContainerActivity.class) + .putExtra(GENERAL_FRAGMENT_ID, ADD_CUSTOM_SESSION_FRAGMENT)); + } + }); + sessionGroup.setOnCheckedStateChangeListener(new ChipGroup.OnCheckedStateChangeListener() { @Override public void onCheckedChanged(@NonNull ChipGroup group, @NonNull List checkedIds) { @@ -251,6 +304,9 @@ public void onCheckedChanged(@NonNull ChipGroup group, @NonNull List ch sessionGroup.check(R.id.session_current_plan); break; + case SESSION_CUSTOM_FILTER: + sessionGroup.check(R.id.session_custom); + } switch (getType()) { @@ -298,6 +354,11 @@ public void onClick(View v) { case R.id.session_current_plan: selectedSession = SESSION_CUSTOM; break; + + case R.id.session_custom: + selectedSession = SESSION_CUSTOM_FILTER; + break; + case R.id.session_today: default: @@ -345,170 +406,6 @@ public void onRefresh() { } }); -// mSession.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View v) { -// if (isDataLoading()) { -// return; -// } -// BottomSheetDialog dialog = new BottomSheetDialog(getContext(), R.style.BottomSheet); -// View dialogView = LayoutInflater.from(getContext()).inflate(R.layout.data_usage_session, null); -// -// RadioGroup sessions = dialogView.findViewById(R.id.session_group); -// ConstraintLayout footer = dialogView.findViewById(R.id.footer); -// TextView cancel = footer.findViewById(R.id.cancel); -// TextView ok = footer.findViewById(R.id.ok); -// -// switch (getSession(getContext())) { -// case SESSION_TODAY: -// sessions.check(R.id.session_today); -// break; -// -// case SESSION_YESTERDAY: -// sessions.check(R.id.session_yesterday); -// break; -// -// case SESSION_THIS_MONTH: -// sessions.check(R.id.session_this_month); -// break; -// -// case SESSION_LAST_MONTH: -// sessions.check(R.id.session_last_month); -// break; -// -// case SESSION_THIS_YEAR: -// sessions.check(R.id.session_this_year); -// break; -// -// case SESSION_ALL_TIME: -// sessions.check(R.id.session_all_time); -// break; -// -// } -// -// cancel.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View v) { -// dialog.dismiss(); -// } -// }); -// -// ok.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View v) { -// String session = null; -// switch (sessions.getCheckedRadioButtonId()) { -// case R.id.session_today: -// session = getString(R.string.label_today); -// break; -// -// case R.id.session_yesterday: -// session = getString(R.string.label_yesterday); -// break; -// -// case R.id.session_this_month: -// session = getString(R.string.label_this_month); -// break; -// -// case R.id.session_last_month: -// session = getString(R.string.label_last_month); -// break; -// -// case R.id.session_this_year: -// session = getString(R.string.label_this_year); -// break; -// -// case R.id.session_all_time: -// session = getString(R.string.label_all_time); -// break; -// } -// mSession.setText(session); -// if (!MainActivity.isDataLoading()) { -// refreshData(); -// } -// dialog.dismiss(); -// } -// }); -// -// dialog.setContentView(dialogView); -// dialog.setOnShowListener(new DialogInterface.OnShowListener() { -// @Override -// public void onShow(DialogInterface dialogInterface) { -// BottomSheetDialog bottomSheetDialog = (BottomSheetDialog) dialogInterface; -// FrameLayout bottomSheet = bottomSheetDialog.findViewById(com.google.android.material.R.id.design_bottom_sheet); -// BottomSheetBehavior.from(bottomSheet).setState(BottomSheetBehavior.STATE_EXPANDED); -// } -// }); -// dialog.show(); -// } -// }); -// -// mType.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View v) { -// if (isDataLoading()) { -// return; -// } -// BottomSheetDialog dialog = new BottomSheetDialog(getContext(), R.style.BottomSheet); -// View dialogView = LayoutInflater.from(getContext()).inflate(R.layout.data_usage_type, null); -// -// RadioGroup types = dialogView.findViewById(R.id.type_group); -// ConstraintLayout footer = dialogView.findViewById(R.id.footer); -// TextView cancel = footer.findViewById(R.id.cancel); -// TextView ok = footer.findViewById(R.id.ok); -// -// switch (getType(getContext())) { -// case TYPE_MOBILE_DATA: -// types.check(R.id.type_mobile); -// break; -// -// case TYPE_WIFI: -// types.check(R.id.type_wifi); -// break; -// } -// -// cancel.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View v) { -// dialog.dismiss(); -// } -// }); -// -// ok.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View v) { -// String type = null; -// switch (types.getCheckedRadioButtonId()) { -// case R.id.type_mobile: -// type = getString(R.string.label_mobile_data); -// break; -// -// case R.id.type_wifi: -// type = getString(R.string.label_wifi); -// break; -// } -// mType.setText(type); -// -// if (!MainActivity.isDataLoading()) { -// refreshData(); -// } -// dialog.dismiss(); -// } -// }); -// -// dialog.setContentView(dialogView); -// dialog.setOnShowListener(new DialogInterface.OnShowListener() { -// @Override -// public void onShow(DialogInterface dialogInterface) { -// BottomSheetDialog bottomSheetDialog = (BottomSheetDialog) dialogInterface; -// FrameLayout bottomSheet = bottomSheetDialog.findViewById(com.google.android.material.R.id.design_bottom_sheet); -// BottomSheetBehavior.from(bottomSheet).setState(BottomSheetBehavior.STATE_EXPANDED); -// } -// }); -// dialog.show(); -// } -// }); - /* Shrink or expand the FAB according to user scroll */ @@ -589,9 +486,7 @@ private static void refreshData() { public static void onDataLoaded(Context context) { try { - if (totalDataUsage == null || totalDataUsage.isEmpty()) { - totalDataUsage = getTotalDataUsage(context); - } + totalDataUsage = getTotalDataUsage(context); mTotalUsage.setText(context.getString(R.string.total_usage, totalDataUsage)); } diff --git a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/ContributorsFragment.kt b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/ContributorsFragment.kt index ac65b865..ea0126b5 100644 --- a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/ContributorsFragment.kt +++ b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/ContributorsFragment.kt @@ -21,10 +21,11 @@ package com.drnoob.datamonitor.ui.fragments import android.content.Intent import android.os.Bundle -import com.drnoob.datamonitor.core.base.Preference import androidx.preference.PreferenceFragmentCompat import com.drnoob.datamonitor.R -import com.drnoob.datamonitor.core.Values.* +import com.drnoob.datamonitor.core.Values.APP_CONTRIBUTORS_FRAGMENT +import com.drnoob.datamonitor.core.Values.GENERAL_FRAGMENT_ID +import com.drnoob.datamonitor.core.base.Preference import com.drnoob.datamonitor.ui.activities.ContainerActivity import com.drnoob.datamonitor.ui.activities.WallOfThanksActivity diff --git a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/CustomSessionFragment.kt b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/CustomSessionFragment.kt new file mode 100644 index 00000000..b3a0a101 --- /dev/null +++ b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/CustomSessionFragment.kt @@ -0,0 +1,304 @@ +/* + * Copyright (C) 2021 Dr.NooB + * + * This file is a part of Data Monitor + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.drnoob.datamonitor.ui.fragments + +import android.annotation.SuppressLint +import android.app.Activity +import android.content.Intent +import android.os.Bundle +import android.util.Log +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.LinearLayout +import android.widget.TextView +import android.widget.TimePicker +import androidx.appcompat.app.AppCompatActivity +import androidx.constraintlayout.widget.ConstraintLayout +import androidx.fragment.app.Fragment +import androidx.preference.PreferenceManager +import com.drnoob.datamonitor.Common +import com.drnoob.datamonitor.R +import com.drnoob.datamonitor.databinding.FragmentCustomSessionBinding +import com.drnoob.datamonitor.utils.VibrationUtils +import com.google.android.material.bottomsheet.BottomSheetBehavior +import com.google.android.material.bottomsheet.BottomSheetDialog +import com.google.android.material.datepicker.MaterialDatePicker +import com.google.android.material.elevation.SurfaceColors +import com.google.android.material.snackbar.Snackbar +import java.text.DateFormat +import java.text.SimpleDateFormat +import java.util.Calendar +import java.util.Date +import java.util.TimeZone + +class CustomSessionFragment: Fragment() { + companion object { + private val TAG = CustomSessionFragment::class.simpleName + + private const val TYPE_START = 1 + private const val TYPE_END = 2 + } + + private lateinit var binding: FragmentCustomSessionBinding + + private var filterDate: String? = AppDataUsageFragment.customFilterDate.value ?: null + + private var startDateMillis = AppDataUsageFragment.customFilterDateMillis.value?.first ?: 0L + private var endDateMillis = AppDataUsageFragment.customFilterDateMillis.value?.second ?: 0L + + private var startHour = AppDataUsageFragment.customFilterTime.value?.get("startHour") ?: 0 + private var startMinute = AppDataUsageFragment.customFilterTime.value?.get("startMinute") ?: 0 + private var endHour = AppDataUsageFragment.customFilterTime.value?.get("endHour") ?: 23 + private var endMinute = AppDataUsageFragment.customFilterTime.value?.get("endMinute") ?: 59 + + private var is12HourView = false + + private var isTimeSet = false + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentCustomSessionBinding.inflate(inflater, container, false) + return binding.root + } + + @SuppressLint("SimpleDateFormat") + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + val baseActivity = (activity as AppCompatActivity) + baseActivity.setSupportActionBar(binding.containerToolbar) + baseActivity.supportActionBar?.title = context?.getString(R.string.add_custom_session) + baseActivity.supportActionBar?.setDisplayHomeAsUpEnabled(true) + binding.containerToolbar.setBackgroundColor(SurfaceColors.SURFACE_2.getColor(requireContext())) + + val date = Date() + val time = DateFormat.getTimeInstance(DateFormat.SHORT).format(date.time).lowercase() + is12HourView = time.contains("am") || time.contains("pm") || + time.contains("a.m") || time.contains("p.m") + + updateTime() + + if (AppDataUsageFragment.shouldShowTime) { + binding.addTime.visibility = View.GONE + binding.timeSelectionView.visibility = View.VISIBLE + } + + if (!filterDate.isNullOrEmpty()) { + binding.selectedDate.text = filterDate + binding.selectedDate.visibility = View.VISIBLE + } + + + binding.toolbarReset.setOnClickListener { + isTimeSet = false + AppDataUsageFragment.shouldShowTime = false + filterDate = null + + startHour = 0 + startMinute = 0 + endHour = 23 + endMinute = 59 + + binding.selectedDate.visibility = View.GONE + binding.timeSelectionView.visibility = View.GONE + binding.addTime.visibility = View.VISIBLE + + startDateMillis = 0 + endDateMillis = 0 + + AppDataUsageFragment.customFilter.postValue(null) + AppDataUsageFragment.customFilterDateMillis.postValue(null) + AppDataUsageFragment.customFilterTime.postValue(null) + AppDataUsageFragment.customFilterDate.postValue(null) + + updateTime() + } + + binding.dateSelectionView.setOnClickListener { + val datePicker = MaterialDatePicker.Builder.dateRangePicker().build() + + datePicker.addOnPositiveButtonClickListener { pair -> + startDateMillis = Common.UTCToLocal(pair.first) + endDateMillis = Common.UTCToLocal(pair.second) + val dateFormat = SimpleDateFormat("dd/MM/yyyy") + dateFormat.timeZone = TimeZone.getDefault() + val startDate = dateFormat.format(Date(startDateMillis)) + val endDate = dateFormat.format(Date(endDateMillis)) + + filterDate = if (pair.first == pair.second) { + startDate + } + else { + "$startDate - $endDate" + } + binding.selectedDate.text = filterDate + binding.selectedDate.visibility = View.VISIBLE + } + + datePicker.show(childFragmentManager, datePicker.tag) + } + + binding.addTime.setOnClickListener { + binding.addTime.visibility = View.GONE + binding.timeSelectionView.visibility = View.VISIBLE + } + + binding.startTimeSelectionView.setOnClickListener { + showTimePicker(TYPE_START) + } + + binding.endTimeSelectionView.setOnClickListener { + showTimePicker(TYPE_END) + } + + binding.applyFilter.setOnClickListener { + val data = Intent() + + val calendar = Calendar.getInstance() + + calendar.timeInMillis = startDateMillis + calendar.set(Calendar.HOUR_OF_DAY, startHour) + calendar.set(Calendar.MINUTE, startMinute) + val startTimeMillis = calendar.timeInMillis + + calendar.timeInMillis = endDateMillis + calendar.set(Calendar.HOUR_OF_DAY, endHour) + calendar.set(Calendar.MINUTE, endMinute) + val endTimeMillis = calendar.timeInMillis + + if (startDateMillis == 0L || + startTimeMillis < 0 || + endTimeMillis < 0 || + startTimeMillis > endTimeMillis) { + Snackbar.make(binding.root, getString(R.string.error_invalid_session), Snackbar.LENGTH_SHORT) + .setAnchorView(R.id.apply_filter).show() + return@setOnClickListener + } + + data.putExtra("start", startTimeMillis) + data.putExtra("end", endTimeMillis) + data.putExtra("date", filterDate) + + AppDataUsageFragment.customFilterTime.postValue(mapOf( + Pair("startHour", startHour), + Pair("startMinute", startMinute), + Pair("endHour", endHour), + Pair("endMinute", endMinute) + )) + + AppDataUsageFragment.customFilterDateMillis.postValue(androidx.core.util.Pair(startDateMillis, endDateMillis)) + + AppDataUsageFragment.shouldShowTime = isTimeSet + + activity?.setResult(Activity.RESULT_OK, data) + activity?.finish() + } + + } + + private fun updateTime() { + val startTime: String = requireContext().getString( + R.string.label_custom_start_time, + DataPlanFragment.getTime(startHour, startMinute, is12HourView) + ) + val endTime: String = requireContext().getString( + R.string.label_custom_end_time, + DataPlanFragment.getTime(endHour, endMinute, is12HourView) + ) + + binding.selectStartTime.text = Common.setBoldSpan( + startTime, + DataPlanFragment.getTime(startHour, startMinute, is12HourView) + ) + binding.selectEndTime.text = Common.setBoldSpan( + endTime, + DataPlanFragment.getTime(endHour, endMinute, is12HourView) + ) + } + + private fun showTimePicker(type: Int) { + val dialog = BottomSheetDialog(requireContext(), R.style.BottomSheet) + val dialogView = LayoutInflater.from(context).inflate(R.layout.layout_time_picker, null) + val title = dialogView.findViewById(R.id.title) + val timePicker = dialogView.findViewById(R.id.reset_time_picker) + val footer = dialogView.findViewById(R.id.footer) + val cancel = footer.findViewById(R.id.cancel) + val ok = footer.findViewById(R.id.ok) + + ((timePicker.getChildAt(0) as LinearLayout).getChildAt(0) as LinearLayout) + .getChildAt(0).isVerticalScrollBarEnabled = false + ((timePicker.getChildAt(0) as LinearLayout).getChildAt(0) as LinearLayout) + .getChildAt(2).isVerticalScrollBarEnabled = false + + timePicker.setIs24HourView(!is12HourView) + + if (type == TYPE_START) { + title.text = getString(R.string.label_select_start_time) + timePicker.hour = startHour + timePicker.minute = startMinute + } + else { + title.text = getString(R.string.label_select_end_time) + timePicker.hour = endHour + timePicker.minute = endMinute + } + + timePicker.setOnTimeChangedListener { _, _, _ -> + if (!PreferenceManager.getDefaultSharedPreferences(requireContext()) + .getBoolean("disable_haptics", false)) { + VibrationUtils.hapticMinor(context) + } + } + + cancel.setOnClickListener { dialog.dismiss() } + + ok.setOnClickListener { + val timeText: String + val time: String = DataPlanFragment.getTime(timePicker.hour, timePicker.minute, is12HourView) + + if (type == TYPE_START) { + timeText = requireContext().getString(R.string.label_custom_start_time, time) + binding.selectStartTime.text = Common.setBoldSpan(timeText, time) + startHour = timePicker.hour + startMinute = timePicker.minute + } + else { + timeText = requireContext().getString(R.string.label_custom_end_time, time) + binding.selectEndTime.text = Common.setBoldSpan(timeText, time) + endHour = timePicker.hour + endMinute = timePicker.minute + } + + isTimeSet = true + + dialog.dismiss() + } + dialog.setContentView(dialogView) + + dialog.setOnShowListener { + dialog.behavior.state = BottomSheetBehavior.STATE_EXPANDED + } + + dialog.show() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/DataPlanFragment.java b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/DataPlanFragment.java index f9dca126..95fec631 100644 --- a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/DataPlanFragment.java +++ b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/DataPlanFragment.java @@ -573,7 +573,7 @@ public void onShow(DialogInterface dialogInterface) { dialog.show(); } - private String getTime(int hour, int minute, boolean is12HourView) { + public static String getTime(int hour, int minute, boolean is12HourView) { String time; int hourOfDay; if (!is12HourView) { diff --git a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/HomeFragment.java b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/HomeFragment.java index 4f3feacd..4ae5e077 100644 --- a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/HomeFragment.java +++ b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/HomeFragment.java @@ -20,23 +20,27 @@ package com.drnoob.datamonitor.ui.fragments; import static com.drnoob.datamonitor.Common.dismissOnClick; +import static com.drnoob.datamonitor.Common.formatOrdinalNumber; +import static com.drnoob.datamonitor.Common.getCurrentLocale; import static com.drnoob.datamonitor.Common.setDataPlanNotification; import static com.drnoob.datamonitor.Common.setRefreshAlarm; import static com.drnoob.datamonitor.core.Values.DAILY_DATA_HOME_ACTION; import static com.drnoob.datamonitor.core.Values.DATA_LIMIT; import static com.drnoob.datamonitor.core.Values.DATA_PLAN_FRAGMENT; +import static com.drnoob.datamonitor.core.Values.DATA_QUOTA; +import static com.drnoob.datamonitor.core.Values.DATA_QUOTA_PERFORMED_RESET; +import static com.drnoob.datamonitor.core.Values.DATA_QUOTA_SCHEDULED_RESET; import static com.drnoob.datamonitor.core.Values.DATA_RESET; import static com.drnoob.datamonitor.core.Values.DATA_RESET_CUSTOM; import static com.drnoob.datamonitor.core.Values.DATA_RESET_CUSTOM_DATE_END; +import static com.drnoob.datamonitor.core.Values.DATA_RESET_CUSTOM_DATE_END_HOUR; +import static com.drnoob.datamonitor.core.Values.DATA_RESET_CUSTOM_DATE_END_MIN; import static com.drnoob.datamonitor.core.Values.DATA_RESET_DAILY; import static com.drnoob.datamonitor.core.Values.DATA_RESET_DATE; import static com.drnoob.datamonitor.core.Values.DATA_RESET_MONTHLY; import static com.drnoob.datamonitor.core.Values.DATA_USAGE_SESSION; import static com.drnoob.datamonitor.core.Values.DATA_USAGE_TODAY; import static com.drnoob.datamonitor.core.Values.DATA_USAGE_TYPE; -import static com.drnoob.datamonitor.core.Values.DATA_USAGE_WEEKDAY; -import static com.drnoob.datamonitor.core.Values.EXTRA_IS_WEEK_DAY_VIEW; -import static com.drnoob.datamonitor.core.Values.EXTRA_WEEK_DAY; import static com.drnoob.datamonitor.core.Values.GENERAL_FRAGMENT_ID; import static com.drnoob.datamonitor.core.Values.SESSION_CUSTOM; import static com.drnoob.datamonitor.core.Values.SESSION_MONTHLY; @@ -52,11 +56,13 @@ import android.animation.Animator; import android.animation.AnimatorListenerAdapter; +import android.annotation.SuppressLint; import android.app.Activity; import android.appwidget.AppWidgetManager; import android.content.ComponentName; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.os.AsyncTask; import android.os.Bundle; import android.os.RemoteException; @@ -79,12 +85,16 @@ import androidx.constraintlayout.widget.ConstraintLayout; import androidx.fragment.app.Fragment; import androidx.preference.PreferenceManager; +import androidx.work.ExistingWorkPolicy; +import androidx.work.OneTimeWorkRequest; +import androidx.work.WorkManager; import com.drnoob.datamonitor.R; import com.drnoob.datamonitor.Widget.DataUsageWidget; import com.drnoob.datamonitor.adapters.data.OverviewModel; import com.drnoob.datamonitor.ui.activities.ContainerActivity; import com.drnoob.datamonitor.utils.NotificationService; +import com.drnoob.datamonitor.utils.SmartDataAllocationService; import com.drnoob.datamonitor.utils.VibrationUtils; import com.google.android.material.button.MaterialButton; import com.google.android.material.snackbar.Snackbar; @@ -97,7 +107,6 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.List; -import java.util.Objects; public class HomeFragment extends Fragment implements View.OnLongClickListener { @@ -129,9 +138,10 @@ public class HomeFragment extends Fragment implements View.OnLongClickListener { private TextView mDataRemaining; private Long planStartDateMillis, planEndDateMillis; private ActivityResultLauncher dataPlanLauncher; - private boolean shouldShowDetailsView; private ConstraintLayout mPlanDetailsView; - private TextView mPlanDetailsTitle, mPlanUsage, mPlanValidity; + private TextView mPlanDetailsTitle, mPlanUsage, mPlanValidity, mDailyQuota; + + private SharedPreferences preferences; public HomeFragment() { // Required empty public constructor @@ -161,8 +171,7 @@ public void onActivityResult(ActivityResult result) { if (PreferenceManager.getDefaultSharedPreferences(requireContext()) .getBoolean("auto_update_data_plan", false)) { setRefreshAlarm(requireContext()); - } - else { + } else { setDataPlanNotification(requireContext()); } } @@ -186,6 +195,8 @@ public void onActivityResult(ActivityResult result) { } } ); + + preferences = PreferenceManager.getDefaultSharedPreferences(requireContext()); } @Override @@ -217,6 +228,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, mPlanDetailsTitle = view.findViewById(R.id.plan_details_title); mPlanUsage = view.findViewById(R.id.plan_usage_details); mPlanValidity = view.findViewById(R.id.plan_validity_details); + mDailyQuota = view.findViewById(R.id.daily_quota); mOverview = view.findViewById(R.id.overview); mOverviewLoading = view.findViewById(R.id.overview_loading); @@ -258,18 +270,16 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, updateData(); updateDataBalance(); refreshOverview(); + checkDataQuota(); mMobileDataUsage.setSelected(true); mWifiDataUsage.setSelected(true); - boolean showPlanBanner = PreferenceManager.getDefaultSharedPreferences(getContext()) - .getBoolean(SHOW_ADD_PLAN_BANNER, true); + boolean showPlanBanner = preferences.getBoolean(SHOW_ADD_PLAN_BANNER, true); - if (PreferenceManager.getDefaultSharedPreferences(getContext()) - .getFloat(DATA_LIMIT, -1) > 0 || !showPlanBanner) { + if (preferences.getFloat(DATA_LIMIT, -1) > 0 || !showPlanBanner) { mSetupDataPlan.setVisibility(View.GONE); - } - else { + } else { mSetupDataPlan.setVisibility(View.VISIBLE); } @@ -312,43 +322,43 @@ public void onClick(View v) { @Override public void onClick(View view) { mSetupDataPlan.animate() - .alpha(0f) - .setDuration(200) - .scaleY(0.8f) - .scaleX(0.8f) - .setListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationStart(Animator animation) { - super.onAnimationStart(animation); - float total = mSetupDataPlan.getHeight() + 28; // just to adjust a bit of distance issue - mGraphView.animate() - .translationY((total * -1)) - .setDuration(300) - .setStartDelay(80) - .setListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - super.onAnimationEnd(animation); - + .alpha(0f) + .setDuration(200) + .scaleY(0.8f) + .scaleX(0.8f) + .setListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationStart(Animator animation) { + super.onAnimationStart(animation); + float total = mSetupDataPlan.getHeight() + 28; // just to adjust a bit of distance issue mGraphView.animate() - .translationY(0) - .setDuration(0) - .setListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationStart(Animator animation) { - super.onAnimationStart(animation); - mSetupDataPlan.setVisibility(View.GONE); - } - }) - .start(); - } - }) - .start(); - } - }) - .start(); + .translationY((total * -1)) + .setDuration(300) + .setStartDelay(80) + .setListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + super.onAnimationEnd(animation); + + mGraphView.animate() + .translationY(0) + .setDuration(0) + .setListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationStart(Animator animation) { + super.onAnimationStart(animation); + mSetupDataPlan.setVisibility(View.GONE); + } + }) + .start(); + } + }) + .start(); + } + }) + .start(); - PreferenceManager.getDefaultSharedPreferences(getContext()).edit() + preferences.edit() .putBoolean(SHOW_ADD_PLAN_BANNER, false) .apply(); } @@ -386,57 +396,85 @@ public void onClick(View v) { private void updateDataBalance() { Long[] mobileData = null; - int date = PreferenceManager.getDefaultSharedPreferences(getContext()).getInt(DATA_RESET_DATE, 1); - String planType = requireContext().getString(R.string.label_unknown), - planDetailsTitle; + int date = preferences.getInt(DATA_RESET_DATE, 1); + String planDetailsTitle = requireContext().getString(R.string.label_plan_details_title_unknown); + boolean isSmartAllocationEnabled = preferences.getBoolean("smart_data_allocation", false); try { - if (PreferenceManager.getDefaultSharedPreferences(getContext()).getString(DATA_RESET, "null") + if (preferences.getString(DATA_RESET, "null") .equals(DATA_RESET_MONTHLY)) { mobileData = getDeviceMobileDataUsage(getContext(), SESSION_MONTHLY, date); - planType = requireContext().getString(R.string.monthly); - } - else if (PreferenceManager.getDefaultSharedPreferences(getContext()).getString(DATA_RESET, "null") + planDetailsTitle = requireContext().getString(R.string.label_plan_details_title_monthly); + } else if (preferences.getString(DATA_RESET, "null") .equals(DATA_RESET_DAILY)) { mobileData = getDeviceMobileDataUsage(getContext(), SESSION_TODAY, 1); - planType = requireContext().getString(R.string.daily); - } - else { + planDetailsTitle = requireContext().getString(R.string.label_plan_details_title_daily); + } else { mobileData = getDeviceMobileDataUsage(getContext(), SESSION_CUSTOM, -1); - planType = requireContext().getString(R.string.custom); + planDetailsTitle = requireContext().getString(R.string.label_plan_details_title_custom); } - } - catch (ParseException | RemoteException e) { + } catch (ParseException | RemoteException e) { e.printStackTrace(); } - Float dataLimit = PreferenceManager.getDefaultSharedPreferences(getContext()).getFloat(DATA_LIMIT, -1); + Float dataLimit = preferences.getFloat(DATA_LIMIT, -1); if (dataLimit > 0) { - if (PreferenceManager.getDefaultSharedPreferences(getContext()).getString(DATA_RESET, null) + if (preferences.getString(DATA_RESET, null) .equals(DATA_RESET_DAILY)) { - shouldShowDetailsView = false; +// Long total = (mobileData[2]); +// Long limit = dataLimit.longValue() * 1048576; +// Long remaining; +// String remainingData; +// if (limit > total) { +// remaining= limit - total; +// remainingData = formatData(remaining / 2, remaining / 2)[2]; +// mDataRemaining.setText(getContext().getString(R.string.label_data_remaining, remainingData)); +// } +// else { +// remaining= total - limit; +// remainingData = formatData(remaining / 2, remaining / 2)[2]; +// mDataRemaining.setText(getContext().getString(R.string.label_data_remaining_used_excess, remainingData)); +// } + Long total = (mobileData[2]); Long limit = dataLimit.longValue() * 1048576; Long remaining; String remainingData; + mPlanValidity.setVisibility(View.GONE); + + if (isSmartAllocationEnabled) { + Float quota = preferences.getFloat(DATA_QUOTA, 0F); + String dailyQuota = formatData(0L, (quota.longValue() * 1024 * 1024))[2]; + mDailyQuota.setText(getString(R.string.label_daily_quota, dailyQuota)); + mDailyQuota.setVisibility(View.VISIBLE); + } else { + mDailyQuota.setVisibility(View.GONE); + } + if (limit > total) { - remaining= limit - total; + remaining = limit - total; remainingData = formatData(remaining / 2, remaining / 2)[2]; - mDataRemaining.setText(getContext().getString(R.string.label_data_remaining, remainingData)); - } - else { - remaining= total - limit; + mPlanUsage.setText(getContext().getString(R.string.label_data_remaining, remainingData)); + } else { + remaining = total - limit; remainingData = formatData(remaining / 2, remaining / 2)[2]; - mDataRemaining.setText(getContext().getString(R.string.label_data_remaining_used_excess, remainingData)); + mPlanUsage.setText(getContext().getString(R.string.label_data_remaining_used_excess, remainingData)); } - } - else if (PreferenceManager.getDefaultSharedPreferences(getContext()).getString(DATA_RESET, null) + + } else if (preferences.getString(DATA_RESET, null) .equals(DATA_RESET_MONTHLY)) { - shouldShowDetailsView = true; String validity = getPlanValidity(SESSION_MONTHLY); mPlanValidity.setText(validity); + if (isSmartAllocationEnabled) { + Float quota = preferences.getFloat(DATA_QUOTA, 0F); + String dailyQuota = formatData(0L, (quota.longValue() * 1024 * 1024))[2]; + mDailyQuota.setText(getString(R.string.label_daily_quota, dailyQuota)); + mDailyQuota.setVisibility(View.VISIBLE); + } else { + mDailyQuota.setVisibility(View.GONE); + } // Long total = getDeviceMobileDataUsage(getContext(), SESSION_MONTHLY, date)[2]; Long total = mobileData[2]; Long limit = dataLimit.longValue() * 1048576; @@ -444,13 +482,12 @@ else if (PreferenceManager.getDefaultSharedPreferences(getContext()).getString(D String remainingData; String used = formatData(0l, total)[2]; if (limit > total) { - remaining= limit - total; + remaining = limit - total; remainingData = requireContext().getString(R.string.label_data_remaining, formatData(remaining / 2, remaining / 2)[2]); // mDataRemaining.setText(getContext().getString(R.string.label_data_remaining, remainingData)); - } - else { - remaining= total - limit; + } else { + remaining = total - limit; remainingData = requireContext().getString(R.string.label_data_remaining_used_excess, formatData(remaining / 2, remaining / 2)[2]); // mDataRemaining.setText(getContext().getString(R.string.label_data_remaining_used_excess, remainingData)); @@ -458,24 +495,29 @@ else if (PreferenceManager.getDefaultSharedPreferences(getContext()).getString(D String usageDetails = requireContext().getString(R.string.home_plan_usage_details, used, remainingData); mPlanUsage.setText(usageDetails); - } - else { - shouldShowDetailsView = true; + } else { String validity = getPlanValidity(SESSION_CUSTOM); mPlanValidity.setText(validity); + if (isSmartAllocationEnabled) { + Float quota = preferences.getFloat(DATA_QUOTA, 0F); + String dailyQuota = formatData(0L, (quota.longValue() * 1024 * 1024))[2]; + mDailyQuota.setText(getString(R.string.label_daily_quota, dailyQuota)); + mDailyQuota.setVisibility(View.VISIBLE); + } else { + mDailyQuota.setVisibility(View.GONE); + } Long total = (mobileData[2]); Long limit = dataLimit.longValue() * 1048576; Long remaining; String remainingData; String used = formatData(0l, total)[2]; if (limit > total) { - remaining= limit - total; + remaining = limit - total; remainingData = requireContext().getString(R.string.label_data_remaining, formatData(remaining / 2, remaining / 2)[2]); // mDataRemaining.setText(getContext().getString(R.string.label_data_remaining, remainingData)); - } - else { - remaining= total - limit; + } else { + remaining = total - limit; remainingData = requireContext().getString(R.string.label_data_remaining_used_excess, formatData(remaining / 2, remaining / 2)[2]); // mDataRemaining.setText(getContext().getString(R.string.label_data_remaining_used_excess, remainingData)); @@ -483,78 +525,84 @@ else if (PreferenceManager.getDefaultSharedPreferences(getContext()).getString(D String usageDetails = requireContext().getString(R.string.home_plan_usage_details, used, remainingData); mPlanUsage.setText(usageDetails); } - if (shouldShowDetailsView) { - mDataRemaining.setVisibility(View.GONE); - mPlanDetailsView.setVisibility(View.VISIBLE); - planDetailsTitle = requireContext().getString(R.string.label_plan_details_title, planType); - mPlanDetailsTitle.setText(planDetailsTitle); - } - else { - mDataRemaining.setVisibility(View.VISIBLE); - mPlanDetailsView.setVisibility(View.GONE); - } - } - else { + + mDataRemaining.setVisibility(View.GONE); + mPlanDetailsView.setVisibility(View.VISIBLE); + mPlanDetailsTitle.setText(planDetailsTitle); + } else { // No data plan is set. Hide mDataRemaining view. mDataRemaining.setVisibility(View.GONE); mPlanDetailsView.setVisibility(View.GONE); } } + /** + * Calculates the plan validity for Monthly/Custom data plans. + * + * @param session The plan session. One of SESSION_MONTHLY or SESSION_CUSTOM. + * + * @return Plan reset date and the number of days remaining as a formatted string. + */ + @SuppressLint("StringFormatMatches") private String getPlanValidity(int session) { String validity; Calendar calendar = Calendar.getInstance(); - String month, endDate, suffix, end; + String month, ordinal, end; + int endDate; + int daysRemaining; if (session == SESSION_MONTHLY) { - int planEnd = PreferenceManager.getDefaultSharedPreferences(getContext()) - .getInt(DATA_RESET_DATE, 1); + int planReset = preferences.getInt(DATA_RESET_DATE, 1); int daysInMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); - if (planEnd > daysInMonth) { - planEnd = daysInMonth; - } - int today = calendar.get(Calendar.DAY_OF_MONTH) + 1; - if (today >= planEnd) { + int currentReset = Math.min(planReset, daysInMonth); + int today = calendar.get(Calendar.DAY_OF_MONTH); + if (today >= currentReset) { calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) + 1); + daysRemaining = daysInMonth - today + planReset; + } + else { + daysRemaining = planReset - today; } - month = new SimpleDateFormat("MMMM").format(calendar.getTime()); - endDate = String.valueOf(planEnd); + month = new SimpleDateFormat("MMMM", getCurrentLocale(requireContext())).format(calendar.getTime()); + endDate = planReset; } else { + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + long planEndDateMillis; try { - planEndDateMillis = PreferenceManager.getDefaultSharedPreferences(requireContext()) - .getLong(DATA_RESET_CUSTOM_DATE_END, -1); + planEndDateMillis = preferences.getLong(DATA_RESET_CUSTOM_DATE_END, -1); } catch (ClassCastException e) { - int planEndIntValue = PreferenceManager.getDefaultSharedPreferences(requireContext()) - .getInt(DATA_RESET_CUSTOM_DATE_END, -1); + int planEndIntValue = preferences.getInt(DATA_RESET_CUSTOM_DATE_END, -1); planEndDateMillis = ((Number) planEndIntValue).longValue(); } + + int planEndHour = preferences.getInt(DATA_RESET_CUSTOM_DATE_END_HOUR, 0); + int planEndMin = preferences.getInt(DATA_RESET_CUSTOM_DATE_END_MIN, 0); + calendar.setTimeInMillis(planEndDateMillis); - month = new SimpleDateFormat("MMMM").format(calendar.getTime()); - endDate = new SimpleDateFormat("d").format(calendar.getTime()); - } - suffix = getDateSuffix(endDate); - end = endDate + suffix + " " + month; - validity = requireContext().getString(R.string.label_plan_validity, end); - return validity; - } + calendar.set(Calendar.HOUR, planEndHour); + calendar.set(Calendar.MINUTE, planEndMin); - private String getDateSuffix(String date) { - String suffix; - if (date.endsWith("1")) { - suffix = "st"; - } - else if (date.endsWith("2")) { - suffix = "nd"; - } - else if (date.endsWith("3")) { - suffix = "rd"; + month = new SimpleDateFormat("MMMM", getCurrentLocale(requireContext())).format(calendar.getTime()); + endDate = calendar.get(Calendar.DAY_OF_MONTH); + + long currentTimeMillis = System.currentTimeMillis(); + long endTimeMillis = calendar.getTimeInMillis(); + + long remainingMillis = endTimeMillis - currentTimeMillis; + daysRemaining = (int) Math.round((remainingMillis / (24 * 60 * 60 * 1000.0))); } - else { - suffix = "th"; + ordinal = formatOrdinalNumber(endDate, requireContext()); + end = ordinal + " " + month; + if (daysRemaining < 0) { + daysRemaining = 0; } - return suffix; + String remaining = requireContext().getString(R.string.label_days_remaining, Integer.toString(daysRemaining)); + validity = requireContext().getString(R.string.label_plan_validity, end, remaining); + return validity; } @Override @@ -602,9 +650,7 @@ private void updateData() { mWifiFataReceived.setText(wifiDataReceived); - } catch (ParseException e) { - e.printStackTrace(); - } catch (RemoteException e) { + } catch (ParseException | RemoteException e) { e.printStackTrace(); } } @@ -742,8 +788,7 @@ private static void refreshOverview() { break; } } - } - else { + } else { UpdateOverview updateOverview = new UpdateOverview(MODE_LOAD_OVERVIEW); updateOverview.execute(); } @@ -768,8 +813,7 @@ public boolean onLongClick(View view) { true); popupWindow.setAnimationStyle(R.style.PopupAnimation); - if (!PreferenceManager.getDefaultSharedPreferences(getContext()) - .getBoolean("disable_haptics", false)) { + if (!preferences.getBoolean("disable_haptics", false)) { VibrationUtils.hapticMajor(getContext()); } if (isOverviewAvailable()) { @@ -780,8 +824,7 @@ public boolean onLongClick(View view) { popupWindow.setElevation(100); view.setElevation(100); popupWindow.showAtLocation(getView(), Gravity.CENTER, 0, 0); - } - catch (NullPointerException e) { + } catch (NullPointerException e) { e.printStackTrace(); } } @@ -791,8 +834,7 @@ public boolean onTouch(View view, MotionEvent motionEvent) { if (isOpenQuickView()) { if (motionEvent.getAction() == MotionEvent.ACTION_UP || motionEvent.getAction() == MotionEvent.ACTION_CANCEL) { - if (!PreferenceManager.getDefaultSharedPreferences(getContext()) - .getBoolean("disable_haptics", false)) { + if (!preferences.getBoolean("disable_haptics", false)) { VibrationUtils.hapticMinor(getContext()); } popupWindow.dismiss(); @@ -856,11 +898,9 @@ private Float getTranslation(View view) { case R.id.view_mon: if (mMobileMon.getProgress() > 90 || mWifiMon.getProgress() > 90) { translation = 230; - } - else if (mMobileMon.getProgress() < 20 || mWifiMon.getProgress() > 20) { + } else if (mMobileMon.getProgress() < 20 || mWifiMon.getProgress() > 20) { translation = 230; - } - else { + } else { translation = 100; } break; @@ -868,8 +908,7 @@ else if (mMobileMon.getProgress() < 20 || mWifiMon.getProgress() > 20) { case R.id.view_tue: if (mMobileTue.getProgress() > 90 || mWifiTue.getProgress() > 90) { translation = 230; - } - else { + } else { translation = 100; } break; @@ -877,8 +916,7 @@ else if (mMobileMon.getProgress() < 20 || mWifiMon.getProgress() > 20) { case R.id.view_wed: if (mMobileWed.getProgress() > 90 || mWifiWed.getProgress() > 90) { translation = -230; - } - else { + } else { translation = 100; } break; @@ -886,8 +924,7 @@ else if (mMobileMon.getProgress() < 20 || mWifiMon.getProgress() > 20) { case R.id.view_thurs: if (mMobileThurs.getProgress() > 90 || mWifiThurs.getProgress() > 90) { translation = 230; - } - else { + } else { translation = 100; } break; @@ -895,8 +932,7 @@ else if (mMobileMon.getProgress() < 20 || mWifiMon.getProgress() > 20) { case R.id.view_fri: if (mMobileFri.getProgress() > 90 || mWifiFri.getProgress() > 90) { translation = 230; - } - else { + } else { translation = 100; } break; @@ -904,11 +940,9 @@ else if (mMobileMon.getProgress() < 20 || mWifiMon.getProgress() > 20) { case R.id.view_sat: if (mMobileSat.getProgress() > 90 || mWifiSat.getProgress() > 90) { translation = 230; - } - else if (mMobileSat.getProgress() < 20 || mWifiSat.getProgress() > 20) { + } else if (mMobileSat.getProgress() < 20 || mWifiSat.getProgress() > 20) { translation = -230; - } - else { + } else { translation = 100; } break; @@ -916,8 +950,7 @@ else if (mMobileSat.getProgress() < 20 || mWifiSat.getProgress() > 20) { case R.id.view_sun: if (mMobileSun.getProgress() > 90 || mWifiSun.getProgress() > 90) { translation = 230; - } - else { + } else { translation = 100; } break; @@ -928,42 +961,6 @@ else if (mMobileSat.getProgress() < 20 || mWifiSat.getProgress() > 20) { return translation; } -// @Override -// public void onClick(View v) { -// Intent intent = new Intent(getContext(), ContainerActivity.class); -// intent.putExtra(GENERAL_FRAGMENT_ID, DATA_USAGE_WEEKDAY); -// intent.putExtra(EXTRA_WEEK_DAY, getWeekDay(v)); -// intent.putExtra(EXTRA_IS_WEEK_DAY_VIEW, true); -// startActivity(intent); -// } - -// private String getWeekDay(View vIew) { -// String day = ""; -// if (vIew.getId() == R.id.view_mon) { -// day = requireContext().getString(R.string.label_mon); -// } -// else if (vIew.getId() == R.id.view_tue) { -// day = requireContext().getString(R.string.label_tue); -// } -// else if (vIew.getId() == R.id.view_wed) { -// day = requireContext().getString(R.string.label_wed); -// } -// else if (vIew.getId() == R.id.view_thurs) { -// day = requireContext().getString(R.string.label_thurs); -// } -// else if (vIew.getId() == R.id.view_fri) { -// day = requireContext().getString(R.string.label_fri); -// } -// else if (vIew.getId() == R.id.view_sat) { -// day = requireContext().getString(R.string.label_sat); -// } -// else if (vIew.getId() == R.id.view_sun) { -// day = requireContext().getString(R.string.label_sun); -// } -// -// return day; -// } - private static class UpdateOverview extends AsyncTask> { private int mode; @@ -978,8 +975,7 @@ protected void onPreExecute() { if (mode == MODE_LOAD_OVERVIEW) { mOverview.animate().alpha(0.0f); mOverviewLoading.setAlpha(1.0f); - } - else if (mode == MODE_REFRESH_OVERVIEW) { + } else if (mode == MODE_REFRESH_OVERVIEW) { mOverviewLoading.setAlpha(0.0f); mOverview.setAlpha(1.0f); } @@ -1051,4 +1047,30 @@ protected void onPostExecute(List list) { refreshOverview(); } } + + private void checkDataQuota() { + if (preferences.getBoolean("smart_data_allocation", false)) { + long scheduledTime = preferences.getLong(DATA_QUOTA_SCHEDULED_RESET, 0); + long performedTime = preferences.getLong(DATA_QUOTA_PERFORMED_RESET, 0); + + if (scheduledTime > 0 && + scheduledTime < System.currentTimeMillis() && + performedTime < scheduledTime) { + Log.d(TAG, "checkDataQuota: Performing a quota reset"); + + WorkManager workManager = WorkManager.getInstance(requireContext()); + workManager.cancelUniqueWork("smart_data_allocation"); + workManager.cancelUniqueWork("data_rollover"); + OneTimeWorkRequest smartDataAllocationWorkRequest = new OneTimeWorkRequest + .Builder(SmartDataAllocationService.class) + .build(); + + workManager.enqueueUniqueWork( + "smart_data_allocation", + ExistingWorkPolicy.KEEP, + smartDataAllocationWorkRequest + ); + } + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/NetworkDiagnosticsFragment.java b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/NetworkDiagnosticsFragment.java index f1500679..a55900e4 100644 --- a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/NetworkDiagnosticsFragment.java +++ b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/NetworkDiagnosticsFragment.java @@ -224,7 +224,7 @@ public void onClick(View view) { rippleView.setVisibility(View.INVISIBLE); // currentConnectionType.setVisibility(View.GONE); - String ipLookupUrl = context.getString(R.string.api_ip_lookup); + String ipLookupUrl = requireContext().getString(R.string.api_ip_lookup); Volley.newRequestQueue(requireContext()).add( new StringRequest( Request.Method.GET, @@ -232,46 +232,48 @@ public void onClick(View view) { new Response.Listener() { @Override public void onResponse(String response) { - String ip = "", - city = "", - region = "", - org = ""; - try { - JSONObject result = new JSONObject(response); - ip = result.getString("ip"); - city = result.getString("city"); - region = result.getString("region"); - org = result.getString("org"); + if (getContext() != null) { + String ip = "", + city = "", + region = "", + org = ""; + try { + JSONObject result = new JSONObject(response); + ip = result.getString("ip"); + city = result.getString("city"); + region = result.getString("region"); + org = result.getString("org"); - } - catch (Exception e) { - e.printStackTrace(); - } - mIpResponse = new IPResponse( - ip, requireContext().getString(R.string.label_unknown), - false, - city, - region, - requireContext().getString(R.string.label_unknown), - requireContext().getString(R.string.label_unknown), - org, - requireContext().getString(R.string.label_unknown), - requireContext().getString(R.string.label_unknown), - null, null, null, null, null, null - ); - - if (getActivity() != null) { - if (speedTest.getStatus() == AsyncTask.Status.FINISHED) { - speedTest = new SpeedTest(requireActivity()); } - speedTest.execute(); + catch (Exception e) { + e.printStackTrace(); + } + mIpResponse = new IPResponse( + ip, requireContext().getString(R.string.label_unknown), + false, + city, + region, + requireContext().getString(R.string.label_unknown), + requireContext().getString(R.string.label_unknown), + org, + requireContext().getString(R.string.label_unknown), + requireContext().getString(R.string.label_unknown), + null, null, null, null, null, null + ); + + if (getActivity() != null) { + if (speedTest.getStatus() == AsyncTask.Status.FINISHED) { + speedTest = new SpeedTest(requireActivity()); + } + speedTest.execute(); + } } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { - String errorMessage = context.getString(R.string.error_unknown); + String errorMessage = requireContext().getString(R.string.error_unknown); try { errorMessage = new String(error.networkResponse.data, StandardCharsets.UTF_8); runDiagnostics.setClickable(true); diff --git a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/SettingsFragment.java b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/SettingsFragment.java index 5f19a530..a7a76ab4 100644 --- a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/SettingsFragment.java +++ b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/SettingsFragment.java @@ -27,7 +27,6 @@ import static com.drnoob.datamonitor.core.Values.DIAGNOSTICS_SETTINGS_FRAGMENT; import static com.drnoob.datamonitor.core.Values.DONATE_FRAGMENT; import static com.drnoob.datamonitor.core.Values.GENERAL_FRAGMENT_ID; -import static com.drnoob.datamonitor.core.Values.LICENSE_FRAGMENT; import android.content.Intent; import android.os.Bundle; diff --git a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/SetupFragment.java b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/SetupFragment.java index 4a296d34..d9fb3a23 100644 --- a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/SetupFragment.java +++ b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/SetupFragment.java @@ -21,6 +21,8 @@ import static com.drnoob.datamonitor.Common.cancelDataPlanNotification; import static com.drnoob.datamonitor.Common.dismissOnClick; +import static com.drnoob.datamonitor.Common.formatOrdinalNumber; +import static com.drnoob.datamonitor.Common.postNotification; import static com.drnoob.datamonitor.Common.setDataPlanNotification; import static com.drnoob.datamonitor.Common.setRefreshAlarm; import static com.drnoob.datamonitor.Common.showAlarmPermissionDeniedDialog; @@ -56,6 +58,7 @@ import android.app.Activity; import android.app.AlarmManager; +import android.app.Fragment; import android.app.PendingIntent; import android.appwidget.AppWidgetManager; import android.content.ComponentName; @@ -83,10 +86,13 @@ import androidx.constraintlayout.widget.ConstraintLayout; import androidx.core.app.NotificationCompat; import androidx.core.app.NotificationManagerCompat; -import androidx.fragment.app.Fragment; import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceManager; +import androidx.work.ExistingWorkPolicy; +import androidx.work.OneTimeWorkRequest; +import androidx.work.WorkManager; +import com.drnoob.datamonitor.Common; import com.drnoob.datamonitor.R; import com.drnoob.datamonitor.Widget.DataUsageWidget; import com.drnoob.datamonitor.core.Values; @@ -96,10 +102,12 @@ import com.drnoob.datamonitor.ui.activities.ContainerActivity; import com.drnoob.datamonitor.ui.activities.MainActivity; import com.drnoob.datamonitor.utils.CompoundNotification; +import com.drnoob.datamonitor.utils.DailyQuotaAlertReceiver; import com.drnoob.datamonitor.utils.DataUsageMonitor; import com.drnoob.datamonitor.utils.LiveNetworkMonitor; import com.drnoob.datamonitor.utils.NotificationService; import com.drnoob.datamonitor.utils.NotificationService.NotificationUpdater; +import com.drnoob.datamonitor.utils.SmartDataAllocationService; import com.drnoob.datamonitor.utils.VibrationUtils; import com.google.android.material.bottomsheet.BottomSheetBehavior; import com.google.android.material.bottomsheet.BottomSheetDialog; @@ -110,8 +118,10 @@ import org.jetbrains.annotations.NotNull; import java.text.ParseException; +import java.util.Calendar; public class SetupFragment extends Fragment { + private static final String TAG = SetupFragment.class.getSimpleName(); private static Context mContext; public SetupFragment() { @@ -120,6 +130,7 @@ public SetupFragment() { public static class SetupPreference extends PreferenceFragmentCompat { private static final String TAG = SetupPreference.class.getSimpleName(); + private final int CALENDAR_YEAR = 2000; private Preference mSetupWidget, mWidgetRefreshInterval, mNotificationRefreshInterval, mAddDataPlan, mUsageResetTime, mWidgetRefresh, mDataWarningTrigger, mAppDataLimit, @@ -127,7 +138,7 @@ public static class SetupPreference extends PreferenceFragmentCompat { private SwitchPreferenceCompat mSetupNotification, mRemainingDataInfo, mShowWifiWidget, mShowMobileData, mShowWifi, mShowDataWarning, mNetworkSignalNotification, mAutoHideNetworkSpeed, mCombineNotifications, mLockscreenNotifications, mAlwaysShowTotal, - mAutoUpdateDataPlan; + mAutoUpdateDataPlan, mSmartDataAllocation, mDailyQuotaAlert; private Snackbar snackbar; private Long planStartDateMillis, planEndDateMillis; private Intent liveNetworkMonitorIntent; @@ -157,6 +168,8 @@ public void onActivityResult(ActivityResult result) { .setAnchorView(getActivity().findViewById(R.id.bottomNavigationView)); updateResetData(); refreshDataPlanSettingsVisibility(); + refreshQuotaAlertVisibility(); + updateDailyQuota(); if (PreferenceManager.getDefaultSharedPreferences(requireContext()) .getString(DATA_RESET, "null").equals(DATA_RESET_CUSTOM)) { if (PreferenceManager.getDefaultSharedPreferences(requireContext()) @@ -215,6 +228,8 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { mLockscreenNotifications = (SwitchPreferenceCompat) findPreference("lockscreen_notification"); mAlwaysShowTotal = (SwitchPreferenceCompat) findPreference("always_show_total"); mAutoUpdateDataPlan = (SwitchPreferenceCompat) findPreference("auto_update_data_plan"); + mSmartDataAllocation = (SwitchPreferenceCompat) findPreference("smart_data_allocation"); + mDailyQuotaAlert = (SwitchPreferenceCompat) findPreference("daily_quota_alert"); liveNetworkMonitorIntent = new Intent(getContext(), LiveNetworkMonitor.class); @@ -278,6 +293,7 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { updateResetData(); refreshDataPlanSettingsVisibility(); + refreshQuotaAlertVisibility(); mCombinedNotificationIcon.setVisible(PreferenceManager.getDefaultSharedPreferences(getContext()) .getBoolean("combine_notifications", false)); @@ -936,7 +952,8 @@ public boolean onPreferenceClick(androidx.preference.Preference preference) { builder.setContentIntent(activityPendingIntent); builder.setAutoCancel(false); builder.setGroup(NETWORK_SIGNAL_NOTIFICATION_GROUP); - managerCompat.notify(NETWORK_SIGNAL_NOTIFICATION_ID, builder.build()); +// managerCompat.notify(NETWORK_SIGNAL_NOTIFICATION_ID, builder.build()); + postNotification(getContext(), managerCompat, builder, NETWORK_SIGNAL_NOTIFICATION_ID); } } else { @@ -1084,6 +1101,8 @@ public boolean onPreferenceClick(androidx.preference.Preference preference) { View dialogView = LayoutInflater.from(getContext()).inflate(R.layout.layout_date_picker, null); DatePicker datePicker = (DatePicker) dialogView.findViewById(R.id.reset_date_picker); + Calendar calendar = Calendar.getInstance(); + datePicker.init(CALENDAR_YEAR, 0, 1, null); ConstraintLayout footer = dialogView.findViewById(R.id.footer); TextView cancel = footer.findViewById(R.id.cancel); TextView ok = footer.findViewById(R.id.ok); @@ -1105,6 +1124,7 @@ public void onDateChanged(android.widget.DatePicker datePicker, int i, int i1, i .getBoolean("disable_haptics", false)) { VibrationUtils.hapticMinor(getContext()); } + datePicker.updateDate(CALENDAR_YEAR, 0, datePicker.getDayOfMonth()); } }); @@ -1145,24 +1165,11 @@ public void onClick(View view) { intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids); getContext().sendBroadcast(intent); - String date = String.valueOf(datePicker.getDayOfMonth()); - String suffix; - - if (date.endsWith("1")) { - suffix = "st"; - } - else if (date.endsWith("2")) { - suffix = "nd"; - } - else if (date.endsWith("3")) { - suffix = "rd"; - } - else { - suffix = "th"; - } + int date = datePicker.getDayOfMonth(); + String ordinal = formatOrdinalNumber(date, requireContext()); mUsageResetTime.setSummary(getContext().getString(R.string.label_reset_every_month, - date, suffix)); + ordinal)); dialog.dismiss(); @@ -1172,12 +1179,12 @@ else if (date.endsWith("3")) { } snackbar = Snackbar.make(getActivity().findViewById(R.id.main_root), - getString(R.string.label_data_usage_reset_date_change, datePicker.getDayOfMonth(), suffix), + getString(R.string.label_data_usage_reset_date_change, ordinal), Snackbar.LENGTH_SHORT) .setAnchorView(getActivity().findViewById(R.id.bottomNavigationView)); dismissOnClick(snackbar); snackbar.show(); - + updateDailyQuota(); } }); @@ -1313,6 +1320,7 @@ public void onClick(View view) { .setAnchorView(getActivity().findViewById(R.id.bottomNavigationView)); dismissOnClick(snackbar); snackbar.show(); + updateDailyQuota(); } }); @@ -1516,12 +1524,14 @@ else if (totalUsage.contains("٫")) { totalUsage = totalUsage.replace("٫", "."); } + totalUsage = Common.parseNumber(totalUsage); + if (PreferenceManager.getDefaultSharedPreferences(getContext()).getFloat(DATA_LIMIT, -1) * trigger / 100 > Double.parseDouble(totalUsage)) { resumeMonitor(); } } - catch (ParseException | RemoteException e) { + catch (Exception e) { e.printStackTrace(); } } @@ -1561,6 +1571,79 @@ public boolean onPreferenceClick(@NonNull androidx.preference.Preference prefere } }); + mSmartDataAllocation.setOnPreferenceClickListener(new androidx.preference.Preference.OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(@NonNull androidx.preference.Preference preference) { + boolean isChecked = PreferenceManager.getDefaultSharedPreferences(getContext()) + .getBoolean("smart_data_allocation", false); + Float dataLimit = PreferenceManager.getDefaultSharedPreferences(getContext()) + .getFloat(DATA_LIMIT, -1); + WorkManager workManager = WorkManager.getInstance(requireContext()); + if (dataLimit < 0) { + mSmartDataAllocation.setChecked(false); + snackbar = Snackbar.make(getActivity().findViewById(R.id.main_root), + getString(R.string.label_add_data_plan_first), Snackbar.LENGTH_SHORT) + .setAnchorView(getActivity().findViewById(R.id.bottomNavigationView)); + snackbar.show(); + } + else { + if (isChecked) { + OneTimeWorkRequest smartDataAllocationWorkRequest = new OneTimeWorkRequest + .Builder(SmartDataAllocationService.class) + .build(); + + workManager.enqueueUniqueWork( + "smart_data_allocation", + ExistingWorkPolicy.KEEP, + smartDataAllocationWorkRequest + ); + } + else { + workManager.cancelUniqueWork("smart_data_allocation"); + workManager.cancelUniqueWork("data_rollover"); + workManager.cancelUniqueWork("quota_reset"); + mDailyQuotaAlert.setChecked(false); + + } + refreshQuotaAlertVisibility(); + } + return false; + } + }); + + mDailyQuotaAlert.setOnPreferenceClickListener(new androidx.preference.Preference.OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(@NonNull androidx.preference.Preference preference) { + boolean isChecked = PreferenceManager.getDefaultSharedPreferences(getContext()) + .getBoolean("daily_quota_alert", false); + Float dataLimit = PreferenceManager.getDefaultSharedPreferences(getContext()) + .getFloat(DATA_LIMIT, -1); + if (dataLimit < 0) { + mDailyQuotaAlert.setChecked(false); + snackbar = Snackbar.make(getActivity().findViewById(R.id.main_root), + getString(R.string.label_add_data_plan_first), Snackbar.LENGTH_SHORT) + .setAnchorView(getActivity().findViewById(R.id.bottomNavigationView)); + snackbar.show(); + } + else { + Intent intent = new Intent(getContext(), DailyQuotaAlertReceiver.class); + PendingIntent pendingIntent = PendingIntent.getBroadcast(getContext(), 1000, intent, PendingIntent.FLAG_IMMUTABLE); + AlarmManager alarmManager = (AlarmManager) getContext().getSystemService(Context.ALARM_SERVICE); + if (isChecked) { + alarmManager.setExactAndAllowWhileIdle( + AlarmManager.RTC_WAKEUP, + System.currentTimeMillis(), + pendingIntent + ); + } + else { + alarmManager.cancel(pendingIntent); + } + } + return false; + } + }); + } @Override @@ -1584,6 +1667,24 @@ private void refreshDataPlanSettingsVisibility() { } } + private void refreshQuotaAlertVisibility() { + if (PreferenceManager.getDefaultSharedPreferences(requireContext()) + .getString(DATA_RESET, "null").equals(DATA_RESET_MONTHLY) || + PreferenceManager.getDefaultSharedPreferences(requireContext()) + .getString(DATA_RESET, "null").equals(DATA_RESET_CUSTOM)) { + if (PreferenceManager.getDefaultSharedPreferences(getContext()) + .getBoolean("smart_data_allocation", false)) { + mDailyQuotaAlert.setVisible(true); + } + else { + mDailyQuotaAlert.setVisible(false); + } + } + else { + mDailyQuotaAlert.setVisible(false); + } + } + public static void pauseMonitor() { try { mContext.stopService(new Intent(mContext, DataUsageMonitor.class)); @@ -1602,25 +1703,11 @@ private void updateResetData() { if (PreferenceManager.getDefaultSharedPreferences(getContext()).getString(DATA_RESET, "null") .equals(DATA_RESET_MONTHLY)) { resetTitle = getContext().getString(R.string.setup_usage_reset_date); - String date = String.valueOf(PreferenceManager.getDefaultSharedPreferences(getContext()) - .getInt(DATA_RESET_DATE, 1)); - String suffix; + int date = PreferenceManager.getDefaultSharedPreferences(getContext()) + .getInt(DATA_RESET_DATE, 1); + String ordinal = formatOrdinalNumber(date, requireContext()); - if (date.endsWith("1")) { - suffix = "st"; - } - else if (date.endsWith("2")) { - suffix = "nd"; - } - else if (date.endsWith("3")) { - suffix = "rd"; - } - else { - suffix = "th"; - } - - resetSummary = (getContext().getString(R.string.label_reset_every_month, - date, suffix)); + resetSummary = (getContext().getString(R.string.label_reset_every_month, ordinal)); } else if (PreferenceManager.getDefaultSharedPreferences(getContext()).getString(DATA_RESET, "null") .equals(DATA_RESET_CUSTOM)) { @@ -1681,6 +1768,23 @@ else if (PreferenceManager.getDefaultSharedPreferences(getContext()).getString(D mUsageResetTime.setTitle(resetTitle); mUsageResetTime.setSummary(resetSummary); } + + private void updateDailyQuota() { + if (mSmartDataAllocation.isChecked()) { + WorkManager workManager = WorkManager.getInstance(requireContext()); + workManager.cancelUniqueWork("smart_data_allocation"); + workManager.cancelUniqueWork("data_rollover"); + OneTimeWorkRequest smartDataAllocationWorkRequest = new OneTimeWorkRequest + .Builder(SmartDataAllocationService.class) + .build(); + + workManager.enqueueUniqueWork( + "smart_data_allocation", + ExistingWorkPolicy.KEEP, + smartDataAllocationWorkRequest + ); + } + } } } \ No newline at end of file diff --git a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/SystemDataUsageFragment.java b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/SystemDataUsageFragment.java index 3d97cbf7..f02c3f2b 100644 --- a/app/src/main/java/com/drnoob/datamonitor/ui/fragments/SystemDataUsageFragment.java +++ b/app/src/main/java/com/drnoob/datamonitor/ui/fragments/SystemDataUsageFragment.java @@ -22,14 +22,8 @@ import static com.drnoob.datamonitor.core.Values.DAILY_DATA_HOME_ACTION; import static com.drnoob.datamonitor.core.Values.DATA_USAGE_SESSION; import static com.drnoob.datamonitor.core.Values.DATA_USAGE_TYPE; -import static com.drnoob.datamonitor.core.Values.SESSION_ALL_TIME; -import static com.drnoob.datamonitor.core.Values.SESSION_LAST_MONTH; -import static com.drnoob.datamonitor.core.Values.SESSION_THIS_MONTH; -import static com.drnoob.datamonitor.core.Values.SESSION_THIS_YEAR; import static com.drnoob.datamonitor.core.Values.SESSION_TODAY; -import static com.drnoob.datamonitor.core.Values.SESSION_YESTERDAY; import static com.drnoob.datamonitor.core.Values.TYPE_MOBILE_DATA; -import static com.drnoob.datamonitor.core.Values.TYPE_WIFI; import static com.drnoob.datamonitor.utils.NetworkStatsHelper.getAppMobileDataUsage; import static com.drnoob.datamonitor.utils.NetworkStatsHelper.getAppWifiDataUsage; import static com.drnoob.datamonitor.utils.NetworkStatsHelper.getDeviceMobileDataUsage; @@ -45,11 +39,9 @@ import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; -import android.widget.RadioGroup; import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.constraintlayout.widget.ConstraintLayout; import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -59,7 +51,6 @@ import com.drnoob.datamonitor.adapters.AppDataUsageAdapter; import com.drnoob.datamonitor.adapters.data.AppDataUsageModel; import com.drnoob.datamonitor.core.task.DatabaseHandler; -import com.google.android.material.bottomsheet.BottomSheetDialog; import java.text.ParseException; import java.util.Collections; diff --git a/app/src/main/java/com/drnoob/datamonitor/utils/CompoundNotification.java b/app/src/main/java/com/drnoob/datamonitor/utils/CompoundNotification.java index 2404c047..a95fd85b 100644 --- a/app/src/main/java/com/drnoob/datamonitor/utils/CompoundNotification.java +++ b/app/src/main/java/com/drnoob/datamonitor/utils/CompoundNotification.java @@ -34,7 +34,6 @@ import static com.drnoob.datamonitor.utils.NetworkStatsHelper.getDeviceMobileDataUsage; import static com.drnoob.datamonitor.utils.NetworkStatsHelper.getDeviceWifiDataUsage; -import android.app.ForegroundServiceStartNotAllowedException; import android.app.NotificationManager; import android.app.PendingIntent; import android.app.Service; @@ -43,6 +42,7 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.ServiceInfo; import android.net.ConnectivityManager; import android.net.LinkProperties; import android.net.Network; @@ -64,7 +64,6 @@ import androidx.core.graphics.drawable.IconCompat; import androidx.preference.PreferenceManager; -import com.drnoob.datamonitor.Common; import com.drnoob.datamonitor.R; import com.drnoob.datamonitor.ui.activities.MainActivity; @@ -72,6 +71,7 @@ import java.util.HashMap; import java.util.Timer; import java.util.TimerTask; +import java.util.concurrent.ConcurrentHashMap; public class CompoundNotification extends Service { private static final String TAG = CompoundNotification.class.getSimpleName(); @@ -93,7 +93,7 @@ public class CompoundNotification extends Service { wifiDataUsage, totalDataUsage; private static IconCompat dataUsageIcon, networkSpeedIcon; - private static HashMap linkPropertiesHashMap = new HashMap<>(); + private static final ConcurrentHashMap linkPropertiesHashMap = new ConcurrentHashMap<>(); private static boolean serviceRestart = true; private static CompoundNotification mCompoundNotification; private static RemoteViews contentView, bigContentView; @@ -120,13 +120,15 @@ public void onCreate() { previousDownBytes = 0l; previousUpBytes = 0l; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { - for (LinkProperties linkProperties : linkPropertiesHashMap.values()) { - final String iface = linkProperties.getInterfaceName(); - if (iface == null) { - continue; + synchronized (linkPropertiesHashMap) { + for (LinkProperties linkProperties : linkPropertiesHashMap.values()) { + final String iface = linkProperties.getInterfaceName(); + if (iface == null) { + continue; + } + previousUpBytes += TrafficStats.getTxBytes(iface); + previousDownBytes += TrafficStats.getRxBytes(iface); } - previousUpBytes += TrafficStats.getTxBytes(iface); - previousDownBytes += TrafficStats.getRxBytes(iface); } } else { @@ -240,7 +242,12 @@ public void run() { registerNetworkReceiver(mCompoundNotification); } try { - startForeground(NETWORK_SIGNAL_NOTIFICATION_ID, mBuilder.build()); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + startForeground(NETWORK_SIGNAL_NOTIFICATION_ID, mBuilder.build(), ServiceInfo.FOREGROUND_SERVICE_TYPE_SPECIAL_USE); + } + else { + startForeground(NETWORK_SIGNAL_NOTIFICATION_ID, mBuilder.build()); + } isServiceRunning = true; } catch (Exception e) { @@ -380,13 +387,15 @@ private static void updateNotification(Context context, int interval) { // Long currentDownBytes = TrafficStats.getTotalRxBytes(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { - for (LinkProperties linkProperties : linkPropertiesHashMap.values()) { - final String iface = linkProperties.getInterfaceName(); - if (iface == null) { - continue; + synchronized (linkPropertiesHashMap) { + for (LinkProperties linkProperties : linkPropertiesHashMap.values()) { + final String iface = linkProperties.getInterfaceName(); + if (iface == null) { + continue; + } + currentUpBytes += TrafficStats.getTxBytes(iface); + currentDownBytes += TrafficStats.getRxBytes(iface); } - currentUpBytes += TrafficStats.getTxBytes(iface); - currentDownBytes += TrafficStats.getRxBytes(iface); } } else { @@ -517,29 +526,32 @@ private static void updateNotification(Context context, int interval) { else { mBuilder.setVisibility(NotificationCompat.VISIBILITY_SECRET); } - mBuilder.setContent(contentView); +// mBuilder.setContent(contentView); + mBuilder.setCustomContentView(contentView); mBuilder.setCustomBigContentView(bigContentView); try { postNotification(context, managerCompat, mBuilder, NETWORK_SIGNAL_NOTIFICATION_ID); } catch (Exception e) { - e.printStackTrace(); contentView = new RemoteViews(context.getPackageName(), R.layout.layout_data_usage_notification); bigContentView = new RemoteViews(context.getPackageName(), R.layout.layout_data_usage_notification_expanded); + e.printStackTrace(); } } private static void updateInitialData() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { - for (LinkProperties linkProperties : linkPropertiesHashMap.values()) { - final String iface = linkProperties.getInterfaceName(); - if (iface == null) { - continue; + synchronized (linkPropertiesHashMap) { + for (LinkProperties linkProperties : linkPropertiesHashMap.values()) { + final String iface = linkProperties.getInterfaceName(); + if (iface == null) { + continue; + } + previousUpBytes += TrafficStats.getTxBytes(iface); + previousDownBytes += TrafficStats.getRxBytes(iface); } - previousUpBytes += TrafficStats.getTxBytes(iface); - previousDownBytes += TrafficStats.getRxBytes(iface); } } else { @@ -753,7 +765,16 @@ public void onAvailable(@NonNull Network network) { isNetworkConnected = true; if (isTaskPaused) { try { - mCompoundNotification.startForeground(NETWORK_SIGNAL_NOTIFICATION_ID, mBuilder.build()); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + mCompoundNotification.startForeground( + NETWORK_SIGNAL_NOTIFICATION_ID, + mBuilder.build(), + ServiceInfo.FOREGROUND_SERVICE_TYPE_SPECIAL_USE + ); + } + else { + mCompoundNotification.startForeground(NETWORK_SIGNAL_NOTIFICATION_ID, mBuilder.build()); + } } catch (Exception e) { e.printStackTrace(); diff --git a/app/src/main/java/com/drnoob/datamonitor/utils/DailyQuotaAlertReceiver.kt b/app/src/main/java/com/drnoob/datamonitor/utils/DailyQuotaAlertReceiver.kt new file mode 100644 index 00000000..7026835e --- /dev/null +++ b/app/src/main/java/com/drnoob/datamonitor/utils/DailyQuotaAlertReceiver.kt @@ -0,0 +1,152 @@ +/* + * Copyright (C) 2021 Dr.NooB + * + * This file is a part of Data Monitor + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.drnoob.datamonitor.utils + +import android.app.AlarmManager +import android.app.PendingIntent +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import android.os.Build +import android.util.Log +import androidx.core.app.NotificationCompat +import androidx.core.app.NotificationManagerCompat +import androidx.preference.PreferenceManager +import com.drnoob.datamonitor.Common.postAlarmPermissionDeniedNotification +import com.drnoob.datamonitor.Common.postNotification +import com.drnoob.datamonitor.R +import com.drnoob.datamonitor.core.Values +import com.drnoob.datamonitor.core.Values.DATA_QUOTA +import com.drnoob.datamonitor.core.Values.DATA_QUOTA_WARNING_SHOWN +import com.drnoob.datamonitor.core.Values.DATA_USAGE_WARNING_CHANNEL_ID +import com.drnoob.datamonitor.core.Values.DATA_USAGE_WARNING_NOTIFICATION_ID +import com.drnoob.datamonitor.core.Values.SESSION_TODAY +import com.drnoob.datamonitor.utils.NetworkStatsHelper.getDeviceMobileDataUsage +import java.util.Calendar +import kotlin.math.round + +class DailyQuotaAlertReceiver: BroadcastReceiver() { + companion object { + private val TAG = DailyQuotaAlertReceiver::class.simpleName + } + + override fun onReceive(context: Context?, intent: Intent?) { + val dataQuota = PreferenceManager.getDefaultSharedPreferences(context!!) + .getFloat(DATA_QUOTA, -1f) + val preference = PreferenceManager.getDefaultSharedPreferences(context) + val selfIntent = Intent(context, this::class.java) + val pendingIntent = + PendingIntent.getBroadcast(context, 1000, selfIntent, PendingIntent.FLAG_IMMUTABLE) + val alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager + if (preference.getBoolean(DATA_QUOTA_WARNING_SHOWN, false)) { + this.abortBroadcast + alarmManager.cancel(pendingIntent) + } + else { + if (dataQuota > 0) { + val dataUsage = round((getDeviceMobileDataUsage(context, + SESSION_TODAY, -1)[2] / 1024f / 1024f) * 100) / 100 + Log.d(TAG, "onReceive: usage: $dataUsage, quota: $dataQuota") + if (dataUsage >= dataQuota) { + showDataQuotaReachedAlert(context) + preference.edit().putBoolean(DATA_QUOTA_WARNING_SHOWN, true).apply() + val triggerMillis = getTriggerMillis(context) + + val resetIntent = Intent(context, ResetDataQuotaAlert::class.java) + val resetPendingIntent = PendingIntent.getBroadcast(context, 69, resetIntent, PendingIntent.FLAG_IMMUTABLE) + alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, triggerMillis, resetPendingIntent) + Log.d(TAG, "onReceive: reset alarm set for: $triggerMillis") + } + else { + alarmManager.setExactAndAllowWhileIdle( + AlarmManager.RTC_WAKEUP, + System.currentTimeMillis() + 60000, + pendingIntent + ) + } + } + } + } + + private fun showDataQuotaReachedAlert(context: Context) { + val builder = NotificationCompat.Builder(context, DATA_USAGE_WARNING_CHANNEL_ID) + builder.setContentTitle(context.getString(R.string.daily_quota_alert_title)) + .setContentText(context.getString(R.string.daily_quota_alert_body)) + .setSmallIcon(R.drawable.ic_info) + .setAutoCancel(true) + .priority = NotificationCompat.PRIORITY_HIGH + val manager = NotificationManagerCompat.from(context) + if (PreferenceManager.getDefaultSharedPreferences(context).getBoolean("daily_quota_alert", false)) { + postNotification(context, manager, builder, DATA_USAGE_WARNING_NOTIFICATION_ID) + } + } + + private fun getTriggerMillis(context: Context): Long { + val calendar = Calendar.getInstance() + val planType = PreferenceManager.getDefaultSharedPreferences(context) + .getString(Values.DATA_RESET, "null") + if (planType == Values.DATA_RESET_DAILY) { + val resetHour = PreferenceManager.getDefaultSharedPreferences(context) + .getInt(Values.DATA_RESET_HOUR, 0) + val resetMin = PreferenceManager.getDefaultSharedPreferences(context) + .getInt(Values.DATA_RESET_MIN, 0) + calendar[Calendar.HOUR_OF_DAY] = resetHour + calendar[Calendar.MINUTE] = resetMin + calendar[Calendar.SECOND] = 0 + } + else { + calendar[Calendar.HOUR_OF_DAY] = 0 + calendar[Calendar.MINUTE] = 0 + calendar[Calendar.SECOND] = 0 + } + if (calendar.timeInMillis < System.currentTimeMillis()) { + calendar.add(Calendar.DATE, 1) + } + return calendar.timeInMillis + } + + open class ResetDataQuotaAlert: BroadcastReceiver() { + + override fun onReceive(context: Context?, intent: Intent?) { + Log.d(TAG, "onReceive: Restarting quota alert") + PreferenceManager.getDefaultSharedPreferences(context!!).edit() + .putBoolean(DATA_QUOTA_WARNING_SHOWN, false).apply() + val alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager + val alertIntent = Intent(context, DailyQuotaAlertReceiver::class.java) + val pendingIntent =PendingIntent.getBroadcast(context, 99, alertIntent, PendingIntent.FLAG_IMMUTABLE) + if (PreferenceManager.getDefaultSharedPreferences(context).getBoolean("daily_quota_alert", false)) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + if (alarmManager.canScheduleExactAlarms()) { + alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, + System.currentTimeMillis() + 60000, pendingIntent) + } + else { + postAlarmPermissionDeniedNotification(context) + } + } + else { + alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, + System.currentTimeMillis() + 60000, pendingIntent) + } + } + } + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/drnoob/datamonitor/utils/DataPlanRefreshReceiver.java b/app/src/main/java/com/drnoob/datamonitor/utils/DataPlanRefreshReceiver.java index a083ff9e..6964a147 100644 --- a/app/src/main/java/com/drnoob/datamonitor/utils/DataPlanRefreshReceiver.java +++ b/app/src/main/java/com/drnoob/datamonitor/utils/DataPlanRefreshReceiver.java @@ -49,7 +49,6 @@ import androidx.core.app.NotificationManagerCompat; import androidx.preference.PreferenceManager; -import com.drnoob.datamonitor.Common; import com.drnoob.datamonitor.R; import com.drnoob.datamonitor.ui.activities.MainActivity; diff --git a/app/src/main/java/com/drnoob/datamonitor/utils/DataRolloverHelper.kt b/app/src/main/java/com/drnoob/datamonitor/utils/DataRolloverHelper.kt new file mode 100644 index 00000000..08c2bab8 --- /dev/null +++ b/app/src/main/java/com/drnoob/datamonitor/utils/DataRolloverHelper.kt @@ -0,0 +1,161 @@ +/* + * Copyright (C) 2021 Dr.NooB + * + * This file is a part of Data Monitor + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.drnoob.datamonitor.utils + +import android.content.Context +import android.util.Log +import androidx.preference.PreferenceManager +import androidx.work.ExistingWorkPolicy +import androidx.work.OneTimeWorkRequest +import androidx.work.WorkManager +import androidx.work.Worker +import androidx.work.WorkerParameters +import com.drnoob.datamonitor.core.Values.DATA_QUOTA +import com.drnoob.datamonitor.core.Values.DATA_QUOTA_PERFORMED_RESET +import com.drnoob.datamonitor.core.Values.DATA_RESET +import com.drnoob.datamonitor.core.Values.DATA_RESET_DAILY +import com.drnoob.datamonitor.core.Values.SESSION_YESTERDAY +import kotlin.math.round + +/** + * Worker class to calculate and update data quota everyday. + */ +class DataRolloverHelper(context: Context, workerParams: WorkerParameters) : + Worker(context, workerParams) { + companion object { + private val TAG = DataRolloverHelper::class.simpleName + } + + override fun doWork(): Result { + /* + Divide plan into two first: 1. Daily, 2. Monthly and Custom + > if daily, just check if there is any data left at the end of the day, + If there is, add it to the data plan of the next day, if nothing is left or excess is used, do nothing + + > If monthly or custom, plan should be divided into daily quotas, + if there is balance left at the end of the day, add it to the next day's quota. + If excess is used, decrease it from the next days quota. + */ + + Log.d(TAG, "Updating data quota.") + val preference = PreferenceManager.getDefaultSharedPreferences(applicationContext) + + val planType = preference.getString(DATA_RESET, "null") + val dailyQuota = preference.getFloat(DATA_QUOTA, -1f) + + if (dailyQuota > 0) { + when (planType) { + DATA_RESET_DAILY -> { + val dataUsage = round( + (NetworkStatsHelper.getDeviceMobileDataUsage( + applicationContext, + SESSION_YESTERDAY, -1 + )[2] / 1024f / 1024f) * 100 + ) / 100 // rounds the usage value to 2 decimals + if (dailyQuota > dataUsage) { + val remainingData = dailyQuota - dataUsage + val newDataQuota = dailyQuota + remainingData + Log.d( + TAG, + "doWork: used: $dataUsage, remaining: $remainingData, new: $newDataQuota" + ) + preference.edit().putFloat(DATA_QUOTA, newDataQuota).apply() + } + } + + else -> { + val dataUsage = round( + (NetworkStatsHelper.getDeviceMobileDataUsage( + applicationContext, + SESSION_YESTERDAY, -1 + )[2] / 1024f / 1024f) * 100 + ) / 100 // rounds the usage value to 2 decimals + var newDataQuota = if (dailyQuota > dataUsage) { + val remainingData = dailyQuota - dataUsage + dailyQuota + remainingData + } else { + val excessUsage = dataUsage - dailyQuota + dailyQuota - excessUsage + } + + if (newDataQuota < 0f) { + newDataQuota = 0f + } + Log.d(TAG, "doWork: usage: $dataUsage, new quota: $newDataQuota") + preference.edit().putFloat(DATA_QUOTA, newDataQuota).apply() + } + } + + +// val dataUsage = round((NetworkStatsHelper.getDeviceMobileDataUsage(applicationContext, +// SESSION_YESTERDAY, -1)[2] / 1024f / 1024f) * 100) / 100 // rounds the usage value to 2 decimals +// val newDataQuota = if (dailyQuota > dataUsage) { +// val remainingData = dailyQuota - dataUsage +// dailyQuota + remainingData +// } +// else { +// val excessUsage = dataUsage - dailyQuota +// dailyQuota - excessUsage +// } +// Log.d(TAG, "doWork: usage: $dataUsage, new quota: $newDataQuota") +// preference.edit().putFloat(DATA_QUOTA, newDataQuota).apply() + } else { + return Result.failure() + } + + Log.d(TAG, "Updated data quota.") + return Result.success() + } + + /** + * Worker class that resets the data quota once the current data plan iss over. + */ + class QuotaRefreshHelper(context: Context, workerParams: WorkerParameters) : + Worker(context, workerParams) { + override fun doWork(): Result { + Log.d(TAG, "doWork: Resetting data quota") + + val preference = PreferenceManager.getDefaultSharedPreferences(applicationContext) + + if (preference.getBoolean("smart_data_allocation", false)) { + val workManager = WorkManager.getInstance(applicationContext) + + workManager.cancelUniqueWork("smart_data_allocation") + workManager.cancelUniqueWork("data_rollover") + workManager.cancelUniqueWork("quota_reset") + + val smartDataAllocationWorkRequest = OneTimeWorkRequest + .Builder(SmartDataAllocationService::class.java) + .build() + + workManager.enqueueUniqueWork( + "smart_data_allocation", + ExistingWorkPolicy.KEEP, + smartDataAllocationWorkRequest + ) + + preference.edit().putLong(DATA_QUOTA_PERFORMED_RESET, System.currentTimeMillis()).apply() + + return Result.success() + } + return Result.failure() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/drnoob/datamonitor/utils/DataUsageMonitor.java b/app/src/main/java/com/drnoob/datamonitor/utils/DataUsageMonitor.java index b9d70306..e85a40f0 100644 --- a/app/src/main/java/com/drnoob/datamonitor/utils/DataUsageMonitor.java +++ b/app/src/main/java/com/drnoob/datamonitor/utils/DataUsageMonitor.java @@ -49,7 +49,6 @@ import android.net.Uri; import android.os.Build; import android.os.IBinder; -import android.os.RemoteException; import android.util.Log; import androidx.annotation.Nullable; diff --git a/app/src/main/java/com/drnoob/datamonitor/utils/LiveNetworkMonitor.java b/app/src/main/java/com/drnoob/datamonitor/utils/LiveNetworkMonitor.java index 44ee7a0e..74529f14 100644 --- a/app/src/main/java/com/drnoob/datamonitor/utils/LiveNetworkMonitor.java +++ b/app/src/main/java/com/drnoob/datamonitor/utils/LiveNetworkMonitor.java @@ -25,25 +25,21 @@ import static com.drnoob.datamonitor.core.Values.NETWORK_SIGNAL_NOTIFICATION_ID; import android.app.ForegroundServiceStartNotAllowedException; -import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.app.Service; import android.content.BroadcastReceiver; import android.content.ComponentName; -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.pm.ServiceInfo; -import android.media.AudioAttributes; import android.net.ConnectivityManager; import android.net.LinkProperties; import android.net.Network; import android.net.NetworkCapabilities; import android.net.NetworkRequest; import android.net.TrafficStats; -import android.net.Uri; import android.os.Build; import android.os.IBinder; import android.util.Log; @@ -53,11 +49,9 @@ import androidx.annotation.Nullable; import androidx.core.app.NotificationCompat; import androidx.core.app.NotificationManagerCompat; -import androidx.core.app.Person; import androidx.core.graphics.drawable.IconCompat; import androidx.preference.PreferenceManager; -import com.drnoob.datamonitor.Common; import com.drnoob.datamonitor.R; import com.drnoob.datamonitor.ui.activities.MainActivity; @@ -65,6 +59,7 @@ import java.util.HashMap; import java.util.Timer; import java.util.TimerTask; +import java.util.concurrent.ConcurrentHashMap; public class LiveNetworkMonitor extends Service { private static final String TAG = LiveNetworkMonitor.class.getSimpleName(); @@ -83,7 +78,7 @@ public class LiveNetworkMonitor extends Service { private static boolean isLiveNetworkReceiverRegistered = false; public static boolean isServiceRunning; private static LiveNetworkMonitor mLiveNetworkMonitor; - private static HashMap linkPropertiesHashMap = new HashMap<>(); + private static final ConcurrentHashMap linkPropertiesHashMap = new ConcurrentHashMap<>(); private static boolean serviceRestart = true; private static ConnectivityManager connectivityManager; @@ -112,13 +107,15 @@ public void onCreate() { previousDownBytes = TrafficStats.getTotalRxBytes(); } else { - for (LinkProperties linkProperties : linkPropertiesHashMap.values()) { - final String iface = linkProperties.getInterfaceName(); - if (iface == null) { - continue; + synchronized (linkPropertiesHashMap) { + for (LinkProperties linkProperties : linkPropertiesHashMap.values()) { + final String iface = linkProperties.getInterfaceName(); + if (iface == null) { + continue; + } + previousUpBytes += TrafficStats.getTxBytes(iface); + previousDownBytes += TrafficStats.getRxBytes(iface); } - previousUpBytes += TrafficStats.getTxBytes(iface); - previousDownBytes += TrafficStats.getRxBytes(iface); } } @@ -203,7 +200,12 @@ public void run() { registerNetworkReceiver(mLiveNetworkMonitor); } try { - startForeground(NETWORK_SIGNAL_NOTIFICATION_ID, mBuilder.build()); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + startForeground(NETWORK_SIGNAL_NOTIFICATION_ID, mBuilder.build(), ServiceInfo.FOREGROUND_SERVICE_TYPE_SPECIAL_USE); + } + else { + startForeground(NETWORK_SIGNAL_NOTIFICATION_ID, mBuilder.build()); + } isServiceRunning = true; } catch (Exception e) { @@ -285,13 +287,15 @@ private static void updateNotification(Context context, boolean serviceRestart) currentDownBytes = TrafficStats.getTotalRxBytes(); } else { - for (LinkProperties linkProperties : linkPropertiesHashMap.values()) { - final String iface = linkProperties.getInterfaceName(); - if (iface == null) { - continue; + synchronized (linkPropertiesHashMap) { + for (LinkProperties linkProperties : linkPropertiesHashMap.values()) { + final String iface = linkProperties.getInterfaceName(); + if (iface == null) { + continue; + } + currentUpBytes += TrafficStats.getTxBytes(iface); + currentDownBytes += TrafficStats.getRxBytes(iface); } - currentUpBytes += TrafficStats.getTxBytes(iface); - currentDownBytes += TrafficStats.getRxBytes(iface); } } @@ -401,13 +405,15 @@ private static boolean isVPNConnected(Context context) { private static void updateInitialData() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { - for (LinkProperties linkProperties : linkPropertiesHashMap.values()) { - final String iface = linkProperties.getInterfaceName(); - if (iface == null) { - continue; + synchronized (linkPropertiesHashMap) { + for (LinkProperties linkProperties : linkPropertiesHashMap.values()) { + final String iface = linkProperties.getInterfaceName(); + if (iface == null) { + continue; + } + previousUpBytes += TrafficStats.getTxBytes(iface); + previousDownBytes += TrafficStats.getRxBytes(iface); } - previousUpBytes += TrafficStats.getTxBytes(iface); - previousDownBytes += TrafficStats.getRxBytes(iface); } } else { previousDownBytes = TrafficStats.getTotalRxBytes(); @@ -467,13 +473,23 @@ public void onAvailable(@NonNull Network network) { if (isTaskPaused) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { try { - mLiveNetworkMonitor.startForeground(NETWORK_SIGNAL_NOTIFICATION_ID, mBuilder.build()); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + mLiveNetworkMonitor.startForeground( + NETWORK_SIGNAL_NOTIFICATION_ID, + mBuilder.build(), + ServiceInfo.FOREGROUND_SERVICE_TYPE_SPECIAL_USE + ); + } + else { + mLiveNetworkMonitor.startForeground(NETWORK_SIGNAL_NOTIFICATION_ID, mBuilder.build()); + } } catch (ForegroundServiceStartNotAllowedException e) { e.printStackTrace(); Toast.makeText(context, context.getString(R.string.error_network_monitor_start), Toast.LENGTH_LONG).show(); } - } else { + } + else { mLiveNetworkMonitor.startForeground(NETWORK_SIGNAL_NOTIFICATION_ID, mBuilder.build()); } restartService(context, false, true); diff --git a/app/src/main/java/com/drnoob/datamonitor/utils/NetworkStatsHelper.java b/app/src/main/java/com/drnoob/datamonitor/utils/NetworkStatsHelper.java index 18b1465c..6dd1cbc5 100644 --- a/app/src/main/java/com/drnoob/datamonitor/utils/NetworkStatsHelper.java +++ b/app/src/main/java/com/drnoob/datamonitor/utils/NetworkStatsHelper.java @@ -21,16 +21,19 @@ import static android.app.usage.NetworkStats.Bucket.UID_REMOVED; import static android.app.usage.NetworkStats.Bucket.UID_TETHERING; +import static com.drnoob.datamonitor.core.Values.DATA_RESET; import static com.drnoob.datamonitor.core.Values.DATA_RESET_CUSTOM_DATE_END; import static com.drnoob.datamonitor.core.Values.DATA_RESET_CUSTOM_DATE_END_HOUR; import static com.drnoob.datamonitor.core.Values.DATA_RESET_CUSTOM_DATE_END_MIN; import static com.drnoob.datamonitor.core.Values.DATA_RESET_CUSTOM_DATE_START; import static com.drnoob.datamonitor.core.Values.DATA_RESET_CUSTOM_DATE_START_HOUR; import static com.drnoob.datamonitor.core.Values.DATA_RESET_CUSTOM_DATE_START_MIN; +import static com.drnoob.datamonitor.core.Values.DATA_RESET_DAILY; import static com.drnoob.datamonitor.core.Values.DATA_RESET_DATE; import static com.drnoob.datamonitor.core.Values.EXCLUDE_APPS_LIST; import static com.drnoob.datamonitor.core.Values.SESSION_ALL_TIME; import static com.drnoob.datamonitor.core.Values.SESSION_CUSTOM; +import static com.drnoob.datamonitor.core.Values.SESSION_CUSTOM_FILTER; import static com.drnoob.datamonitor.core.Values.SESSION_LAST_MONTH; import static com.drnoob.datamonitor.core.Values.SESSION_MONTHLY; import static com.drnoob.datamonitor.core.Values.SESSION_THIS_MONTH; @@ -50,11 +53,13 @@ import android.util.Log; import androidx.annotation.Nullable; +import androidx.core.util.Pair; import androidx.preference.PreferenceManager; import com.drnoob.datamonitor.R; import com.drnoob.datamonitor.adapters.data.AppModel; import com.drnoob.datamonitor.adapters.data.OverviewModel; +import com.drnoob.datamonitor.ui.fragments.AppDataUsageFragment; import com.google.android.material.datepicker.MaterialDatePicker; import com.google.common.reflect.TypeToken; import com.google.gson.Gson; @@ -504,7 +509,7 @@ public static List updateOverview(Context context, int[] days) th list.add(i, new OverviewModel(totalMobile, totalWifi)); } - Log.e(TAG, "updateOverview: " + list.size()); + Log.d(TAG, "updateOverview: " + list.size()); Collections.reverse(list); return list; @@ -644,6 +649,13 @@ public static Long[] getTimePeriod(Context context, int session, @Nullable int s .getInt("reset_hour", 0); int resetMin = PreferenceManager.getDefaultSharedPreferences(context) .getInt("reset_min", 0); + + if (!PreferenceManager.getDefaultSharedPreferences(context).getString(DATA_RESET, "null") + .equals(DATA_RESET_DAILY)) { + resetHour = 0; + resetMin = 0; + } + int customStartHour = PreferenceManager.getDefaultSharedPreferences(context) .getInt(DATA_RESET_CUSTOM_DATE_START_HOUR,0); int customStartMin = PreferenceManager.getDefaultSharedPreferences(context) @@ -725,7 +737,7 @@ public static Long[] getTimePeriod(Context context, int session, @Nullable int s // endTimeMillis = endDate.getTime(); - /** + /* * When data reset date is ahead of today's date, reducing 1 from the current month will * only give the month when the current plan started. * So to get the last month's period, 2 has to be subtracted to get the starting month @@ -757,7 +769,9 @@ public static Long[] getTimePeriod(Context context, int session, @Nullable int s startTime = context.getResources().getString(R.string.reset_time, year, month, day, resetHour, resetMin); resetDate = dateFormat.parse(startTime); resetTimeMillis = resetDate.getTime(); - day = monthlyResetDate; + +// day = monthlyResetDate; + month += 1; // To restore back the current month. endTime = context.getResources().getString(R.string.reset_time, year, month, day, resetHour, resetMin); endDate = dateFormat.parse(endTime); endTimeMillis = endDate.getTime(); @@ -837,6 +851,12 @@ public static Long[] getTimePeriod(Context context, int session, @Nullable int s endTimeMillis = endDate.getTime(); break; + case SESSION_CUSTOM_FILTER: + Pair filter = AppDataUsageFragment.customFilter.getValue(); + resetTimeMillis = filter == null ? 0 : filter.first; + + endTimeMillis = filter == null ? 0 : filter.second; + break; } if (resetTimeMillis > System.currentTimeMillis()) { diff --git a/app/src/main/java/com/drnoob/datamonitor/utils/NotificationService.java b/app/src/main/java/com/drnoob/datamonitor/utils/NotificationService.java index 59dc4d19..3d65beae 100644 --- a/app/src/main/java/com/drnoob/datamonitor/utils/NotificationService.java +++ b/app/src/main/java/com/drnoob/datamonitor/utils/NotificationService.java @@ -40,11 +40,10 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.ServiceInfo; import android.os.Build; import android.os.IBinder; -import android.service.notification.StatusBarNotification; import android.util.Log; -import android.widget.Toast; import androidx.annotation.Nullable; import androidx.core.app.NotificationCompat; @@ -117,7 +116,12 @@ public void onCreate() { builder.setGroup(DATA_USAGE_NOTIFICATION_NOTIFICATION_GROUP); try { - startForeground(DATA_USAGE_NOTIFICATION_ID, builder.build()); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + startForeground(DATA_USAGE_NOTIFICATION_ID, builder.build(), ServiceInfo.FOREGROUND_SERVICE_TYPE_SPECIAL_USE); + } + else { + startForeground(DATA_USAGE_NOTIFICATION_ID, builder.build()); + } startUpdater(getApplicationContext()); } catch (Exception e) { @@ -223,7 +227,7 @@ public void onReceive(Context context, Intent intent) { wifiData[2]); if (showPercent) { - Log.e(TAG, "onReceive: total: " + Arrays.toString(total) + " mobile: " + + Log.d(TAG, "onReceive: total: " + Arrays.toString(total) + " mobile: " + Arrays.toString(mobileData)); String mobileDataTotal = mobileData[2]; if (mobileDataTotal.contains(",")) { diff --git a/app/src/main/java/com/drnoob/datamonitor/utils/SmartDataAllocationService.kt b/app/src/main/java/com/drnoob/datamonitor/utils/SmartDataAllocationService.kt new file mode 100644 index 00000000..a0af30f6 --- /dev/null +++ b/app/src/main/java/com/drnoob/datamonitor/utils/SmartDataAllocationService.kt @@ -0,0 +1,268 @@ +/* + * Copyright (C) 2021 Dr.NooB + * + * This file is a part of Data Monitor + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.drnoob.datamonitor.utils + +import android.content.Context +import android.util.Log +import androidx.preference.PreferenceManager +import androidx.work.ExistingPeriodicWorkPolicy +import androidx.work.ExistingWorkPolicy +import androidx.work.OneTimeWorkRequest +import androidx.work.PeriodicWorkRequest +import androidx.work.WorkManager +import androidx.work.Worker +import androidx.work.WorkerParameters +import com.drnoob.datamonitor.core.Values.DATA_LIMIT +import com.drnoob.datamonitor.core.Values.DATA_QUOTA +import com.drnoob.datamonitor.core.Values.DATA_QUOTA_SCHEDULED_RESET +import com.drnoob.datamonitor.core.Values.DATA_RESET +import com.drnoob.datamonitor.core.Values.DATA_RESET_CUSTOM +import com.drnoob.datamonitor.core.Values.DATA_RESET_CUSTOM_DATE_END +import com.drnoob.datamonitor.core.Values.DATA_RESET_CUSTOM_DATE_END_HOUR +import com.drnoob.datamonitor.core.Values.DATA_RESET_CUSTOM_DATE_END_MIN +import com.drnoob.datamonitor.core.Values.DATA_RESET_DAILY +import com.drnoob.datamonitor.core.Values.DATA_RESET_DATE +import com.drnoob.datamonitor.core.Values.DATA_RESET_HOUR +import com.drnoob.datamonitor.core.Values.DATA_RESET_MIN +import com.drnoob.datamonitor.core.Values.DATA_RESET_MONTHLY +import com.drnoob.datamonitor.core.Values.SESSION_CUSTOM +import com.drnoob.datamonitor.core.Values.SESSION_MONTHLY +import com.drnoob.datamonitor.core.Values.SESSION_TODAY +import com.drnoob.datamonitor.utils.NetworkStatsHelper.getDeviceMobileDataUsage +import java.util.Calendar +import java.util.concurrent.TimeUnit +import kotlin.math.max +import kotlin.math.round +import kotlin.math.roundToInt + +/** + * Worker class to calculate and divide data plan into daily quotas. + */ +class SmartDataAllocationService(context: Context, workerParams: WorkerParameters) + : Worker(context, workerParams) { + companion object { + private val TAG = SmartDataAllocationService::class.simpleName + } + + private val preferences = PreferenceManager.getDefaultSharedPreferences(applicationContext) + + override fun doWork(): Result { + Log.d(TAG, "Initialising data allocation") + val dataLimit = preferences.getFloat(DATA_LIMIT, -1f) + val planType = preferences.getString(DATA_RESET, "null") + val calendar = Calendar.getInstance() + var dailyQuota: Float + val dataUsage: Float + val daysRemaining: Int + val dataRemaining: Float + val millisPerDay = 1000 * 60 * 60 * 24.toFloat() + + if (getResetTimeDelay() == null) { + preferences.edit().putFloat(DATA_QUOTA, 0f).apply() + return Result.failure() + } + + if (dataLimit > 0) { + when (planType) { + DATA_RESET_DAILY -> { + dailyQuota = dataLimit + preferences.edit().putFloat(DATA_QUOTA, dailyQuota).apply() + } + DATA_RESET_MONTHLY -> { + val today = Calendar.getInstance() + var resetDay = preferences.getInt(DATA_RESET_DATE, 1) + val reset = Calendar.getInstance() + + today.set(Calendar.HOUR_OF_DAY, 0) + today.set(Calendar.MINUTE, 0) + today.set(Calendar.SECOND, 0) + + val daysInMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH) + resetDay = if (resetDay > daysInMonth) { + daysInMonth + } + else { + resetDay + } + + if (today.get(Calendar.DAY_OF_MONTH) > resetDay) + reset.set(Calendar.MONTH, reset.get(Calendar.MONTH) + 1) + + reset.set(Calendar.DAY_OF_MONTH, resetDay) + reset.set(Calendar.HOUR_OF_DAY, 23) + reset.set(Calendar.MINUTE, 59) + reset.set(Calendar.SECOND, 59) + + dataUsage = round((getDeviceMobileDataUsage(applicationContext, + SESSION_MONTHLY, reset.get(Calendar.DAY_OF_MONTH))[2] / 1024f / 1024f) * 100) / 100 + + val usedToday = round((getDeviceMobileDataUsage(applicationContext, + SESSION_TODAY, -1)[2] / 1024f / 1024f) * 100) / 100 + + daysRemaining = max(((reset.timeInMillis - today.timeInMillis) / millisPerDay).roundToInt(), 1) + + /* + Subtract the current day's usage from the total monthly usage + then subtract it from the data limit. This way the data can be properly split into quotas. + Then the current day's usage will count against that day's quota. + */ + dataRemaining = dataLimit - (dataUsage - usedToday) + dailyQuota = dataRemaining / daysRemaining + dailyQuota = round(dailyQuota * 100) / 100 + dailyQuota = max(dailyQuota, 0f) + + preferences.edit().putFloat(DATA_QUOTA, dailyQuota).apply() + } + DATA_RESET_CUSTOM -> { + val today = Calendar.getInstance() + + today.set(Calendar.HOUR_OF_DAY, 0) + today.set(Calendar.MINUTE, 0) + today.set(Calendar.SECOND, 0) + + dataUsage = round((getDeviceMobileDataUsage(applicationContext, + SESSION_CUSTOM, -1)[2] / 1024f / 1024f) * 100) / 100 + + val usedToday = round((getDeviceMobileDataUsage(applicationContext, + SESSION_TODAY, -1)[2] / 1024f / 1024f) * 100) / 100 + + val planEndDateMillis: Long = try { + preferences.getLong(DATA_RESET_CUSTOM_DATE_END, -1) + } + catch (e: ClassCastException) { + val planEndIntValue = preferences.getInt(DATA_RESET_CUSTOM_DATE_END, -1) + (planEndIntValue as Number).toLong() + } + + val planEndHour = preferences.getInt(DATA_RESET_CUSTOM_DATE_END_HOUR, 23) + val planEndMin = preferences.getInt(DATA_RESET_CUSTOM_DATE_END_MIN, 59) + + val reset = Calendar.getInstance() + reset.timeInMillis = planEndDateMillis + reset.set(Calendar.HOUR_OF_DAY, planEndHour) + reset.set(Calendar.MINUTE, planEndMin) + reset.set(Calendar.SECOND, 59) + + daysRemaining = max(((reset.timeInMillis - today.timeInMillis) / millisPerDay).roundToInt(), 1) + + /* + Subtract the current day's usage from the total usage for this session + then subtract it from the data limit. This way the data can be properly split into quotas. + Then the current day's usage will count against that day's quota. + */ + dataRemaining = dataLimit - (dataUsage - usedToday) + dailyQuota = dataRemaining / daysRemaining.toFloat() + dailyQuota = round(dailyQuota * 100) / 100 + dailyQuota = max(dailyQuota, 0f) + + preferences.edit().putFloat(DATA_QUOTA, dailyQuota).apply() + } + } + + val workManager = WorkManager.getInstance(applicationContext) + + val dataRolloverWorkRequest = PeriodicWorkRequest + .Builder(DataRolloverHelper::class.java, 1, TimeUnit.DAYS) + .setInitialDelay(getInitialTimeDelay(), TimeUnit.MILLISECONDS) + .addTag("data_rollover") + .build() + + workManager.enqueueUniquePeriodicWork( + "data_rollover", + ExistingPeriodicWorkPolicy.KEEP, + dataRolloverWorkRequest + ) + + if (planType != DATA_RESET_DAILY) { + getResetTimeDelay()?.let { time -> + val quotaResetWorkRequest = OneTimeWorkRequest + .Builder(DataRolloverHelper.QuotaRefreshHelper::class.java) + .addTag("quota_reset") + .setInitialDelay(time, TimeUnit.MILLISECONDS) + .build() + + workManager.enqueueUniqueWork( + "quota_reset", + ExistingWorkPolicy.REPLACE, + quotaResetWorkRequest + ) + } + } + } + + return Result.success() + } + + /** + * Calculates the initial delay time for the data quota refresh work based on user data plan. + * + * @return The initial delay time in milliseconds. + */ + private fun getInitialTimeDelay(): Long { + val delay: Long + val calendar = Calendar.getInstance() + val planType = preferences.getString(DATA_RESET, "null") + if (planType == DATA_RESET_DAILY) { + val resetHour = preferences.getInt(DATA_RESET_HOUR, 0) + val resetMin = preferences.getInt(DATA_RESET_MIN, 0) + calendar[Calendar.HOUR_OF_DAY] = resetHour + calendar[Calendar.MINUTE] = resetMin + calendar[Calendar.SECOND] = 0 + } + else { + calendar[Calendar.HOUR_OF_DAY] = 0 + calendar[Calendar.MINUTE] = 0 + calendar[Calendar.SECOND] = 0 + } + if (calendar.timeInMillis < System.currentTimeMillis()) { + calendar.add(Calendar.DATE, 1) + } + delay = calendar.timeInMillis - System.currentTimeMillis() + Log.d(TAG, "getInitialTimeDelay: $delay, time: ${calendar.timeInMillis}") + return delay + } + + /** + * Calculates the time delay until the scheduled data plan reset. + * + * @return Time delay in milliseconds. Null if reset time is in the past. + */ + private fun getResetTimeDelay(): Long? { + val planType = preferences.getString(DATA_RESET, "null") + if (planType == DATA_RESET_DAILY) { + return 0 + } + val startDate = preferences.getInt(DATA_RESET_DATE, -1) + val session = when (planType) { + DATA_RESET_MONTHLY -> { + SESSION_MONTHLY + } + else -> { + SESSION_CUSTOM + } + } + val planEndTime = NetworkStatsHelper.getTimePeriod(applicationContext, session, startDate)[1] + if (planEndTime > System.currentTimeMillis()) { + preferences.edit().putLong(DATA_QUOTA_SCHEDULED_RESET, planEndTime).apply() + return planEndTime - System.currentTimeMillis() + } + return null + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/bottom_sheet_handle_bg.xml b/app/src/main/res/drawable/bottom_sheet_handle_bg.xml deleted file mode 100644 index d075bc1e..00000000 --- a/app/src/main/res/drawable/bottom_sheet_handle_bg.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/buttercookie42.png b/app/src/main/res/drawable/buttercookie42.png new file mode 100644 index 00000000..6b886969 Binary files /dev/null and b/app/src/main/res/drawable/buttercookie42.png differ diff --git a/app/src/main/res/drawable-v24/cracky5322.png b/app/src/main/res/drawable/cracky5322.png similarity index 100% rename from app/src/main/res/drawable-v24/cracky5322.png rename to app/src/main/res/drawable/cracky5322.png diff --git a/app/src/main/res/drawable-v24/holydemon.png b/app/src/main/res/drawable/holydemon.png similarity index 100% rename from app/src/main/res/drawable-v24/holydemon.png rename to app/src/main/res/drawable/holydemon.png diff --git a/app/src/main/res/drawable-v24/hudaifa_abdullah.png b/app/src/main/res/drawable/hudaifa_abdullah.png similarity index 100% rename from app/src/main/res/drawable-v24/hudaifa_abdullah.png rename to app/src/main/res/drawable/hudaifa_abdullah.png diff --git a/app/src/main/res/drawable-v24/ic_person.png b/app/src/main/res/drawable/ic_person.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_person.png rename to app/src/main/res/drawable/ic_person.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_0.png b/app/src/main/res/drawable/ic_signal_kb_0.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_0.png rename to app/src/main/res/drawable/ic_signal_kb_0.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_1.png b/app/src/main/res/drawable/ic_signal_kb_1.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_1.png rename to app/src/main/res/drawable/ic_signal_kb_1.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_10.png b/app/src/main/res/drawable/ic_signal_kb_10.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_10.png rename to app/src/main/res/drawable/ic_signal_kb_10.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_100.png b/app/src/main/res/drawable/ic_signal_kb_100.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_100.png rename to app/src/main/res/drawable/ic_signal_kb_100.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_101.png b/app/src/main/res/drawable/ic_signal_kb_101.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_101.png rename to app/src/main/res/drawable/ic_signal_kb_101.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_102.png b/app/src/main/res/drawable/ic_signal_kb_102.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_102.png rename to app/src/main/res/drawable/ic_signal_kb_102.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_103.png b/app/src/main/res/drawable/ic_signal_kb_103.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_103.png rename to app/src/main/res/drawable/ic_signal_kb_103.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_104.png b/app/src/main/res/drawable/ic_signal_kb_104.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_104.png rename to app/src/main/res/drawable/ic_signal_kb_104.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_105.png b/app/src/main/res/drawable/ic_signal_kb_105.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_105.png rename to app/src/main/res/drawable/ic_signal_kb_105.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_106.png b/app/src/main/res/drawable/ic_signal_kb_106.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_106.png rename to app/src/main/res/drawable/ic_signal_kb_106.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_107.png b/app/src/main/res/drawable/ic_signal_kb_107.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_107.png rename to app/src/main/res/drawable/ic_signal_kb_107.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_108.png b/app/src/main/res/drawable/ic_signal_kb_108.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_108.png rename to app/src/main/res/drawable/ic_signal_kb_108.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_109.png b/app/src/main/res/drawable/ic_signal_kb_109.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_109.png rename to app/src/main/res/drawable/ic_signal_kb_109.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_11.png b/app/src/main/res/drawable/ic_signal_kb_11.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_11.png rename to app/src/main/res/drawable/ic_signal_kb_11.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_110.png b/app/src/main/res/drawable/ic_signal_kb_110.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_110.png rename to app/src/main/res/drawable/ic_signal_kb_110.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_111.png b/app/src/main/res/drawable/ic_signal_kb_111.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_111.png rename to app/src/main/res/drawable/ic_signal_kb_111.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_112.png b/app/src/main/res/drawable/ic_signal_kb_112.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_112.png rename to app/src/main/res/drawable/ic_signal_kb_112.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_113.png b/app/src/main/res/drawable/ic_signal_kb_113.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_113.png rename to app/src/main/res/drawable/ic_signal_kb_113.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_114.png b/app/src/main/res/drawable/ic_signal_kb_114.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_114.png rename to app/src/main/res/drawable/ic_signal_kb_114.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_115.png b/app/src/main/res/drawable/ic_signal_kb_115.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_115.png rename to app/src/main/res/drawable/ic_signal_kb_115.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_116.png b/app/src/main/res/drawable/ic_signal_kb_116.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_116.png rename to app/src/main/res/drawable/ic_signal_kb_116.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_117.png b/app/src/main/res/drawable/ic_signal_kb_117.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_117.png rename to app/src/main/res/drawable/ic_signal_kb_117.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_118.png b/app/src/main/res/drawable/ic_signal_kb_118.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_118.png rename to app/src/main/res/drawable/ic_signal_kb_118.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_119.png b/app/src/main/res/drawable/ic_signal_kb_119.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_119.png rename to app/src/main/res/drawable/ic_signal_kb_119.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_12.png b/app/src/main/res/drawable/ic_signal_kb_12.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_12.png rename to app/src/main/res/drawable/ic_signal_kb_12.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_120.png b/app/src/main/res/drawable/ic_signal_kb_120.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_120.png rename to app/src/main/res/drawable/ic_signal_kb_120.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_121.png b/app/src/main/res/drawable/ic_signal_kb_121.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_121.png rename to app/src/main/res/drawable/ic_signal_kb_121.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_122.png b/app/src/main/res/drawable/ic_signal_kb_122.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_122.png rename to app/src/main/res/drawable/ic_signal_kb_122.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_123.png b/app/src/main/res/drawable/ic_signal_kb_123.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_123.png rename to app/src/main/res/drawable/ic_signal_kb_123.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_124.png b/app/src/main/res/drawable/ic_signal_kb_124.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_124.png rename to app/src/main/res/drawable/ic_signal_kb_124.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_125.png b/app/src/main/res/drawable/ic_signal_kb_125.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_125.png rename to app/src/main/res/drawable/ic_signal_kb_125.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_126.png b/app/src/main/res/drawable/ic_signal_kb_126.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_126.png rename to app/src/main/res/drawable/ic_signal_kb_126.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_127.png b/app/src/main/res/drawable/ic_signal_kb_127.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_127.png rename to app/src/main/res/drawable/ic_signal_kb_127.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_128.png b/app/src/main/res/drawable/ic_signal_kb_128.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_128.png rename to app/src/main/res/drawable/ic_signal_kb_128.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_129.png b/app/src/main/res/drawable/ic_signal_kb_129.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_129.png rename to app/src/main/res/drawable/ic_signal_kb_129.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_13.png b/app/src/main/res/drawable/ic_signal_kb_13.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_13.png rename to app/src/main/res/drawable/ic_signal_kb_13.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_130.png b/app/src/main/res/drawable/ic_signal_kb_130.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_130.png rename to app/src/main/res/drawable/ic_signal_kb_130.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_131.png b/app/src/main/res/drawable/ic_signal_kb_131.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_131.png rename to app/src/main/res/drawable/ic_signal_kb_131.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_132.png b/app/src/main/res/drawable/ic_signal_kb_132.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_132.png rename to app/src/main/res/drawable/ic_signal_kb_132.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_133.png b/app/src/main/res/drawable/ic_signal_kb_133.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_133.png rename to app/src/main/res/drawable/ic_signal_kb_133.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_134.png b/app/src/main/res/drawable/ic_signal_kb_134.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_134.png rename to app/src/main/res/drawable/ic_signal_kb_134.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_135.png b/app/src/main/res/drawable/ic_signal_kb_135.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_135.png rename to app/src/main/res/drawable/ic_signal_kb_135.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_136.png b/app/src/main/res/drawable/ic_signal_kb_136.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_136.png rename to app/src/main/res/drawable/ic_signal_kb_136.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_137.png b/app/src/main/res/drawable/ic_signal_kb_137.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_137.png rename to app/src/main/res/drawable/ic_signal_kb_137.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_138.png b/app/src/main/res/drawable/ic_signal_kb_138.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_138.png rename to app/src/main/res/drawable/ic_signal_kb_138.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_139.png b/app/src/main/res/drawable/ic_signal_kb_139.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_139.png rename to app/src/main/res/drawable/ic_signal_kb_139.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_14.png b/app/src/main/res/drawable/ic_signal_kb_14.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_14.png rename to app/src/main/res/drawable/ic_signal_kb_14.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_140.png b/app/src/main/res/drawable/ic_signal_kb_140.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_140.png rename to app/src/main/res/drawable/ic_signal_kb_140.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_141.png b/app/src/main/res/drawable/ic_signal_kb_141.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_141.png rename to app/src/main/res/drawable/ic_signal_kb_141.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_142.png b/app/src/main/res/drawable/ic_signal_kb_142.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_142.png rename to app/src/main/res/drawable/ic_signal_kb_142.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_143.png b/app/src/main/res/drawable/ic_signal_kb_143.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_143.png rename to app/src/main/res/drawable/ic_signal_kb_143.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_144.png b/app/src/main/res/drawable/ic_signal_kb_144.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_144.png rename to app/src/main/res/drawable/ic_signal_kb_144.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_145.png b/app/src/main/res/drawable/ic_signal_kb_145.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_145.png rename to app/src/main/res/drawable/ic_signal_kb_145.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_146.png b/app/src/main/res/drawable/ic_signal_kb_146.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_146.png rename to app/src/main/res/drawable/ic_signal_kb_146.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_147.png b/app/src/main/res/drawable/ic_signal_kb_147.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_147.png rename to app/src/main/res/drawable/ic_signal_kb_147.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_148.png b/app/src/main/res/drawable/ic_signal_kb_148.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_148.png rename to app/src/main/res/drawable/ic_signal_kb_148.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_149.png b/app/src/main/res/drawable/ic_signal_kb_149.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_149.png rename to app/src/main/res/drawable/ic_signal_kb_149.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_15.png b/app/src/main/res/drawable/ic_signal_kb_15.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_15.png rename to app/src/main/res/drawable/ic_signal_kb_15.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_150.png b/app/src/main/res/drawable/ic_signal_kb_150.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_150.png rename to app/src/main/res/drawable/ic_signal_kb_150.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_151.png b/app/src/main/res/drawable/ic_signal_kb_151.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_151.png rename to app/src/main/res/drawable/ic_signal_kb_151.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_152.png b/app/src/main/res/drawable/ic_signal_kb_152.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_152.png rename to app/src/main/res/drawable/ic_signal_kb_152.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_153.png b/app/src/main/res/drawable/ic_signal_kb_153.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_153.png rename to app/src/main/res/drawable/ic_signal_kb_153.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_154.png b/app/src/main/res/drawable/ic_signal_kb_154.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_154.png rename to app/src/main/res/drawable/ic_signal_kb_154.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_155.png b/app/src/main/res/drawable/ic_signal_kb_155.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_155.png rename to app/src/main/res/drawable/ic_signal_kb_155.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_156.png b/app/src/main/res/drawable/ic_signal_kb_156.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_156.png rename to app/src/main/res/drawable/ic_signal_kb_156.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_157.png b/app/src/main/res/drawable/ic_signal_kb_157.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_157.png rename to app/src/main/res/drawable/ic_signal_kb_157.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_158.png b/app/src/main/res/drawable/ic_signal_kb_158.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_158.png rename to app/src/main/res/drawable/ic_signal_kb_158.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_159.png b/app/src/main/res/drawable/ic_signal_kb_159.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_159.png rename to app/src/main/res/drawable/ic_signal_kb_159.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_16.png b/app/src/main/res/drawable/ic_signal_kb_16.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_16.png rename to app/src/main/res/drawable/ic_signal_kb_16.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_160.png b/app/src/main/res/drawable/ic_signal_kb_160.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_160.png rename to app/src/main/res/drawable/ic_signal_kb_160.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_161.png b/app/src/main/res/drawable/ic_signal_kb_161.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_161.png rename to app/src/main/res/drawable/ic_signal_kb_161.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_162.png b/app/src/main/res/drawable/ic_signal_kb_162.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_162.png rename to app/src/main/res/drawable/ic_signal_kb_162.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_163.png b/app/src/main/res/drawable/ic_signal_kb_163.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_163.png rename to app/src/main/res/drawable/ic_signal_kb_163.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_164.png b/app/src/main/res/drawable/ic_signal_kb_164.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_164.png rename to app/src/main/res/drawable/ic_signal_kb_164.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_165.png b/app/src/main/res/drawable/ic_signal_kb_165.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_165.png rename to app/src/main/res/drawable/ic_signal_kb_165.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_166.png b/app/src/main/res/drawable/ic_signal_kb_166.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_166.png rename to app/src/main/res/drawable/ic_signal_kb_166.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_167.png b/app/src/main/res/drawable/ic_signal_kb_167.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_167.png rename to app/src/main/res/drawable/ic_signal_kb_167.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_168.png b/app/src/main/res/drawable/ic_signal_kb_168.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_168.png rename to app/src/main/res/drawable/ic_signal_kb_168.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_169.png b/app/src/main/res/drawable/ic_signal_kb_169.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_169.png rename to app/src/main/res/drawable/ic_signal_kb_169.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_17.png b/app/src/main/res/drawable/ic_signal_kb_17.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_17.png rename to app/src/main/res/drawable/ic_signal_kb_17.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_170.png b/app/src/main/res/drawable/ic_signal_kb_170.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_170.png rename to app/src/main/res/drawable/ic_signal_kb_170.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_171.png b/app/src/main/res/drawable/ic_signal_kb_171.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_171.png rename to app/src/main/res/drawable/ic_signal_kb_171.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_172.png b/app/src/main/res/drawable/ic_signal_kb_172.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_172.png rename to app/src/main/res/drawable/ic_signal_kb_172.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_173.png b/app/src/main/res/drawable/ic_signal_kb_173.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_173.png rename to app/src/main/res/drawable/ic_signal_kb_173.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_174.png b/app/src/main/res/drawable/ic_signal_kb_174.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_174.png rename to app/src/main/res/drawable/ic_signal_kb_174.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_175.png b/app/src/main/res/drawable/ic_signal_kb_175.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_175.png rename to app/src/main/res/drawable/ic_signal_kb_175.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_176.png b/app/src/main/res/drawable/ic_signal_kb_176.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_176.png rename to app/src/main/res/drawable/ic_signal_kb_176.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_177.png b/app/src/main/res/drawable/ic_signal_kb_177.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_177.png rename to app/src/main/res/drawable/ic_signal_kb_177.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_178.png b/app/src/main/res/drawable/ic_signal_kb_178.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_178.png rename to app/src/main/res/drawable/ic_signal_kb_178.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_179.png b/app/src/main/res/drawable/ic_signal_kb_179.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_179.png rename to app/src/main/res/drawable/ic_signal_kb_179.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_18.png b/app/src/main/res/drawable/ic_signal_kb_18.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_18.png rename to app/src/main/res/drawable/ic_signal_kb_18.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_180.png b/app/src/main/res/drawable/ic_signal_kb_180.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_180.png rename to app/src/main/res/drawable/ic_signal_kb_180.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_181.png b/app/src/main/res/drawable/ic_signal_kb_181.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_181.png rename to app/src/main/res/drawable/ic_signal_kb_181.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_182.png b/app/src/main/res/drawable/ic_signal_kb_182.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_182.png rename to app/src/main/res/drawable/ic_signal_kb_182.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_183.png b/app/src/main/res/drawable/ic_signal_kb_183.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_183.png rename to app/src/main/res/drawable/ic_signal_kb_183.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_184.png b/app/src/main/res/drawable/ic_signal_kb_184.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_184.png rename to app/src/main/res/drawable/ic_signal_kb_184.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_185.png b/app/src/main/res/drawable/ic_signal_kb_185.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_185.png rename to app/src/main/res/drawable/ic_signal_kb_185.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_186.png b/app/src/main/res/drawable/ic_signal_kb_186.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_186.png rename to app/src/main/res/drawable/ic_signal_kb_186.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_187.png b/app/src/main/res/drawable/ic_signal_kb_187.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_187.png rename to app/src/main/res/drawable/ic_signal_kb_187.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_188.png b/app/src/main/res/drawable/ic_signal_kb_188.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_188.png rename to app/src/main/res/drawable/ic_signal_kb_188.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_189.png b/app/src/main/res/drawable/ic_signal_kb_189.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_189.png rename to app/src/main/res/drawable/ic_signal_kb_189.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_19.png b/app/src/main/res/drawable/ic_signal_kb_19.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_19.png rename to app/src/main/res/drawable/ic_signal_kb_19.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_190.png b/app/src/main/res/drawable/ic_signal_kb_190.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_190.png rename to app/src/main/res/drawable/ic_signal_kb_190.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_191.png b/app/src/main/res/drawable/ic_signal_kb_191.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_191.png rename to app/src/main/res/drawable/ic_signal_kb_191.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_192.png b/app/src/main/res/drawable/ic_signal_kb_192.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_192.png rename to app/src/main/res/drawable/ic_signal_kb_192.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_193.png b/app/src/main/res/drawable/ic_signal_kb_193.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_193.png rename to app/src/main/res/drawable/ic_signal_kb_193.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_194.png b/app/src/main/res/drawable/ic_signal_kb_194.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_194.png rename to app/src/main/res/drawable/ic_signal_kb_194.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_195.png b/app/src/main/res/drawable/ic_signal_kb_195.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_195.png rename to app/src/main/res/drawable/ic_signal_kb_195.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_196.png b/app/src/main/res/drawable/ic_signal_kb_196.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_196.png rename to app/src/main/res/drawable/ic_signal_kb_196.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_197.png b/app/src/main/res/drawable/ic_signal_kb_197.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_197.png rename to app/src/main/res/drawable/ic_signal_kb_197.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_198.png b/app/src/main/res/drawable/ic_signal_kb_198.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_198.png rename to app/src/main/res/drawable/ic_signal_kb_198.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_199.png b/app/src/main/res/drawable/ic_signal_kb_199.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_199.png rename to app/src/main/res/drawable/ic_signal_kb_199.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_2.png b/app/src/main/res/drawable/ic_signal_kb_2.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_2.png rename to app/src/main/res/drawable/ic_signal_kb_2.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_20.png b/app/src/main/res/drawable/ic_signal_kb_20.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_20.png rename to app/src/main/res/drawable/ic_signal_kb_20.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_200.png b/app/src/main/res/drawable/ic_signal_kb_200.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_200.png rename to app/src/main/res/drawable/ic_signal_kb_200.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_201.png b/app/src/main/res/drawable/ic_signal_kb_201.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_201.png rename to app/src/main/res/drawable/ic_signal_kb_201.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_202.png b/app/src/main/res/drawable/ic_signal_kb_202.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_202.png rename to app/src/main/res/drawable/ic_signal_kb_202.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_203.png b/app/src/main/res/drawable/ic_signal_kb_203.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_203.png rename to app/src/main/res/drawable/ic_signal_kb_203.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_204.png b/app/src/main/res/drawable/ic_signal_kb_204.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_204.png rename to app/src/main/res/drawable/ic_signal_kb_204.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_205.png b/app/src/main/res/drawable/ic_signal_kb_205.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_205.png rename to app/src/main/res/drawable/ic_signal_kb_205.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_206.png b/app/src/main/res/drawable/ic_signal_kb_206.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_206.png rename to app/src/main/res/drawable/ic_signal_kb_206.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_207.png b/app/src/main/res/drawable/ic_signal_kb_207.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_207.png rename to app/src/main/res/drawable/ic_signal_kb_207.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_208.png b/app/src/main/res/drawable/ic_signal_kb_208.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_208.png rename to app/src/main/res/drawable/ic_signal_kb_208.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_209.png b/app/src/main/res/drawable/ic_signal_kb_209.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_209.png rename to app/src/main/res/drawable/ic_signal_kb_209.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_21.png b/app/src/main/res/drawable/ic_signal_kb_21.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_21.png rename to app/src/main/res/drawable/ic_signal_kb_21.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_210.png b/app/src/main/res/drawable/ic_signal_kb_210.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_210.png rename to app/src/main/res/drawable/ic_signal_kb_210.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_211.png b/app/src/main/res/drawable/ic_signal_kb_211.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_211.png rename to app/src/main/res/drawable/ic_signal_kb_211.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_212.png b/app/src/main/res/drawable/ic_signal_kb_212.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_212.png rename to app/src/main/res/drawable/ic_signal_kb_212.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_213.png b/app/src/main/res/drawable/ic_signal_kb_213.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_213.png rename to app/src/main/res/drawable/ic_signal_kb_213.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_214.png b/app/src/main/res/drawable/ic_signal_kb_214.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_214.png rename to app/src/main/res/drawable/ic_signal_kb_214.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_215.png b/app/src/main/res/drawable/ic_signal_kb_215.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_215.png rename to app/src/main/res/drawable/ic_signal_kb_215.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_216.png b/app/src/main/res/drawable/ic_signal_kb_216.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_216.png rename to app/src/main/res/drawable/ic_signal_kb_216.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_217.png b/app/src/main/res/drawable/ic_signal_kb_217.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_217.png rename to app/src/main/res/drawable/ic_signal_kb_217.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_218.png b/app/src/main/res/drawable/ic_signal_kb_218.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_218.png rename to app/src/main/res/drawable/ic_signal_kb_218.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_219.png b/app/src/main/res/drawable/ic_signal_kb_219.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_219.png rename to app/src/main/res/drawable/ic_signal_kb_219.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_22.png b/app/src/main/res/drawable/ic_signal_kb_22.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_22.png rename to app/src/main/res/drawable/ic_signal_kb_22.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_220.png b/app/src/main/res/drawable/ic_signal_kb_220.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_220.png rename to app/src/main/res/drawable/ic_signal_kb_220.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_221.png b/app/src/main/res/drawable/ic_signal_kb_221.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_221.png rename to app/src/main/res/drawable/ic_signal_kb_221.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_222.png b/app/src/main/res/drawable/ic_signal_kb_222.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_222.png rename to app/src/main/res/drawable/ic_signal_kb_222.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_223.png b/app/src/main/res/drawable/ic_signal_kb_223.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_223.png rename to app/src/main/res/drawable/ic_signal_kb_223.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_224.png b/app/src/main/res/drawable/ic_signal_kb_224.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_224.png rename to app/src/main/res/drawable/ic_signal_kb_224.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_225.png b/app/src/main/res/drawable/ic_signal_kb_225.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_225.png rename to app/src/main/res/drawable/ic_signal_kb_225.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_226.png b/app/src/main/res/drawable/ic_signal_kb_226.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_226.png rename to app/src/main/res/drawable/ic_signal_kb_226.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_227.png b/app/src/main/res/drawable/ic_signal_kb_227.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_227.png rename to app/src/main/res/drawable/ic_signal_kb_227.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_228.png b/app/src/main/res/drawable/ic_signal_kb_228.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_228.png rename to app/src/main/res/drawable/ic_signal_kb_228.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_229.png b/app/src/main/res/drawable/ic_signal_kb_229.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_229.png rename to app/src/main/res/drawable/ic_signal_kb_229.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_23.png b/app/src/main/res/drawable/ic_signal_kb_23.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_23.png rename to app/src/main/res/drawable/ic_signal_kb_23.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_230.png b/app/src/main/res/drawable/ic_signal_kb_230.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_230.png rename to app/src/main/res/drawable/ic_signal_kb_230.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_231.png b/app/src/main/res/drawable/ic_signal_kb_231.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_231.png rename to app/src/main/res/drawable/ic_signal_kb_231.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_232.png b/app/src/main/res/drawable/ic_signal_kb_232.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_232.png rename to app/src/main/res/drawable/ic_signal_kb_232.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_233.png b/app/src/main/res/drawable/ic_signal_kb_233.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_233.png rename to app/src/main/res/drawable/ic_signal_kb_233.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_234.png b/app/src/main/res/drawable/ic_signal_kb_234.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_234.png rename to app/src/main/res/drawable/ic_signal_kb_234.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_235.png b/app/src/main/res/drawable/ic_signal_kb_235.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_235.png rename to app/src/main/res/drawable/ic_signal_kb_235.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_236.png b/app/src/main/res/drawable/ic_signal_kb_236.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_236.png rename to app/src/main/res/drawable/ic_signal_kb_236.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_237.png b/app/src/main/res/drawable/ic_signal_kb_237.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_237.png rename to app/src/main/res/drawable/ic_signal_kb_237.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_238.png b/app/src/main/res/drawable/ic_signal_kb_238.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_238.png rename to app/src/main/res/drawable/ic_signal_kb_238.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_239.png b/app/src/main/res/drawable/ic_signal_kb_239.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_239.png rename to app/src/main/res/drawable/ic_signal_kb_239.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_24.png b/app/src/main/res/drawable/ic_signal_kb_24.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_24.png rename to app/src/main/res/drawable/ic_signal_kb_24.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_240.png b/app/src/main/res/drawable/ic_signal_kb_240.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_240.png rename to app/src/main/res/drawable/ic_signal_kb_240.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_241.png b/app/src/main/res/drawable/ic_signal_kb_241.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_241.png rename to app/src/main/res/drawable/ic_signal_kb_241.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_242.png b/app/src/main/res/drawable/ic_signal_kb_242.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_242.png rename to app/src/main/res/drawable/ic_signal_kb_242.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_243.png b/app/src/main/res/drawable/ic_signal_kb_243.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_243.png rename to app/src/main/res/drawable/ic_signal_kb_243.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_244.png b/app/src/main/res/drawable/ic_signal_kb_244.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_244.png rename to app/src/main/res/drawable/ic_signal_kb_244.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_245.png b/app/src/main/res/drawable/ic_signal_kb_245.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_245.png rename to app/src/main/res/drawable/ic_signal_kb_245.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_246.png b/app/src/main/res/drawable/ic_signal_kb_246.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_246.png rename to app/src/main/res/drawable/ic_signal_kb_246.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_247.png b/app/src/main/res/drawable/ic_signal_kb_247.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_247.png rename to app/src/main/res/drawable/ic_signal_kb_247.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_248.png b/app/src/main/res/drawable/ic_signal_kb_248.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_248.png rename to app/src/main/res/drawable/ic_signal_kb_248.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_249.png b/app/src/main/res/drawable/ic_signal_kb_249.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_249.png rename to app/src/main/res/drawable/ic_signal_kb_249.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_25.png b/app/src/main/res/drawable/ic_signal_kb_25.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_25.png rename to app/src/main/res/drawable/ic_signal_kb_25.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_250.png b/app/src/main/res/drawable/ic_signal_kb_250.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_250.png rename to app/src/main/res/drawable/ic_signal_kb_250.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_251.png b/app/src/main/res/drawable/ic_signal_kb_251.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_251.png rename to app/src/main/res/drawable/ic_signal_kb_251.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_252.png b/app/src/main/res/drawable/ic_signal_kb_252.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_252.png rename to app/src/main/res/drawable/ic_signal_kb_252.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_253.png b/app/src/main/res/drawable/ic_signal_kb_253.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_253.png rename to app/src/main/res/drawable/ic_signal_kb_253.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_254.png b/app/src/main/res/drawable/ic_signal_kb_254.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_254.png rename to app/src/main/res/drawable/ic_signal_kb_254.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_255.png b/app/src/main/res/drawable/ic_signal_kb_255.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_255.png rename to app/src/main/res/drawable/ic_signal_kb_255.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_256.png b/app/src/main/res/drawable/ic_signal_kb_256.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_256.png rename to app/src/main/res/drawable/ic_signal_kb_256.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_257.png b/app/src/main/res/drawable/ic_signal_kb_257.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_257.png rename to app/src/main/res/drawable/ic_signal_kb_257.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_258.png b/app/src/main/res/drawable/ic_signal_kb_258.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_258.png rename to app/src/main/res/drawable/ic_signal_kb_258.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_259.png b/app/src/main/res/drawable/ic_signal_kb_259.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_259.png rename to app/src/main/res/drawable/ic_signal_kb_259.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_26.png b/app/src/main/res/drawable/ic_signal_kb_26.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_26.png rename to app/src/main/res/drawable/ic_signal_kb_26.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_260.png b/app/src/main/res/drawable/ic_signal_kb_260.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_260.png rename to app/src/main/res/drawable/ic_signal_kb_260.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_261.png b/app/src/main/res/drawable/ic_signal_kb_261.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_261.png rename to app/src/main/res/drawable/ic_signal_kb_261.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_262.png b/app/src/main/res/drawable/ic_signal_kb_262.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_262.png rename to app/src/main/res/drawable/ic_signal_kb_262.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_263.png b/app/src/main/res/drawable/ic_signal_kb_263.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_263.png rename to app/src/main/res/drawable/ic_signal_kb_263.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_264.png b/app/src/main/res/drawable/ic_signal_kb_264.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_264.png rename to app/src/main/res/drawable/ic_signal_kb_264.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_265.png b/app/src/main/res/drawable/ic_signal_kb_265.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_265.png rename to app/src/main/res/drawable/ic_signal_kb_265.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_266.png b/app/src/main/res/drawable/ic_signal_kb_266.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_266.png rename to app/src/main/res/drawable/ic_signal_kb_266.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_267.png b/app/src/main/res/drawable/ic_signal_kb_267.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_267.png rename to app/src/main/res/drawable/ic_signal_kb_267.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_268.png b/app/src/main/res/drawable/ic_signal_kb_268.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_268.png rename to app/src/main/res/drawable/ic_signal_kb_268.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_269.png b/app/src/main/res/drawable/ic_signal_kb_269.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_269.png rename to app/src/main/res/drawable/ic_signal_kb_269.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_27.png b/app/src/main/res/drawable/ic_signal_kb_27.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_27.png rename to app/src/main/res/drawable/ic_signal_kb_27.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_270.png b/app/src/main/res/drawable/ic_signal_kb_270.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_270.png rename to app/src/main/res/drawable/ic_signal_kb_270.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_271.png b/app/src/main/res/drawable/ic_signal_kb_271.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_271.png rename to app/src/main/res/drawable/ic_signal_kb_271.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_272.png b/app/src/main/res/drawable/ic_signal_kb_272.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_272.png rename to app/src/main/res/drawable/ic_signal_kb_272.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_273.png b/app/src/main/res/drawable/ic_signal_kb_273.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_273.png rename to app/src/main/res/drawable/ic_signal_kb_273.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_274.png b/app/src/main/res/drawable/ic_signal_kb_274.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_274.png rename to app/src/main/res/drawable/ic_signal_kb_274.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_275.png b/app/src/main/res/drawable/ic_signal_kb_275.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_275.png rename to app/src/main/res/drawable/ic_signal_kb_275.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_276.png b/app/src/main/res/drawable/ic_signal_kb_276.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_276.png rename to app/src/main/res/drawable/ic_signal_kb_276.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_277.png b/app/src/main/res/drawable/ic_signal_kb_277.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_277.png rename to app/src/main/res/drawable/ic_signal_kb_277.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_278.png b/app/src/main/res/drawable/ic_signal_kb_278.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_278.png rename to app/src/main/res/drawable/ic_signal_kb_278.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_279.png b/app/src/main/res/drawable/ic_signal_kb_279.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_279.png rename to app/src/main/res/drawable/ic_signal_kb_279.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_28.png b/app/src/main/res/drawable/ic_signal_kb_28.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_28.png rename to app/src/main/res/drawable/ic_signal_kb_28.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_280.png b/app/src/main/res/drawable/ic_signal_kb_280.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_280.png rename to app/src/main/res/drawable/ic_signal_kb_280.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_281.png b/app/src/main/res/drawable/ic_signal_kb_281.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_281.png rename to app/src/main/res/drawable/ic_signal_kb_281.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_282.png b/app/src/main/res/drawable/ic_signal_kb_282.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_282.png rename to app/src/main/res/drawable/ic_signal_kb_282.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_283.png b/app/src/main/res/drawable/ic_signal_kb_283.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_283.png rename to app/src/main/res/drawable/ic_signal_kb_283.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_284.png b/app/src/main/res/drawable/ic_signal_kb_284.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_284.png rename to app/src/main/res/drawable/ic_signal_kb_284.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_285.png b/app/src/main/res/drawable/ic_signal_kb_285.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_285.png rename to app/src/main/res/drawable/ic_signal_kb_285.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_286.png b/app/src/main/res/drawable/ic_signal_kb_286.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_286.png rename to app/src/main/res/drawable/ic_signal_kb_286.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_287.png b/app/src/main/res/drawable/ic_signal_kb_287.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_287.png rename to app/src/main/res/drawable/ic_signal_kb_287.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_288.png b/app/src/main/res/drawable/ic_signal_kb_288.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_288.png rename to app/src/main/res/drawable/ic_signal_kb_288.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_289.png b/app/src/main/res/drawable/ic_signal_kb_289.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_289.png rename to app/src/main/res/drawable/ic_signal_kb_289.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_29.png b/app/src/main/res/drawable/ic_signal_kb_29.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_29.png rename to app/src/main/res/drawable/ic_signal_kb_29.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_290.png b/app/src/main/res/drawable/ic_signal_kb_290.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_290.png rename to app/src/main/res/drawable/ic_signal_kb_290.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_291.png b/app/src/main/res/drawable/ic_signal_kb_291.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_291.png rename to app/src/main/res/drawable/ic_signal_kb_291.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_292.png b/app/src/main/res/drawable/ic_signal_kb_292.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_292.png rename to app/src/main/res/drawable/ic_signal_kb_292.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_293.png b/app/src/main/res/drawable/ic_signal_kb_293.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_293.png rename to app/src/main/res/drawable/ic_signal_kb_293.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_294.png b/app/src/main/res/drawable/ic_signal_kb_294.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_294.png rename to app/src/main/res/drawable/ic_signal_kb_294.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_295.png b/app/src/main/res/drawable/ic_signal_kb_295.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_295.png rename to app/src/main/res/drawable/ic_signal_kb_295.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_296.png b/app/src/main/res/drawable/ic_signal_kb_296.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_296.png rename to app/src/main/res/drawable/ic_signal_kb_296.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_297.png b/app/src/main/res/drawable/ic_signal_kb_297.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_297.png rename to app/src/main/res/drawable/ic_signal_kb_297.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_298.png b/app/src/main/res/drawable/ic_signal_kb_298.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_298.png rename to app/src/main/res/drawable/ic_signal_kb_298.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_299.png b/app/src/main/res/drawable/ic_signal_kb_299.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_299.png rename to app/src/main/res/drawable/ic_signal_kb_299.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_3.png b/app/src/main/res/drawable/ic_signal_kb_3.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_3.png rename to app/src/main/res/drawable/ic_signal_kb_3.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_30.png b/app/src/main/res/drawable/ic_signal_kb_30.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_30.png rename to app/src/main/res/drawable/ic_signal_kb_30.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_300.png b/app/src/main/res/drawable/ic_signal_kb_300.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_300.png rename to app/src/main/res/drawable/ic_signal_kb_300.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_301.png b/app/src/main/res/drawable/ic_signal_kb_301.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_301.png rename to app/src/main/res/drawable/ic_signal_kb_301.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_302.png b/app/src/main/res/drawable/ic_signal_kb_302.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_302.png rename to app/src/main/res/drawable/ic_signal_kb_302.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_303.png b/app/src/main/res/drawable/ic_signal_kb_303.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_303.png rename to app/src/main/res/drawable/ic_signal_kb_303.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_304.png b/app/src/main/res/drawable/ic_signal_kb_304.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_304.png rename to app/src/main/res/drawable/ic_signal_kb_304.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_305.png b/app/src/main/res/drawable/ic_signal_kb_305.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_305.png rename to app/src/main/res/drawable/ic_signal_kb_305.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_306.png b/app/src/main/res/drawable/ic_signal_kb_306.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_306.png rename to app/src/main/res/drawable/ic_signal_kb_306.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_307.png b/app/src/main/res/drawable/ic_signal_kb_307.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_307.png rename to app/src/main/res/drawable/ic_signal_kb_307.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_308.png b/app/src/main/res/drawable/ic_signal_kb_308.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_308.png rename to app/src/main/res/drawable/ic_signal_kb_308.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_309.png b/app/src/main/res/drawable/ic_signal_kb_309.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_309.png rename to app/src/main/res/drawable/ic_signal_kb_309.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_31.png b/app/src/main/res/drawable/ic_signal_kb_31.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_31.png rename to app/src/main/res/drawable/ic_signal_kb_31.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_310.png b/app/src/main/res/drawable/ic_signal_kb_310.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_310.png rename to app/src/main/res/drawable/ic_signal_kb_310.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_311.png b/app/src/main/res/drawable/ic_signal_kb_311.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_311.png rename to app/src/main/res/drawable/ic_signal_kb_311.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_312.png b/app/src/main/res/drawable/ic_signal_kb_312.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_312.png rename to app/src/main/res/drawable/ic_signal_kb_312.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_313.png b/app/src/main/res/drawable/ic_signal_kb_313.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_313.png rename to app/src/main/res/drawable/ic_signal_kb_313.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_314.png b/app/src/main/res/drawable/ic_signal_kb_314.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_314.png rename to app/src/main/res/drawable/ic_signal_kb_314.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_315.png b/app/src/main/res/drawable/ic_signal_kb_315.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_315.png rename to app/src/main/res/drawable/ic_signal_kb_315.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_316.png b/app/src/main/res/drawable/ic_signal_kb_316.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_316.png rename to app/src/main/res/drawable/ic_signal_kb_316.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_317.png b/app/src/main/res/drawable/ic_signal_kb_317.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_317.png rename to app/src/main/res/drawable/ic_signal_kb_317.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_318.png b/app/src/main/res/drawable/ic_signal_kb_318.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_318.png rename to app/src/main/res/drawable/ic_signal_kb_318.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_319.png b/app/src/main/res/drawable/ic_signal_kb_319.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_319.png rename to app/src/main/res/drawable/ic_signal_kb_319.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_32.png b/app/src/main/res/drawable/ic_signal_kb_32.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_32.png rename to app/src/main/res/drawable/ic_signal_kb_32.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_320.png b/app/src/main/res/drawable/ic_signal_kb_320.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_320.png rename to app/src/main/res/drawable/ic_signal_kb_320.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_321.png b/app/src/main/res/drawable/ic_signal_kb_321.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_321.png rename to app/src/main/res/drawable/ic_signal_kb_321.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_322.png b/app/src/main/res/drawable/ic_signal_kb_322.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_322.png rename to app/src/main/res/drawable/ic_signal_kb_322.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_323.png b/app/src/main/res/drawable/ic_signal_kb_323.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_323.png rename to app/src/main/res/drawable/ic_signal_kb_323.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_324.png b/app/src/main/res/drawable/ic_signal_kb_324.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_324.png rename to app/src/main/res/drawable/ic_signal_kb_324.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_325.png b/app/src/main/res/drawable/ic_signal_kb_325.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_325.png rename to app/src/main/res/drawable/ic_signal_kb_325.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_326.png b/app/src/main/res/drawable/ic_signal_kb_326.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_326.png rename to app/src/main/res/drawable/ic_signal_kb_326.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_327.png b/app/src/main/res/drawable/ic_signal_kb_327.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_327.png rename to app/src/main/res/drawable/ic_signal_kb_327.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_328.png b/app/src/main/res/drawable/ic_signal_kb_328.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_328.png rename to app/src/main/res/drawable/ic_signal_kb_328.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_329.png b/app/src/main/res/drawable/ic_signal_kb_329.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_329.png rename to app/src/main/res/drawable/ic_signal_kb_329.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_33.png b/app/src/main/res/drawable/ic_signal_kb_33.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_33.png rename to app/src/main/res/drawable/ic_signal_kb_33.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_330.png b/app/src/main/res/drawable/ic_signal_kb_330.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_330.png rename to app/src/main/res/drawable/ic_signal_kb_330.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_331.png b/app/src/main/res/drawable/ic_signal_kb_331.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_331.png rename to app/src/main/res/drawable/ic_signal_kb_331.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_332.png b/app/src/main/res/drawable/ic_signal_kb_332.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_332.png rename to app/src/main/res/drawable/ic_signal_kb_332.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_333.png b/app/src/main/res/drawable/ic_signal_kb_333.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_333.png rename to app/src/main/res/drawable/ic_signal_kb_333.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_334.png b/app/src/main/res/drawable/ic_signal_kb_334.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_334.png rename to app/src/main/res/drawable/ic_signal_kb_334.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_335.png b/app/src/main/res/drawable/ic_signal_kb_335.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_335.png rename to app/src/main/res/drawable/ic_signal_kb_335.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_336.png b/app/src/main/res/drawable/ic_signal_kb_336.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_336.png rename to app/src/main/res/drawable/ic_signal_kb_336.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_337.png b/app/src/main/res/drawable/ic_signal_kb_337.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_337.png rename to app/src/main/res/drawable/ic_signal_kb_337.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_338.png b/app/src/main/res/drawable/ic_signal_kb_338.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_338.png rename to app/src/main/res/drawable/ic_signal_kb_338.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_339.png b/app/src/main/res/drawable/ic_signal_kb_339.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_339.png rename to app/src/main/res/drawable/ic_signal_kb_339.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_34.png b/app/src/main/res/drawable/ic_signal_kb_34.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_34.png rename to app/src/main/res/drawable/ic_signal_kb_34.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_340.png b/app/src/main/res/drawable/ic_signal_kb_340.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_340.png rename to app/src/main/res/drawable/ic_signal_kb_340.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_341.png b/app/src/main/res/drawable/ic_signal_kb_341.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_341.png rename to app/src/main/res/drawable/ic_signal_kb_341.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_342.png b/app/src/main/res/drawable/ic_signal_kb_342.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_342.png rename to app/src/main/res/drawable/ic_signal_kb_342.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_343.png b/app/src/main/res/drawable/ic_signal_kb_343.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_343.png rename to app/src/main/res/drawable/ic_signal_kb_343.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_344.png b/app/src/main/res/drawable/ic_signal_kb_344.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_344.png rename to app/src/main/res/drawable/ic_signal_kb_344.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_345.png b/app/src/main/res/drawable/ic_signal_kb_345.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_345.png rename to app/src/main/res/drawable/ic_signal_kb_345.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_346.png b/app/src/main/res/drawable/ic_signal_kb_346.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_346.png rename to app/src/main/res/drawable/ic_signal_kb_346.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_347.png b/app/src/main/res/drawable/ic_signal_kb_347.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_347.png rename to app/src/main/res/drawable/ic_signal_kb_347.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_348.png b/app/src/main/res/drawable/ic_signal_kb_348.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_348.png rename to app/src/main/res/drawable/ic_signal_kb_348.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_349.png b/app/src/main/res/drawable/ic_signal_kb_349.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_349.png rename to app/src/main/res/drawable/ic_signal_kb_349.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_35.png b/app/src/main/res/drawable/ic_signal_kb_35.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_35.png rename to app/src/main/res/drawable/ic_signal_kb_35.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_350.png b/app/src/main/res/drawable/ic_signal_kb_350.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_350.png rename to app/src/main/res/drawable/ic_signal_kb_350.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_351.png b/app/src/main/res/drawable/ic_signal_kb_351.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_351.png rename to app/src/main/res/drawable/ic_signal_kb_351.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_352.png b/app/src/main/res/drawable/ic_signal_kb_352.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_352.png rename to app/src/main/res/drawable/ic_signal_kb_352.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_353.png b/app/src/main/res/drawable/ic_signal_kb_353.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_353.png rename to app/src/main/res/drawable/ic_signal_kb_353.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_354.png b/app/src/main/res/drawable/ic_signal_kb_354.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_354.png rename to app/src/main/res/drawable/ic_signal_kb_354.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_355.png b/app/src/main/res/drawable/ic_signal_kb_355.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_355.png rename to app/src/main/res/drawable/ic_signal_kb_355.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_356.png b/app/src/main/res/drawable/ic_signal_kb_356.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_356.png rename to app/src/main/res/drawable/ic_signal_kb_356.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_357.png b/app/src/main/res/drawable/ic_signal_kb_357.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_357.png rename to app/src/main/res/drawable/ic_signal_kb_357.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_358.png b/app/src/main/res/drawable/ic_signal_kb_358.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_358.png rename to app/src/main/res/drawable/ic_signal_kb_358.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_359.png b/app/src/main/res/drawable/ic_signal_kb_359.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_359.png rename to app/src/main/res/drawable/ic_signal_kb_359.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_36.png b/app/src/main/res/drawable/ic_signal_kb_36.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_36.png rename to app/src/main/res/drawable/ic_signal_kb_36.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_360.png b/app/src/main/res/drawable/ic_signal_kb_360.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_360.png rename to app/src/main/res/drawable/ic_signal_kb_360.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_361.png b/app/src/main/res/drawable/ic_signal_kb_361.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_361.png rename to app/src/main/res/drawable/ic_signal_kb_361.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_362.png b/app/src/main/res/drawable/ic_signal_kb_362.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_362.png rename to app/src/main/res/drawable/ic_signal_kb_362.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_363.png b/app/src/main/res/drawable/ic_signal_kb_363.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_363.png rename to app/src/main/res/drawable/ic_signal_kb_363.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_364.png b/app/src/main/res/drawable/ic_signal_kb_364.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_364.png rename to app/src/main/res/drawable/ic_signal_kb_364.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_365.png b/app/src/main/res/drawable/ic_signal_kb_365.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_365.png rename to app/src/main/res/drawable/ic_signal_kb_365.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_366.png b/app/src/main/res/drawable/ic_signal_kb_366.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_366.png rename to app/src/main/res/drawable/ic_signal_kb_366.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_367.png b/app/src/main/res/drawable/ic_signal_kb_367.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_367.png rename to app/src/main/res/drawable/ic_signal_kb_367.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_368.png b/app/src/main/res/drawable/ic_signal_kb_368.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_368.png rename to app/src/main/res/drawable/ic_signal_kb_368.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_369.png b/app/src/main/res/drawable/ic_signal_kb_369.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_369.png rename to app/src/main/res/drawable/ic_signal_kb_369.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_37.png b/app/src/main/res/drawable/ic_signal_kb_37.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_37.png rename to app/src/main/res/drawable/ic_signal_kb_37.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_370.png b/app/src/main/res/drawable/ic_signal_kb_370.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_370.png rename to app/src/main/res/drawable/ic_signal_kb_370.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_371.png b/app/src/main/res/drawable/ic_signal_kb_371.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_371.png rename to app/src/main/res/drawable/ic_signal_kb_371.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_372.png b/app/src/main/res/drawable/ic_signal_kb_372.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_372.png rename to app/src/main/res/drawable/ic_signal_kb_372.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_373.png b/app/src/main/res/drawable/ic_signal_kb_373.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_373.png rename to app/src/main/res/drawable/ic_signal_kb_373.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_374.png b/app/src/main/res/drawable/ic_signal_kb_374.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_374.png rename to app/src/main/res/drawable/ic_signal_kb_374.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_375.png b/app/src/main/res/drawable/ic_signal_kb_375.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_375.png rename to app/src/main/res/drawable/ic_signal_kb_375.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_376.png b/app/src/main/res/drawable/ic_signal_kb_376.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_376.png rename to app/src/main/res/drawable/ic_signal_kb_376.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_377.png b/app/src/main/res/drawable/ic_signal_kb_377.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_377.png rename to app/src/main/res/drawable/ic_signal_kb_377.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_378.png b/app/src/main/res/drawable/ic_signal_kb_378.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_378.png rename to app/src/main/res/drawable/ic_signal_kb_378.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_379.png b/app/src/main/res/drawable/ic_signal_kb_379.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_379.png rename to app/src/main/res/drawable/ic_signal_kb_379.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_38.png b/app/src/main/res/drawable/ic_signal_kb_38.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_38.png rename to app/src/main/res/drawable/ic_signal_kb_38.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_380.png b/app/src/main/res/drawable/ic_signal_kb_380.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_380.png rename to app/src/main/res/drawable/ic_signal_kb_380.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_381.png b/app/src/main/res/drawable/ic_signal_kb_381.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_381.png rename to app/src/main/res/drawable/ic_signal_kb_381.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_382.png b/app/src/main/res/drawable/ic_signal_kb_382.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_382.png rename to app/src/main/res/drawable/ic_signal_kb_382.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_383.png b/app/src/main/res/drawable/ic_signal_kb_383.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_383.png rename to app/src/main/res/drawable/ic_signal_kb_383.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_384.png b/app/src/main/res/drawable/ic_signal_kb_384.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_384.png rename to app/src/main/res/drawable/ic_signal_kb_384.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_385.png b/app/src/main/res/drawable/ic_signal_kb_385.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_385.png rename to app/src/main/res/drawable/ic_signal_kb_385.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_386.png b/app/src/main/res/drawable/ic_signal_kb_386.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_386.png rename to app/src/main/res/drawable/ic_signal_kb_386.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_387.png b/app/src/main/res/drawable/ic_signal_kb_387.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_387.png rename to app/src/main/res/drawable/ic_signal_kb_387.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_388.png b/app/src/main/res/drawable/ic_signal_kb_388.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_388.png rename to app/src/main/res/drawable/ic_signal_kb_388.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_389.png b/app/src/main/res/drawable/ic_signal_kb_389.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_389.png rename to app/src/main/res/drawable/ic_signal_kb_389.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_39.png b/app/src/main/res/drawable/ic_signal_kb_39.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_39.png rename to app/src/main/res/drawable/ic_signal_kb_39.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_390.png b/app/src/main/res/drawable/ic_signal_kb_390.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_390.png rename to app/src/main/res/drawable/ic_signal_kb_390.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_391.png b/app/src/main/res/drawable/ic_signal_kb_391.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_391.png rename to app/src/main/res/drawable/ic_signal_kb_391.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_392.png b/app/src/main/res/drawable/ic_signal_kb_392.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_392.png rename to app/src/main/res/drawable/ic_signal_kb_392.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_393.png b/app/src/main/res/drawable/ic_signal_kb_393.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_393.png rename to app/src/main/res/drawable/ic_signal_kb_393.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_394.png b/app/src/main/res/drawable/ic_signal_kb_394.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_394.png rename to app/src/main/res/drawable/ic_signal_kb_394.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_395.png b/app/src/main/res/drawable/ic_signal_kb_395.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_395.png rename to app/src/main/res/drawable/ic_signal_kb_395.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_396.png b/app/src/main/res/drawable/ic_signal_kb_396.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_396.png rename to app/src/main/res/drawable/ic_signal_kb_396.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_397.png b/app/src/main/res/drawable/ic_signal_kb_397.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_397.png rename to app/src/main/res/drawable/ic_signal_kb_397.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_398.png b/app/src/main/res/drawable/ic_signal_kb_398.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_398.png rename to app/src/main/res/drawable/ic_signal_kb_398.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_399.png b/app/src/main/res/drawable/ic_signal_kb_399.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_399.png rename to app/src/main/res/drawable/ic_signal_kb_399.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_4.png b/app/src/main/res/drawable/ic_signal_kb_4.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_4.png rename to app/src/main/res/drawable/ic_signal_kb_4.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_40.png b/app/src/main/res/drawable/ic_signal_kb_40.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_40.png rename to app/src/main/res/drawable/ic_signal_kb_40.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_400.png b/app/src/main/res/drawable/ic_signal_kb_400.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_400.png rename to app/src/main/res/drawable/ic_signal_kb_400.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_401.png b/app/src/main/res/drawable/ic_signal_kb_401.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_401.png rename to app/src/main/res/drawable/ic_signal_kb_401.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_402.png b/app/src/main/res/drawable/ic_signal_kb_402.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_402.png rename to app/src/main/res/drawable/ic_signal_kb_402.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_403.png b/app/src/main/res/drawable/ic_signal_kb_403.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_403.png rename to app/src/main/res/drawable/ic_signal_kb_403.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_404.png b/app/src/main/res/drawable/ic_signal_kb_404.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_404.png rename to app/src/main/res/drawable/ic_signal_kb_404.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_405.png b/app/src/main/res/drawable/ic_signal_kb_405.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_405.png rename to app/src/main/res/drawable/ic_signal_kb_405.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_406.png b/app/src/main/res/drawable/ic_signal_kb_406.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_406.png rename to app/src/main/res/drawable/ic_signal_kb_406.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_407.png b/app/src/main/res/drawable/ic_signal_kb_407.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_407.png rename to app/src/main/res/drawable/ic_signal_kb_407.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_408.png b/app/src/main/res/drawable/ic_signal_kb_408.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_408.png rename to app/src/main/res/drawable/ic_signal_kb_408.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_409.png b/app/src/main/res/drawable/ic_signal_kb_409.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_409.png rename to app/src/main/res/drawable/ic_signal_kb_409.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_41.png b/app/src/main/res/drawable/ic_signal_kb_41.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_41.png rename to app/src/main/res/drawable/ic_signal_kb_41.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_410.png b/app/src/main/res/drawable/ic_signal_kb_410.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_410.png rename to app/src/main/res/drawable/ic_signal_kb_410.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_411.png b/app/src/main/res/drawable/ic_signal_kb_411.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_411.png rename to app/src/main/res/drawable/ic_signal_kb_411.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_412.png b/app/src/main/res/drawable/ic_signal_kb_412.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_412.png rename to app/src/main/res/drawable/ic_signal_kb_412.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_413.png b/app/src/main/res/drawable/ic_signal_kb_413.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_413.png rename to app/src/main/res/drawable/ic_signal_kb_413.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_414.png b/app/src/main/res/drawable/ic_signal_kb_414.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_414.png rename to app/src/main/res/drawable/ic_signal_kb_414.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_415.png b/app/src/main/res/drawable/ic_signal_kb_415.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_415.png rename to app/src/main/res/drawable/ic_signal_kb_415.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_416.png b/app/src/main/res/drawable/ic_signal_kb_416.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_416.png rename to app/src/main/res/drawable/ic_signal_kb_416.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_417.png b/app/src/main/res/drawable/ic_signal_kb_417.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_417.png rename to app/src/main/res/drawable/ic_signal_kb_417.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_418.png b/app/src/main/res/drawable/ic_signal_kb_418.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_418.png rename to app/src/main/res/drawable/ic_signal_kb_418.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_419.png b/app/src/main/res/drawable/ic_signal_kb_419.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_419.png rename to app/src/main/res/drawable/ic_signal_kb_419.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_42.png b/app/src/main/res/drawable/ic_signal_kb_42.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_42.png rename to app/src/main/res/drawable/ic_signal_kb_42.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_420.png b/app/src/main/res/drawable/ic_signal_kb_420.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_420.png rename to app/src/main/res/drawable/ic_signal_kb_420.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_421.png b/app/src/main/res/drawable/ic_signal_kb_421.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_421.png rename to app/src/main/res/drawable/ic_signal_kb_421.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_422.png b/app/src/main/res/drawable/ic_signal_kb_422.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_422.png rename to app/src/main/res/drawable/ic_signal_kb_422.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_423.png b/app/src/main/res/drawable/ic_signal_kb_423.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_423.png rename to app/src/main/res/drawable/ic_signal_kb_423.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_424.png b/app/src/main/res/drawable/ic_signal_kb_424.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_424.png rename to app/src/main/res/drawable/ic_signal_kb_424.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_425.png b/app/src/main/res/drawable/ic_signal_kb_425.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_425.png rename to app/src/main/res/drawable/ic_signal_kb_425.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_426.png b/app/src/main/res/drawable/ic_signal_kb_426.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_426.png rename to app/src/main/res/drawable/ic_signal_kb_426.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_427.png b/app/src/main/res/drawable/ic_signal_kb_427.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_427.png rename to app/src/main/res/drawable/ic_signal_kb_427.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_428.png b/app/src/main/res/drawable/ic_signal_kb_428.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_428.png rename to app/src/main/res/drawable/ic_signal_kb_428.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_429.png b/app/src/main/res/drawable/ic_signal_kb_429.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_429.png rename to app/src/main/res/drawable/ic_signal_kb_429.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_43.png b/app/src/main/res/drawable/ic_signal_kb_43.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_43.png rename to app/src/main/res/drawable/ic_signal_kb_43.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_430.png b/app/src/main/res/drawable/ic_signal_kb_430.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_430.png rename to app/src/main/res/drawable/ic_signal_kb_430.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_431.png b/app/src/main/res/drawable/ic_signal_kb_431.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_431.png rename to app/src/main/res/drawable/ic_signal_kb_431.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_432.png b/app/src/main/res/drawable/ic_signal_kb_432.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_432.png rename to app/src/main/res/drawable/ic_signal_kb_432.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_433.png b/app/src/main/res/drawable/ic_signal_kb_433.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_433.png rename to app/src/main/res/drawable/ic_signal_kb_433.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_434.png b/app/src/main/res/drawable/ic_signal_kb_434.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_434.png rename to app/src/main/res/drawable/ic_signal_kb_434.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_435.png b/app/src/main/res/drawable/ic_signal_kb_435.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_435.png rename to app/src/main/res/drawable/ic_signal_kb_435.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_436.png b/app/src/main/res/drawable/ic_signal_kb_436.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_436.png rename to app/src/main/res/drawable/ic_signal_kb_436.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_437.png b/app/src/main/res/drawable/ic_signal_kb_437.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_437.png rename to app/src/main/res/drawable/ic_signal_kb_437.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_438.png b/app/src/main/res/drawable/ic_signal_kb_438.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_438.png rename to app/src/main/res/drawable/ic_signal_kb_438.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_439.png b/app/src/main/res/drawable/ic_signal_kb_439.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_439.png rename to app/src/main/res/drawable/ic_signal_kb_439.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_44.png b/app/src/main/res/drawable/ic_signal_kb_44.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_44.png rename to app/src/main/res/drawable/ic_signal_kb_44.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_440.png b/app/src/main/res/drawable/ic_signal_kb_440.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_440.png rename to app/src/main/res/drawable/ic_signal_kb_440.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_441.png b/app/src/main/res/drawable/ic_signal_kb_441.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_441.png rename to app/src/main/res/drawable/ic_signal_kb_441.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_442.png b/app/src/main/res/drawable/ic_signal_kb_442.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_442.png rename to app/src/main/res/drawable/ic_signal_kb_442.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_443.png b/app/src/main/res/drawable/ic_signal_kb_443.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_443.png rename to app/src/main/res/drawable/ic_signal_kb_443.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_444.png b/app/src/main/res/drawable/ic_signal_kb_444.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_444.png rename to app/src/main/res/drawable/ic_signal_kb_444.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_445.png b/app/src/main/res/drawable/ic_signal_kb_445.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_445.png rename to app/src/main/res/drawable/ic_signal_kb_445.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_446.png b/app/src/main/res/drawable/ic_signal_kb_446.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_446.png rename to app/src/main/res/drawable/ic_signal_kb_446.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_447.png b/app/src/main/res/drawable/ic_signal_kb_447.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_447.png rename to app/src/main/res/drawable/ic_signal_kb_447.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_448.png b/app/src/main/res/drawable/ic_signal_kb_448.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_448.png rename to app/src/main/res/drawable/ic_signal_kb_448.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_449.png b/app/src/main/res/drawable/ic_signal_kb_449.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_449.png rename to app/src/main/res/drawable/ic_signal_kb_449.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_45.png b/app/src/main/res/drawable/ic_signal_kb_45.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_45.png rename to app/src/main/res/drawable/ic_signal_kb_45.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_450.png b/app/src/main/res/drawable/ic_signal_kb_450.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_450.png rename to app/src/main/res/drawable/ic_signal_kb_450.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_451.png b/app/src/main/res/drawable/ic_signal_kb_451.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_451.png rename to app/src/main/res/drawable/ic_signal_kb_451.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_452.png b/app/src/main/res/drawable/ic_signal_kb_452.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_452.png rename to app/src/main/res/drawable/ic_signal_kb_452.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_453.png b/app/src/main/res/drawable/ic_signal_kb_453.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_453.png rename to app/src/main/res/drawable/ic_signal_kb_453.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_454.png b/app/src/main/res/drawable/ic_signal_kb_454.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_454.png rename to app/src/main/res/drawable/ic_signal_kb_454.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_455.png b/app/src/main/res/drawable/ic_signal_kb_455.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_455.png rename to app/src/main/res/drawable/ic_signal_kb_455.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_456.png b/app/src/main/res/drawable/ic_signal_kb_456.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_456.png rename to app/src/main/res/drawable/ic_signal_kb_456.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_457.png b/app/src/main/res/drawable/ic_signal_kb_457.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_457.png rename to app/src/main/res/drawable/ic_signal_kb_457.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_458.png b/app/src/main/res/drawable/ic_signal_kb_458.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_458.png rename to app/src/main/res/drawable/ic_signal_kb_458.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_459.png b/app/src/main/res/drawable/ic_signal_kb_459.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_459.png rename to app/src/main/res/drawable/ic_signal_kb_459.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_46.png b/app/src/main/res/drawable/ic_signal_kb_46.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_46.png rename to app/src/main/res/drawable/ic_signal_kb_46.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_460.png b/app/src/main/res/drawable/ic_signal_kb_460.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_460.png rename to app/src/main/res/drawable/ic_signal_kb_460.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_461.png b/app/src/main/res/drawable/ic_signal_kb_461.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_461.png rename to app/src/main/res/drawable/ic_signal_kb_461.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_462.png b/app/src/main/res/drawable/ic_signal_kb_462.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_462.png rename to app/src/main/res/drawable/ic_signal_kb_462.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_463.png b/app/src/main/res/drawable/ic_signal_kb_463.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_463.png rename to app/src/main/res/drawable/ic_signal_kb_463.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_464.png b/app/src/main/res/drawable/ic_signal_kb_464.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_464.png rename to app/src/main/res/drawable/ic_signal_kb_464.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_465.png b/app/src/main/res/drawable/ic_signal_kb_465.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_465.png rename to app/src/main/res/drawable/ic_signal_kb_465.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_466.png b/app/src/main/res/drawable/ic_signal_kb_466.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_466.png rename to app/src/main/res/drawable/ic_signal_kb_466.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_467.png b/app/src/main/res/drawable/ic_signal_kb_467.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_467.png rename to app/src/main/res/drawable/ic_signal_kb_467.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_468.png b/app/src/main/res/drawable/ic_signal_kb_468.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_468.png rename to app/src/main/res/drawable/ic_signal_kb_468.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_469.png b/app/src/main/res/drawable/ic_signal_kb_469.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_469.png rename to app/src/main/res/drawable/ic_signal_kb_469.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_47.png b/app/src/main/res/drawable/ic_signal_kb_47.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_47.png rename to app/src/main/res/drawable/ic_signal_kb_47.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_470.png b/app/src/main/res/drawable/ic_signal_kb_470.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_470.png rename to app/src/main/res/drawable/ic_signal_kb_470.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_471.png b/app/src/main/res/drawable/ic_signal_kb_471.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_471.png rename to app/src/main/res/drawable/ic_signal_kb_471.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_472.png b/app/src/main/res/drawable/ic_signal_kb_472.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_472.png rename to app/src/main/res/drawable/ic_signal_kb_472.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_473.png b/app/src/main/res/drawable/ic_signal_kb_473.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_473.png rename to app/src/main/res/drawable/ic_signal_kb_473.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_474.png b/app/src/main/res/drawable/ic_signal_kb_474.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_474.png rename to app/src/main/res/drawable/ic_signal_kb_474.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_475.png b/app/src/main/res/drawable/ic_signal_kb_475.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_475.png rename to app/src/main/res/drawable/ic_signal_kb_475.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_476.png b/app/src/main/res/drawable/ic_signal_kb_476.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_476.png rename to app/src/main/res/drawable/ic_signal_kb_476.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_477.png b/app/src/main/res/drawable/ic_signal_kb_477.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_477.png rename to app/src/main/res/drawable/ic_signal_kb_477.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_478.png b/app/src/main/res/drawable/ic_signal_kb_478.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_478.png rename to app/src/main/res/drawable/ic_signal_kb_478.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_479.png b/app/src/main/res/drawable/ic_signal_kb_479.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_479.png rename to app/src/main/res/drawable/ic_signal_kb_479.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_48.png b/app/src/main/res/drawable/ic_signal_kb_48.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_48.png rename to app/src/main/res/drawable/ic_signal_kb_48.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_480.png b/app/src/main/res/drawable/ic_signal_kb_480.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_480.png rename to app/src/main/res/drawable/ic_signal_kb_480.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_481.png b/app/src/main/res/drawable/ic_signal_kb_481.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_481.png rename to app/src/main/res/drawable/ic_signal_kb_481.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_482.png b/app/src/main/res/drawable/ic_signal_kb_482.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_482.png rename to app/src/main/res/drawable/ic_signal_kb_482.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_483.png b/app/src/main/res/drawable/ic_signal_kb_483.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_483.png rename to app/src/main/res/drawable/ic_signal_kb_483.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_484.png b/app/src/main/res/drawable/ic_signal_kb_484.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_484.png rename to app/src/main/res/drawable/ic_signal_kb_484.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_485.png b/app/src/main/res/drawable/ic_signal_kb_485.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_485.png rename to app/src/main/res/drawable/ic_signal_kb_485.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_486.png b/app/src/main/res/drawable/ic_signal_kb_486.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_486.png rename to app/src/main/res/drawable/ic_signal_kb_486.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_487.png b/app/src/main/res/drawable/ic_signal_kb_487.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_487.png rename to app/src/main/res/drawable/ic_signal_kb_487.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_488.png b/app/src/main/res/drawable/ic_signal_kb_488.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_488.png rename to app/src/main/res/drawable/ic_signal_kb_488.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_489.png b/app/src/main/res/drawable/ic_signal_kb_489.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_489.png rename to app/src/main/res/drawable/ic_signal_kb_489.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_49.png b/app/src/main/res/drawable/ic_signal_kb_49.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_49.png rename to app/src/main/res/drawable/ic_signal_kb_49.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_490.png b/app/src/main/res/drawable/ic_signal_kb_490.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_490.png rename to app/src/main/res/drawable/ic_signal_kb_490.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_491.png b/app/src/main/res/drawable/ic_signal_kb_491.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_491.png rename to app/src/main/res/drawable/ic_signal_kb_491.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_492.png b/app/src/main/res/drawable/ic_signal_kb_492.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_492.png rename to app/src/main/res/drawable/ic_signal_kb_492.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_493.png b/app/src/main/res/drawable/ic_signal_kb_493.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_493.png rename to app/src/main/res/drawable/ic_signal_kb_493.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_494.png b/app/src/main/res/drawable/ic_signal_kb_494.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_494.png rename to app/src/main/res/drawable/ic_signal_kb_494.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_495.png b/app/src/main/res/drawable/ic_signal_kb_495.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_495.png rename to app/src/main/res/drawable/ic_signal_kb_495.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_496.png b/app/src/main/res/drawable/ic_signal_kb_496.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_496.png rename to app/src/main/res/drawable/ic_signal_kb_496.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_497.png b/app/src/main/res/drawable/ic_signal_kb_497.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_497.png rename to app/src/main/res/drawable/ic_signal_kb_497.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_498.png b/app/src/main/res/drawable/ic_signal_kb_498.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_498.png rename to app/src/main/res/drawable/ic_signal_kb_498.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_499.png b/app/src/main/res/drawable/ic_signal_kb_499.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_499.png rename to app/src/main/res/drawable/ic_signal_kb_499.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_5.png b/app/src/main/res/drawable/ic_signal_kb_5.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_5.png rename to app/src/main/res/drawable/ic_signal_kb_5.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_50.png b/app/src/main/res/drawable/ic_signal_kb_50.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_50.png rename to app/src/main/res/drawable/ic_signal_kb_50.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_500.png b/app/src/main/res/drawable/ic_signal_kb_500.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_500.png rename to app/src/main/res/drawable/ic_signal_kb_500.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_501.png b/app/src/main/res/drawable/ic_signal_kb_501.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_501.png rename to app/src/main/res/drawable/ic_signal_kb_501.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_502.png b/app/src/main/res/drawable/ic_signal_kb_502.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_502.png rename to app/src/main/res/drawable/ic_signal_kb_502.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_503.png b/app/src/main/res/drawable/ic_signal_kb_503.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_503.png rename to app/src/main/res/drawable/ic_signal_kb_503.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_504.png b/app/src/main/res/drawable/ic_signal_kb_504.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_504.png rename to app/src/main/res/drawable/ic_signal_kb_504.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_505.png b/app/src/main/res/drawable/ic_signal_kb_505.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_505.png rename to app/src/main/res/drawable/ic_signal_kb_505.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_506.png b/app/src/main/res/drawable/ic_signal_kb_506.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_506.png rename to app/src/main/res/drawable/ic_signal_kb_506.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_507.png b/app/src/main/res/drawable/ic_signal_kb_507.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_507.png rename to app/src/main/res/drawable/ic_signal_kb_507.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_508.png b/app/src/main/res/drawable/ic_signal_kb_508.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_508.png rename to app/src/main/res/drawable/ic_signal_kb_508.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_509.png b/app/src/main/res/drawable/ic_signal_kb_509.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_509.png rename to app/src/main/res/drawable/ic_signal_kb_509.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_51.png b/app/src/main/res/drawable/ic_signal_kb_51.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_51.png rename to app/src/main/res/drawable/ic_signal_kb_51.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_510.png b/app/src/main/res/drawable/ic_signal_kb_510.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_510.png rename to app/src/main/res/drawable/ic_signal_kb_510.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_511.png b/app/src/main/res/drawable/ic_signal_kb_511.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_511.png rename to app/src/main/res/drawable/ic_signal_kb_511.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_512.png b/app/src/main/res/drawable/ic_signal_kb_512.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_512.png rename to app/src/main/res/drawable/ic_signal_kb_512.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_513.png b/app/src/main/res/drawable/ic_signal_kb_513.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_513.png rename to app/src/main/res/drawable/ic_signal_kb_513.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_514.png b/app/src/main/res/drawable/ic_signal_kb_514.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_514.png rename to app/src/main/res/drawable/ic_signal_kb_514.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_515.png b/app/src/main/res/drawable/ic_signal_kb_515.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_515.png rename to app/src/main/res/drawable/ic_signal_kb_515.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_516.png b/app/src/main/res/drawable/ic_signal_kb_516.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_516.png rename to app/src/main/res/drawable/ic_signal_kb_516.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_517.png b/app/src/main/res/drawable/ic_signal_kb_517.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_517.png rename to app/src/main/res/drawable/ic_signal_kb_517.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_518.png b/app/src/main/res/drawable/ic_signal_kb_518.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_518.png rename to app/src/main/res/drawable/ic_signal_kb_518.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_519.png b/app/src/main/res/drawable/ic_signal_kb_519.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_519.png rename to app/src/main/res/drawable/ic_signal_kb_519.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_52.png b/app/src/main/res/drawable/ic_signal_kb_52.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_52.png rename to app/src/main/res/drawable/ic_signal_kb_52.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_520.png b/app/src/main/res/drawable/ic_signal_kb_520.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_520.png rename to app/src/main/res/drawable/ic_signal_kb_520.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_521.png b/app/src/main/res/drawable/ic_signal_kb_521.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_521.png rename to app/src/main/res/drawable/ic_signal_kb_521.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_522.png b/app/src/main/res/drawable/ic_signal_kb_522.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_522.png rename to app/src/main/res/drawable/ic_signal_kb_522.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_523.png b/app/src/main/res/drawable/ic_signal_kb_523.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_523.png rename to app/src/main/res/drawable/ic_signal_kb_523.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_524.png b/app/src/main/res/drawable/ic_signal_kb_524.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_524.png rename to app/src/main/res/drawable/ic_signal_kb_524.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_525.png b/app/src/main/res/drawable/ic_signal_kb_525.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_525.png rename to app/src/main/res/drawable/ic_signal_kb_525.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_526.png b/app/src/main/res/drawable/ic_signal_kb_526.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_526.png rename to app/src/main/res/drawable/ic_signal_kb_526.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_527.png b/app/src/main/res/drawable/ic_signal_kb_527.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_527.png rename to app/src/main/res/drawable/ic_signal_kb_527.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_528.png b/app/src/main/res/drawable/ic_signal_kb_528.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_528.png rename to app/src/main/res/drawable/ic_signal_kb_528.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_529.png b/app/src/main/res/drawable/ic_signal_kb_529.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_529.png rename to app/src/main/res/drawable/ic_signal_kb_529.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_53.png b/app/src/main/res/drawable/ic_signal_kb_53.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_53.png rename to app/src/main/res/drawable/ic_signal_kb_53.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_530.png b/app/src/main/res/drawable/ic_signal_kb_530.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_530.png rename to app/src/main/res/drawable/ic_signal_kb_530.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_531.png b/app/src/main/res/drawable/ic_signal_kb_531.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_531.png rename to app/src/main/res/drawable/ic_signal_kb_531.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_532.png b/app/src/main/res/drawable/ic_signal_kb_532.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_532.png rename to app/src/main/res/drawable/ic_signal_kb_532.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_533.png b/app/src/main/res/drawable/ic_signal_kb_533.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_533.png rename to app/src/main/res/drawable/ic_signal_kb_533.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_534.png b/app/src/main/res/drawable/ic_signal_kb_534.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_534.png rename to app/src/main/res/drawable/ic_signal_kb_534.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_535.png b/app/src/main/res/drawable/ic_signal_kb_535.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_535.png rename to app/src/main/res/drawable/ic_signal_kb_535.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_536.png b/app/src/main/res/drawable/ic_signal_kb_536.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_536.png rename to app/src/main/res/drawable/ic_signal_kb_536.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_537.png b/app/src/main/res/drawable/ic_signal_kb_537.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_537.png rename to app/src/main/res/drawable/ic_signal_kb_537.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_538.png b/app/src/main/res/drawable/ic_signal_kb_538.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_538.png rename to app/src/main/res/drawable/ic_signal_kb_538.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_539.png b/app/src/main/res/drawable/ic_signal_kb_539.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_539.png rename to app/src/main/res/drawable/ic_signal_kb_539.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_54.png b/app/src/main/res/drawable/ic_signal_kb_54.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_54.png rename to app/src/main/res/drawable/ic_signal_kb_54.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_540.png b/app/src/main/res/drawable/ic_signal_kb_540.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_540.png rename to app/src/main/res/drawable/ic_signal_kb_540.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_541.png b/app/src/main/res/drawable/ic_signal_kb_541.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_541.png rename to app/src/main/res/drawable/ic_signal_kb_541.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_542.png b/app/src/main/res/drawable/ic_signal_kb_542.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_542.png rename to app/src/main/res/drawable/ic_signal_kb_542.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_543.png b/app/src/main/res/drawable/ic_signal_kb_543.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_543.png rename to app/src/main/res/drawable/ic_signal_kb_543.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_544.png b/app/src/main/res/drawable/ic_signal_kb_544.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_544.png rename to app/src/main/res/drawable/ic_signal_kb_544.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_545.png b/app/src/main/res/drawable/ic_signal_kb_545.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_545.png rename to app/src/main/res/drawable/ic_signal_kb_545.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_546.png b/app/src/main/res/drawable/ic_signal_kb_546.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_546.png rename to app/src/main/res/drawable/ic_signal_kb_546.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_547.png b/app/src/main/res/drawable/ic_signal_kb_547.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_547.png rename to app/src/main/res/drawable/ic_signal_kb_547.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_548.png b/app/src/main/res/drawable/ic_signal_kb_548.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_548.png rename to app/src/main/res/drawable/ic_signal_kb_548.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_549.png b/app/src/main/res/drawable/ic_signal_kb_549.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_549.png rename to app/src/main/res/drawable/ic_signal_kb_549.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_55.png b/app/src/main/res/drawable/ic_signal_kb_55.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_55.png rename to app/src/main/res/drawable/ic_signal_kb_55.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_550.png b/app/src/main/res/drawable/ic_signal_kb_550.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_550.png rename to app/src/main/res/drawable/ic_signal_kb_550.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_551.png b/app/src/main/res/drawable/ic_signal_kb_551.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_551.png rename to app/src/main/res/drawable/ic_signal_kb_551.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_552.png b/app/src/main/res/drawable/ic_signal_kb_552.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_552.png rename to app/src/main/res/drawable/ic_signal_kb_552.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_553.png b/app/src/main/res/drawable/ic_signal_kb_553.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_553.png rename to app/src/main/res/drawable/ic_signal_kb_553.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_554.png b/app/src/main/res/drawable/ic_signal_kb_554.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_554.png rename to app/src/main/res/drawable/ic_signal_kb_554.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_555.png b/app/src/main/res/drawable/ic_signal_kb_555.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_555.png rename to app/src/main/res/drawable/ic_signal_kb_555.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_556.png b/app/src/main/res/drawable/ic_signal_kb_556.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_556.png rename to app/src/main/res/drawable/ic_signal_kb_556.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_557.png b/app/src/main/res/drawable/ic_signal_kb_557.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_557.png rename to app/src/main/res/drawable/ic_signal_kb_557.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_558.png b/app/src/main/res/drawable/ic_signal_kb_558.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_558.png rename to app/src/main/res/drawable/ic_signal_kb_558.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_559.png b/app/src/main/res/drawable/ic_signal_kb_559.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_559.png rename to app/src/main/res/drawable/ic_signal_kb_559.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_56.png b/app/src/main/res/drawable/ic_signal_kb_56.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_56.png rename to app/src/main/res/drawable/ic_signal_kb_56.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_560.png b/app/src/main/res/drawable/ic_signal_kb_560.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_560.png rename to app/src/main/res/drawable/ic_signal_kb_560.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_561.png b/app/src/main/res/drawable/ic_signal_kb_561.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_561.png rename to app/src/main/res/drawable/ic_signal_kb_561.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_562.png b/app/src/main/res/drawable/ic_signal_kb_562.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_562.png rename to app/src/main/res/drawable/ic_signal_kb_562.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_563.png b/app/src/main/res/drawable/ic_signal_kb_563.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_563.png rename to app/src/main/res/drawable/ic_signal_kb_563.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_564.png b/app/src/main/res/drawable/ic_signal_kb_564.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_564.png rename to app/src/main/res/drawable/ic_signal_kb_564.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_565.png b/app/src/main/res/drawable/ic_signal_kb_565.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_565.png rename to app/src/main/res/drawable/ic_signal_kb_565.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_566.png b/app/src/main/res/drawable/ic_signal_kb_566.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_566.png rename to app/src/main/res/drawable/ic_signal_kb_566.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_567.png b/app/src/main/res/drawable/ic_signal_kb_567.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_567.png rename to app/src/main/res/drawable/ic_signal_kb_567.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_568.png b/app/src/main/res/drawable/ic_signal_kb_568.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_568.png rename to app/src/main/res/drawable/ic_signal_kb_568.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_569.png b/app/src/main/res/drawable/ic_signal_kb_569.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_569.png rename to app/src/main/res/drawable/ic_signal_kb_569.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_57.png b/app/src/main/res/drawable/ic_signal_kb_57.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_57.png rename to app/src/main/res/drawable/ic_signal_kb_57.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_570.png b/app/src/main/res/drawable/ic_signal_kb_570.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_570.png rename to app/src/main/res/drawable/ic_signal_kb_570.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_571.png b/app/src/main/res/drawable/ic_signal_kb_571.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_571.png rename to app/src/main/res/drawable/ic_signal_kb_571.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_572.png b/app/src/main/res/drawable/ic_signal_kb_572.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_572.png rename to app/src/main/res/drawable/ic_signal_kb_572.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_573.png b/app/src/main/res/drawable/ic_signal_kb_573.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_573.png rename to app/src/main/res/drawable/ic_signal_kb_573.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_574.png b/app/src/main/res/drawable/ic_signal_kb_574.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_574.png rename to app/src/main/res/drawable/ic_signal_kb_574.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_575.png b/app/src/main/res/drawable/ic_signal_kb_575.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_575.png rename to app/src/main/res/drawable/ic_signal_kb_575.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_576.png b/app/src/main/res/drawable/ic_signal_kb_576.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_576.png rename to app/src/main/res/drawable/ic_signal_kb_576.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_577.png b/app/src/main/res/drawable/ic_signal_kb_577.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_577.png rename to app/src/main/res/drawable/ic_signal_kb_577.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_578.png b/app/src/main/res/drawable/ic_signal_kb_578.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_578.png rename to app/src/main/res/drawable/ic_signal_kb_578.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_579.png b/app/src/main/res/drawable/ic_signal_kb_579.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_579.png rename to app/src/main/res/drawable/ic_signal_kb_579.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_58.png b/app/src/main/res/drawable/ic_signal_kb_58.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_58.png rename to app/src/main/res/drawable/ic_signal_kb_58.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_580.png b/app/src/main/res/drawable/ic_signal_kb_580.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_580.png rename to app/src/main/res/drawable/ic_signal_kb_580.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_581.png b/app/src/main/res/drawable/ic_signal_kb_581.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_581.png rename to app/src/main/res/drawable/ic_signal_kb_581.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_582.png b/app/src/main/res/drawable/ic_signal_kb_582.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_582.png rename to app/src/main/res/drawable/ic_signal_kb_582.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_583.png b/app/src/main/res/drawable/ic_signal_kb_583.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_583.png rename to app/src/main/res/drawable/ic_signal_kb_583.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_584.png b/app/src/main/res/drawable/ic_signal_kb_584.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_584.png rename to app/src/main/res/drawable/ic_signal_kb_584.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_585.png b/app/src/main/res/drawable/ic_signal_kb_585.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_585.png rename to app/src/main/res/drawable/ic_signal_kb_585.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_586.png b/app/src/main/res/drawable/ic_signal_kb_586.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_586.png rename to app/src/main/res/drawable/ic_signal_kb_586.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_587.png b/app/src/main/res/drawable/ic_signal_kb_587.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_587.png rename to app/src/main/res/drawable/ic_signal_kb_587.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_588.png b/app/src/main/res/drawable/ic_signal_kb_588.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_588.png rename to app/src/main/res/drawable/ic_signal_kb_588.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_589.png b/app/src/main/res/drawable/ic_signal_kb_589.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_589.png rename to app/src/main/res/drawable/ic_signal_kb_589.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_59.png b/app/src/main/res/drawable/ic_signal_kb_59.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_59.png rename to app/src/main/res/drawable/ic_signal_kb_59.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_590.png b/app/src/main/res/drawable/ic_signal_kb_590.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_590.png rename to app/src/main/res/drawable/ic_signal_kb_590.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_591.png b/app/src/main/res/drawable/ic_signal_kb_591.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_591.png rename to app/src/main/res/drawable/ic_signal_kb_591.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_592.png b/app/src/main/res/drawable/ic_signal_kb_592.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_592.png rename to app/src/main/res/drawable/ic_signal_kb_592.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_593.png b/app/src/main/res/drawable/ic_signal_kb_593.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_593.png rename to app/src/main/res/drawable/ic_signal_kb_593.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_594.png b/app/src/main/res/drawable/ic_signal_kb_594.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_594.png rename to app/src/main/res/drawable/ic_signal_kb_594.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_595.png b/app/src/main/res/drawable/ic_signal_kb_595.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_595.png rename to app/src/main/res/drawable/ic_signal_kb_595.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_596.png b/app/src/main/res/drawable/ic_signal_kb_596.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_596.png rename to app/src/main/res/drawable/ic_signal_kb_596.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_597.png b/app/src/main/res/drawable/ic_signal_kb_597.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_597.png rename to app/src/main/res/drawable/ic_signal_kb_597.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_598.png b/app/src/main/res/drawable/ic_signal_kb_598.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_598.png rename to app/src/main/res/drawable/ic_signal_kb_598.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_599.png b/app/src/main/res/drawable/ic_signal_kb_599.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_599.png rename to app/src/main/res/drawable/ic_signal_kb_599.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_6.png b/app/src/main/res/drawable/ic_signal_kb_6.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_6.png rename to app/src/main/res/drawable/ic_signal_kb_6.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_60.png b/app/src/main/res/drawable/ic_signal_kb_60.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_60.png rename to app/src/main/res/drawable/ic_signal_kb_60.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_600.png b/app/src/main/res/drawable/ic_signal_kb_600.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_600.png rename to app/src/main/res/drawable/ic_signal_kb_600.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_601.png b/app/src/main/res/drawable/ic_signal_kb_601.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_601.png rename to app/src/main/res/drawable/ic_signal_kb_601.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_602.png b/app/src/main/res/drawable/ic_signal_kb_602.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_602.png rename to app/src/main/res/drawable/ic_signal_kb_602.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_603.png b/app/src/main/res/drawable/ic_signal_kb_603.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_603.png rename to app/src/main/res/drawable/ic_signal_kb_603.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_604.png b/app/src/main/res/drawable/ic_signal_kb_604.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_604.png rename to app/src/main/res/drawable/ic_signal_kb_604.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_605.png b/app/src/main/res/drawable/ic_signal_kb_605.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_605.png rename to app/src/main/res/drawable/ic_signal_kb_605.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_606.png b/app/src/main/res/drawable/ic_signal_kb_606.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_606.png rename to app/src/main/res/drawable/ic_signal_kb_606.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_607.png b/app/src/main/res/drawable/ic_signal_kb_607.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_607.png rename to app/src/main/res/drawable/ic_signal_kb_607.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_608.png b/app/src/main/res/drawable/ic_signal_kb_608.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_608.png rename to app/src/main/res/drawable/ic_signal_kb_608.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_609.png b/app/src/main/res/drawable/ic_signal_kb_609.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_609.png rename to app/src/main/res/drawable/ic_signal_kb_609.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_61.png b/app/src/main/res/drawable/ic_signal_kb_61.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_61.png rename to app/src/main/res/drawable/ic_signal_kb_61.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_610.png b/app/src/main/res/drawable/ic_signal_kb_610.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_610.png rename to app/src/main/res/drawable/ic_signal_kb_610.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_611.png b/app/src/main/res/drawable/ic_signal_kb_611.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_611.png rename to app/src/main/res/drawable/ic_signal_kb_611.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_612.png b/app/src/main/res/drawable/ic_signal_kb_612.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_612.png rename to app/src/main/res/drawable/ic_signal_kb_612.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_613.png b/app/src/main/res/drawable/ic_signal_kb_613.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_613.png rename to app/src/main/res/drawable/ic_signal_kb_613.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_614.png b/app/src/main/res/drawable/ic_signal_kb_614.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_614.png rename to app/src/main/res/drawable/ic_signal_kb_614.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_615.png b/app/src/main/res/drawable/ic_signal_kb_615.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_615.png rename to app/src/main/res/drawable/ic_signal_kb_615.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_616.png b/app/src/main/res/drawable/ic_signal_kb_616.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_616.png rename to app/src/main/res/drawable/ic_signal_kb_616.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_617.png b/app/src/main/res/drawable/ic_signal_kb_617.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_617.png rename to app/src/main/res/drawable/ic_signal_kb_617.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_618.png b/app/src/main/res/drawable/ic_signal_kb_618.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_618.png rename to app/src/main/res/drawable/ic_signal_kb_618.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_619.png b/app/src/main/res/drawable/ic_signal_kb_619.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_619.png rename to app/src/main/res/drawable/ic_signal_kb_619.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_62.png b/app/src/main/res/drawable/ic_signal_kb_62.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_62.png rename to app/src/main/res/drawable/ic_signal_kb_62.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_620.png b/app/src/main/res/drawable/ic_signal_kb_620.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_620.png rename to app/src/main/res/drawable/ic_signal_kb_620.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_621.png b/app/src/main/res/drawable/ic_signal_kb_621.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_621.png rename to app/src/main/res/drawable/ic_signal_kb_621.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_622.png b/app/src/main/res/drawable/ic_signal_kb_622.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_622.png rename to app/src/main/res/drawable/ic_signal_kb_622.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_623.png b/app/src/main/res/drawable/ic_signal_kb_623.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_623.png rename to app/src/main/res/drawable/ic_signal_kb_623.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_624.png b/app/src/main/res/drawable/ic_signal_kb_624.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_624.png rename to app/src/main/res/drawable/ic_signal_kb_624.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_625.png b/app/src/main/res/drawable/ic_signal_kb_625.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_625.png rename to app/src/main/res/drawable/ic_signal_kb_625.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_626.png b/app/src/main/res/drawable/ic_signal_kb_626.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_626.png rename to app/src/main/res/drawable/ic_signal_kb_626.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_627.png b/app/src/main/res/drawable/ic_signal_kb_627.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_627.png rename to app/src/main/res/drawable/ic_signal_kb_627.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_628.png b/app/src/main/res/drawable/ic_signal_kb_628.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_628.png rename to app/src/main/res/drawable/ic_signal_kb_628.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_629.png b/app/src/main/res/drawable/ic_signal_kb_629.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_629.png rename to app/src/main/res/drawable/ic_signal_kb_629.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_63.png b/app/src/main/res/drawable/ic_signal_kb_63.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_63.png rename to app/src/main/res/drawable/ic_signal_kb_63.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_630.png b/app/src/main/res/drawable/ic_signal_kb_630.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_630.png rename to app/src/main/res/drawable/ic_signal_kb_630.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_631.png b/app/src/main/res/drawable/ic_signal_kb_631.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_631.png rename to app/src/main/res/drawable/ic_signal_kb_631.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_632.png b/app/src/main/res/drawable/ic_signal_kb_632.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_632.png rename to app/src/main/res/drawable/ic_signal_kb_632.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_633.png b/app/src/main/res/drawable/ic_signal_kb_633.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_633.png rename to app/src/main/res/drawable/ic_signal_kb_633.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_634.png b/app/src/main/res/drawable/ic_signal_kb_634.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_634.png rename to app/src/main/res/drawable/ic_signal_kb_634.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_635.png b/app/src/main/res/drawable/ic_signal_kb_635.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_635.png rename to app/src/main/res/drawable/ic_signal_kb_635.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_636.png b/app/src/main/res/drawable/ic_signal_kb_636.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_636.png rename to app/src/main/res/drawable/ic_signal_kb_636.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_637.png b/app/src/main/res/drawable/ic_signal_kb_637.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_637.png rename to app/src/main/res/drawable/ic_signal_kb_637.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_638.png b/app/src/main/res/drawable/ic_signal_kb_638.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_638.png rename to app/src/main/res/drawable/ic_signal_kb_638.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_639.png b/app/src/main/res/drawable/ic_signal_kb_639.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_639.png rename to app/src/main/res/drawable/ic_signal_kb_639.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_64.png b/app/src/main/res/drawable/ic_signal_kb_64.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_64.png rename to app/src/main/res/drawable/ic_signal_kb_64.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_640.png b/app/src/main/res/drawable/ic_signal_kb_640.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_640.png rename to app/src/main/res/drawable/ic_signal_kb_640.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_641.png b/app/src/main/res/drawable/ic_signal_kb_641.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_641.png rename to app/src/main/res/drawable/ic_signal_kb_641.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_642.png b/app/src/main/res/drawable/ic_signal_kb_642.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_642.png rename to app/src/main/res/drawable/ic_signal_kb_642.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_643.png b/app/src/main/res/drawable/ic_signal_kb_643.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_643.png rename to app/src/main/res/drawable/ic_signal_kb_643.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_644.png b/app/src/main/res/drawable/ic_signal_kb_644.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_644.png rename to app/src/main/res/drawable/ic_signal_kb_644.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_645.png b/app/src/main/res/drawable/ic_signal_kb_645.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_645.png rename to app/src/main/res/drawable/ic_signal_kb_645.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_646.png b/app/src/main/res/drawable/ic_signal_kb_646.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_646.png rename to app/src/main/res/drawable/ic_signal_kb_646.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_647.png b/app/src/main/res/drawable/ic_signal_kb_647.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_647.png rename to app/src/main/res/drawable/ic_signal_kb_647.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_648.png b/app/src/main/res/drawable/ic_signal_kb_648.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_648.png rename to app/src/main/res/drawable/ic_signal_kb_648.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_649.png b/app/src/main/res/drawable/ic_signal_kb_649.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_649.png rename to app/src/main/res/drawable/ic_signal_kb_649.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_65.png b/app/src/main/res/drawable/ic_signal_kb_65.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_65.png rename to app/src/main/res/drawable/ic_signal_kb_65.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_650.png b/app/src/main/res/drawable/ic_signal_kb_650.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_650.png rename to app/src/main/res/drawable/ic_signal_kb_650.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_651.png b/app/src/main/res/drawable/ic_signal_kb_651.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_651.png rename to app/src/main/res/drawable/ic_signal_kb_651.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_652.png b/app/src/main/res/drawable/ic_signal_kb_652.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_652.png rename to app/src/main/res/drawable/ic_signal_kb_652.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_653.png b/app/src/main/res/drawable/ic_signal_kb_653.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_653.png rename to app/src/main/res/drawable/ic_signal_kb_653.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_654.png b/app/src/main/res/drawable/ic_signal_kb_654.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_654.png rename to app/src/main/res/drawable/ic_signal_kb_654.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_655.png b/app/src/main/res/drawable/ic_signal_kb_655.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_655.png rename to app/src/main/res/drawable/ic_signal_kb_655.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_656.png b/app/src/main/res/drawable/ic_signal_kb_656.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_656.png rename to app/src/main/res/drawable/ic_signal_kb_656.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_657.png b/app/src/main/res/drawable/ic_signal_kb_657.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_657.png rename to app/src/main/res/drawable/ic_signal_kb_657.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_658.png b/app/src/main/res/drawable/ic_signal_kb_658.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_658.png rename to app/src/main/res/drawable/ic_signal_kb_658.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_659.png b/app/src/main/res/drawable/ic_signal_kb_659.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_659.png rename to app/src/main/res/drawable/ic_signal_kb_659.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_66.png b/app/src/main/res/drawable/ic_signal_kb_66.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_66.png rename to app/src/main/res/drawable/ic_signal_kb_66.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_660.png b/app/src/main/res/drawable/ic_signal_kb_660.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_660.png rename to app/src/main/res/drawable/ic_signal_kb_660.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_661.png b/app/src/main/res/drawable/ic_signal_kb_661.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_661.png rename to app/src/main/res/drawable/ic_signal_kb_661.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_662.png b/app/src/main/res/drawable/ic_signal_kb_662.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_662.png rename to app/src/main/res/drawable/ic_signal_kb_662.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_663.png b/app/src/main/res/drawable/ic_signal_kb_663.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_663.png rename to app/src/main/res/drawable/ic_signal_kb_663.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_664.png b/app/src/main/res/drawable/ic_signal_kb_664.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_664.png rename to app/src/main/res/drawable/ic_signal_kb_664.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_665.png b/app/src/main/res/drawable/ic_signal_kb_665.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_665.png rename to app/src/main/res/drawable/ic_signal_kb_665.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_666.png b/app/src/main/res/drawable/ic_signal_kb_666.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_666.png rename to app/src/main/res/drawable/ic_signal_kb_666.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_667.png b/app/src/main/res/drawable/ic_signal_kb_667.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_667.png rename to app/src/main/res/drawable/ic_signal_kb_667.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_668.png b/app/src/main/res/drawable/ic_signal_kb_668.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_668.png rename to app/src/main/res/drawable/ic_signal_kb_668.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_669.png b/app/src/main/res/drawable/ic_signal_kb_669.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_669.png rename to app/src/main/res/drawable/ic_signal_kb_669.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_67.png b/app/src/main/res/drawable/ic_signal_kb_67.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_67.png rename to app/src/main/res/drawable/ic_signal_kb_67.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_670.png b/app/src/main/res/drawable/ic_signal_kb_670.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_670.png rename to app/src/main/res/drawable/ic_signal_kb_670.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_671.png b/app/src/main/res/drawable/ic_signal_kb_671.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_671.png rename to app/src/main/res/drawable/ic_signal_kb_671.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_672.png b/app/src/main/res/drawable/ic_signal_kb_672.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_672.png rename to app/src/main/res/drawable/ic_signal_kb_672.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_673.png b/app/src/main/res/drawable/ic_signal_kb_673.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_673.png rename to app/src/main/res/drawable/ic_signal_kb_673.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_674.png b/app/src/main/res/drawable/ic_signal_kb_674.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_674.png rename to app/src/main/res/drawable/ic_signal_kb_674.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_675.png b/app/src/main/res/drawable/ic_signal_kb_675.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_675.png rename to app/src/main/res/drawable/ic_signal_kb_675.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_676.png b/app/src/main/res/drawable/ic_signal_kb_676.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_676.png rename to app/src/main/res/drawable/ic_signal_kb_676.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_677.png b/app/src/main/res/drawable/ic_signal_kb_677.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_677.png rename to app/src/main/res/drawable/ic_signal_kb_677.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_678.png b/app/src/main/res/drawable/ic_signal_kb_678.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_678.png rename to app/src/main/res/drawable/ic_signal_kb_678.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_679.png b/app/src/main/res/drawable/ic_signal_kb_679.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_679.png rename to app/src/main/res/drawable/ic_signal_kb_679.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_68.png b/app/src/main/res/drawable/ic_signal_kb_68.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_68.png rename to app/src/main/res/drawable/ic_signal_kb_68.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_680.png b/app/src/main/res/drawable/ic_signal_kb_680.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_680.png rename to app/src/main/res/drawable/ic_signal_kb_680.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_681.png b/app/src/main/res/drawable/ic_signal_kb_681.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_681.png rename to app/src/main/res/drawable/ic_signal_kb_681.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_682.png b/app/src/main/res/drawable/ic_signal_kb_682.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_682.png rename to app/src/main/res/drawable/ic_signal_kb_682.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_683.png b/app/src/main/res/drawable/ic_signal_kb_683.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_683.png rename to app/src/main/res/drawable/ic_signal_kb_683.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_684.png b/app/src/main/res/drawable/ic_signal_kb_684.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_684.png rename to app/src/main/res/drawable/ic_signal_kb_684.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_685.png b/app/src/main/res/drawable/ic_signal_kb_685.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_685.png rename to app/src/main/res/drawable/ic_signal_kb_685.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_686.png b/app/src/main/res/drawable/ic_signal_kb_686.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_686.png rename to app/src/main/res/drawable/ic_signal_kb_686.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_687.png b/app/src/main/res/drawable/ic_signal_kb_687.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_687.png rename to app/src/main/res/drawable/ic_signal_kb_687.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_688.png b/app/src/main/res/drawable/ic_signal_kb_688.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_688.png rename to app/src/main/res/drawable/ic_signal_kb_688.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_689.png b/app/src/main/res/drawable/ic_signal_kb_689.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_689.png rename to app/src/main/res/drawable/ic_signal_kb_689.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_69.png b/app/src/main/res/drawable/ic_signal_kb_69.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_69.png rename to app/src/main/res/drawable/ic_signal_kb_69.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_690.png b/app/src/main/res/drawable/ic_signal_kb_690.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_690.png rename to app/src/main/res/drawable/ic_signal_kb_690.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_691.png b/app/src/main/res/drawable/ic_signal_kb_691.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_691.png rename to app/src/main/res/drawable/ic_signal_kb_691.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_692.png b/app/src/main/res/drawable/ic_signal_kb_692.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_692.png rename to app/src/main/res/drawable/ic_signal_kb_692.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_693.png b/app/src/main/res/drawable/ic_signal_kb_693.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_693.png rename to app/src/main/res/drawable/ic_signal_kb_693.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_694.png b/app/src/main/res/drawable/ic_signal_kb_694.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_694.png rename to app/src/main/res/drawable/ic_signal_kb_694.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_695.png b/app/src/main/res/drawable/ic_signal_kb_695.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_695.png rename to app/src/main/res/drawable/ic_signal_kb_695.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_696.png b/app/src/main/res/drawable/ic_signal_kb_696.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_696.png rename to app/src/main/res/drawable/ic_signal_kb_696.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_697.png b/app/src/main/res/drawable/ic_signal_kb_697.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_697.png rename to app/src/main/res/drawable/ic_signal_kb_697.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_698.png b/app/src/main/res/drawable/ic_signal_kb_698.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_698.png rename to app/src/main/res/drawable/ic_signal_kb_698.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_699.png b/app/src/main/res/drawable/ic_signal_kb_699.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_699.png rename to app/src/main/res/drawable/ic_signal_kb_699.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_7.png b/app/src/main/res/drawable/ic_signal_kb_7.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_7.png rename to app/src/main/res/drawable/ic_signal_kb_7.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_70.png b/app/src/main/res/drawable/ic_signal_kb_70.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_70.png rename to app/src/main/res/drawable/ic_signal_kb_70.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_700.png b/app/src/main/res/drawable/ic_signal_kb_700.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_700.png rename to app/src/main/res/drawable/ic_signal_kb_700.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_701.png b/app/src/main/res/drawable/ic_signal_kb_701.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_701.png rename to app/src/main/res/drawable/ic_signal_kb_701.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_702.png b/app/src/main/res/drawable/ic_signal_kb_702.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_702.png rename to app/src/main/res/drawable/ic_signal_kb_702.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_703.png b/app/src/main/res/drawable/ic_signal_kb_703.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_703.png rename to app/src/main/res/drawable/ic_signal_kb_703.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_704.png b/app/src/main/res/drawable/ic_signal_kb_704.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_704.png rename to app/src/main/res/drawable/ic_signal_kb_704.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_705.png b/app/src/main/res/drawable/ic_signal_kb_705.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_705.png rename to app/src/main/res/drawable/ic_signal_kb_705.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_706.png b/app/src/main/res/drawable/ic_signal_kb_706.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_706.png rename to app/src/main/res/drawable/ic_signal_kb_706.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_707.png b/app/src/main/res/drawable/ic_signal_kb_707.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_707.png rename to app/src/main/res/drawable/ic_signal_kb_707.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_708.png b/app/src/main/res/drawable/ic_signal_kb_708.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_708.png rename to app/src/main/res/drawable/ic_signal_kb_708.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_709.png b/app/src/main/res/drawable/ic_signal_kb_709.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_709.png rename to app/src/main/res/drawable/ic_signal_kb_709.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_71.png b/app/src/main/res/drawable/ic_signal_kb_71.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_71.png rename to app/src/main/res/drawable/ic_signal_kb_71.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_710.png b/app/src/main/res/drawable/ic_signal_kb_710.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_710.png rename to app/src/main/res/drawable/ic_signal_kb_710.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_711.png b/app/src/main/res/drawable/ic_signal_kb_711.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_711.png rename to app/src/main/res/drawable/ic_signal_kb_711.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_712.png b/app/src/main/res/drawable/ic_signal_kb_712.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_712.png rename to app/src/main/res/drawable/ic_signal_kb_712.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_713.png b/app/src/main/res/drawable/ic_signal_kb_713.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_713.png rename to app/src/main/res/drawable/ic_signal_kb_713.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_714.png b/app/src/main/res/drawable/ic_signal_kb_714.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_714.png rename to app/src/main/res/drawable/ic_signal_kb_714.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_715.png b/app/src/main/res/drawable/ic_signal_kb_715.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_715.png rename to app/src/main/res/drawable/ic_signal_kb_715.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_716.png b/app/src/main/res/drawable/ic_signal_kb_716.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_716.png rename to app/src/main/res/drawable/ic_signal_kb_716.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_717.png b/app/src/main/res/drawable/ic_signal_kb_717.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_717.png rename to app/src/main/res/drawable/ic_signal_kb_717.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_718.png b/app/src/main/res/drawable/ic_signal_kb_718.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_718.png rename to app/src/main/res/drawable/ic_signal_kb_718.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_719.png b/app/src/main/res/drawable/ic_signal_kb_719.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_719.png rename to app/src/main/res/drawable/ic_signal_kb_719.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_72.png b/app/src/main/res/drawable/ic_signal_kb_72.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_72.png rename to app/src/main/res/drawable/ic_signal_kb_72.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_720.png b/app/src/main/res/drawable/ic_signal_kb_720.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_720.png rename to app/src/main/res/drawable/ic_signal_kb_720.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_721.png b/app/src/main/res/drawable/ic_signal_kb_721.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_721.png rename to app/src/main/res/drawable/ic_signal_kb_721.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_722.png b/app/src/main/res/drawable/ic_signal_kb_722.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_722.png rename to app/src/main/res/drawable/ic_signal_kb_722.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_723.png b/app/src/main/res/drawable/ic_signal_kb_723.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_723.png rename to app/src/main/res/drawable/ic_signal_kb_723.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_724.png b/app/src/main/res/drawable/ic_signal_kb_724.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_724.png rename to app/src/main/res/drawable/ic_signal_kb_724.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_725.png b/app/src/main/res/drawable/ic_signal_kb_725.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_725.png rename to app/src/main/res/drawable/ic_signal_kb_725.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_726.png b/app/src/main/res/drawable/ic_signal_kb_726.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_726.png rename to app/src/main/res/drawable/ic_signal_kb_726.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_727.png b/app/src/main/res/drawable/ic_signal_kb_727.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_727.png rename to app/src/main/res/drawable/ic_signal_kb_727.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_728.png b/app/src/main/res/drawable/ic_signal_kb_728.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_728.png rename to app/src/main/res/drawable/ic_signal_kb_728.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_729.png b/app/src/main/res/drawable/ic_signal_kb_729.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_729.png rename to app/src/main/res/drawable/ic_signal_kb_729.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_73.png b/app/src/main/res/drawable/ic_signal_kb_73.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_73.png rename to app/src/main/res/drawable/ic_signal_kb_73.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_730.png b/app/src/main/res/drawable/ic_signal_kb_730.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_730.png rename to app/src/main/res/drawable/ic_signal_kb_730.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_731.png b/app/src/main/res/drawable/ic_signal_kb_731.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_731.png rename to app/src/main/res/drawable/ic_signal_kb_731.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_732.png b/app/src/main/res/drawable/ic_signal_kb_732.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_732.png rename to app/src/main/res/drawable/ic_signal_kb_732.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_733.png b/app/src/main/res/drawable/ic_signal_kb_733.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_733.png rename to app/src/main/res/drawable/ic_signal_kb_733.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_734.png b/app/src/main/res/drawable/ic_signal_kb_734.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_734.png rename to app/src/main/res/drawable/ic_signal_kb_734.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_735.png b/app/src/main/res/drawable/ic_signal_kb_735.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_735.png rename to app/src/main/res/drawable/ic_signal_kb_735.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_736.png b/app/src/main/res/drawable/ic_signal_kb_736.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_736.png rename to app/src/main/res/drawable/ic_signal_kb_736.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_737.png b/app/src/main/res/drawable/ic_signal_kb_737.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_737.png rename to app/src/main/res/drawable/ic_signal_kb_737.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_738.png b/app/src/main/res/drawable/ic_signal_kb_738.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_738.png rename to app/src/main/res/drawable/ic_signal_kb_738.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_739.png b/app/src/main/res/drawable/ic_signal_kb_739.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_739.png rename to app/src/main/res/drawable/ic_signal_kb_739.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_74.png b/app/src/main/res/drawable/ic_signal_kb_74.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_74.png rename to app/src/main/res/drawable/ic_signal_kb_74.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_740.png b/app/src/main/res/drawable/ic_signal_kb_740.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_740.png rename to app/src/main/res/drawable/ic_signal_kb_740.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_741.png b/app/src/main/res/drawable/ic_signal_kb_741.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_741.png rename to app/src/main/res/drawable/ic_signal_kb_741.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_742.png b/app/src/main/res/drawable/ic_signal_kb_742.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_742.png rename to app/src/main/res/drawable/ic_signal_kb_742.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_743.png b/app/src/main/res/drawable/ic_signal_kb_743.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_743.png rename to app/src/main/res/drawable/ic_signal_kb_743.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_744.png b/app/src/main/res/drawable/ic_signal_kb_744.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_744.png rename to app/src/main/res/drawable/ic_signal_kb_744.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_745.png b/app/src/main/res/drawable/ic_signal_kb_745.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_745.png rename to app/src/main/res/drawable/ic_signal_kb_745.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_746.png b/app/src/main/res/drawable/ic_signal_kb_746.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_746.png rename to app/src/main/res/drawable/ic_signal_kb_746.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_747.png b/app/src/main/res/drawable/ic_signal_kb_747.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_747.png rename to app/src/main/res/drawable/ic_signal_kb_747.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_748.png b/app/src/main/res/drawable/ic_signal_kb_748.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_748.png rename to app/src/main/res/drawable/ic_signal_kb_748.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_749.png b/app/src/main/res/drawable/ic_signal_kb_749.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_749.png rename to app/src/main/res/drawable/ic_signal_kb_749.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_75.png b/app/src/main/res/drawable/ic_signal_kb_75.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_75.png rename to app/src/main/res/drawable/ic_signal_kb_75.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_750.png b/app/src/main/res/drawable/ic_signal_kb_750.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_750.png rename to app/src/main/res/drawable/ic_signal_kb_750.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_751.png b/app/src/main/res/drawable/ic_signal_kb_751.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_751.png rename to app/src/main/res/drawable/ic_signal_kb_751.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_752.png b/app/src/main/res/drawable/ic_signal_kb_752.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_752.png rename to app/src/main/res/drawable/ic_signal_kb_752.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_753.png b/app/src/main/res/drawable/ic_signal_kb_753.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_753.png rename to app/src/main/res/drawable/ic_signal_kb_753.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_754.png b/app/src/main/res/drawable/ic_signal_kb_754.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_754.png rename to app/src/main/res/drawable/ic_signal_kb_754.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_755.png b/app/src/main/res/drawable/ic_signal_kb_755.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_755.png rename to app/src/main/res/drawable/ic_signal_kb_755.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_756.png b/app/src/main/res/drawable/ic_signal_kb_756.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_756.png rename to app/src/main/res/drawable/ic_signal_kb_756.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_757.png b/app/src/main/res/drawable/ic_signal_kb_757.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_757.png rename to app/src/main/res/drawable/ic_signal_kb_757.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_758.png b/app/src/main/res/drawable/ic_signal_kb_758.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_758.png rename to app/src/main/res/drawable/ic_signal_kb_758.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_759.png b/app/src/main/res/drawable/ic_signal_kb_759.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_759.png rename to app/src/main/res/drawable/ic_signal_kb_759.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_76.png b/app/src/main/res/drawable/ic_signal_kb_76.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_76.png rename to app/src/main/res/drawable/ic_signal_kb_76.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_760.png b/app/src/main/res/drawable/ic_signal_kb_760.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_760.png rename to app/src/main/res/drawable/ic_signal_kb_760.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_761.png b/app/src/main/res/drawable/ic_signal_kb_761.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_761.png rename to app/src/main/res/drawable/ic_signal_kb_761.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_762.png b/app/src/main/res/drawable/ic_signal_kb_762.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_762.png rename to app/src/main/res/drawable/ic_signal_kb_762.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_763.png b/app/src/main/res/drawable/ic_signal_kb_763.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_763.png rename to app/src/main/res/drawable/ic_signal_kb_763.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_764.png b/app/src/main/res/drawable/ic_signal_kb_764.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_764.png rename to app/src/main/res/drawable/ic_signal_kb_764.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_765.png b/app/src/main/res/drawable/ic_signal_kb_765.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_765.png rename to app/src/main/res/drawable/ic_signal_kb_765.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_766.png b/app/src/main/res/drawable/ic_signal_kb_766.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_766.png rename to app/src/main/res/drawable/ic_signal_kb_766.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_767.png b/app/src/main/res/drawable/ic_signal_kb_767.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_767.png rename to app/src/main/res/drawable/ic_signal_kb_767.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_768.png b/app/src/main/res/drawable/ic_signal_kb_768.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_768.png rename to app/src/main/res/drawable/ic_signal_kb_768.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_769.png b/app/src/main/res/drawable/ic_signal_kb_769.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_769.png rename to app/src/main/res/drawable/ic_signal_kb_769.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_77.png b/app/src/main/res/drawable/ic_signal_kb_77.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_77.png rename to app/src/main/res/drawable/ic_signal_kb_77.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_770.png b/app/src/main/res/drawable/ic_signal_kb_770.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_770.png rename to app/src/main/res/drawable/ic_signal_kb_770.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_771.png b/app/src/main/res/drawable/ic_signal_kb_771.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_771.png rename to app/src/main/res/drawable/ic_signal_kb_771.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_772.png b/app/src/main/res/drawable/ic_signal_kb_772.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_772.png rename to app/src/main/res/drawable/ic_signal_kb_772.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_773.png b/app/src/main/res/drawable/ic_signal_kb_773.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_773.png rename to app/src/main/res/drawable/ic_signal_kb_773.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_774.png b/app/src/main/res/drawable/ic_signal_kb_774.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_774.png rename to app/src/main/res/drawable/ic_signal_kb_774.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_775.png b/app/src/main/res/drawable/ic_signal_kb_775.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_775.png rename to app/src/main/res/drawable/ic_signal_kb_775.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_776.png b/app/src/main/res/drawable/ic_signal_kb_776.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_776.png rename to app/src/main/res/drawable/ic_signal_kb_776.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_777.png b/app/src/main/res/drawable/ic_signal_kb_777.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_777.png rename to app/src/main/res/drawable/ic_signal_kb_777.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_778.png b/app/src/main/res/drawable/ic_signal_kb_778.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_778.png rename to app/src/main/res/drawable/ic_signal_kb_778.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_779.png b/app/src/main/res/drawable/ic_signal_kb_779.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_779.png rename to app/src/main/res/drawable/ic_signal_kb_779.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_78.png b/app/src/main/res/drawable/ic_signal_kb_78.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_78.png rename to app/src/main/res/drawable/ic_signal_kb_78.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_780.png b/app/src/main/res/drawable/ic_signal_kb_780.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_780.png rename to app/src/main/res/drawable/ic_signal_kb_780.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_781.png b/app/src/main/res/drawable/ic_signal_kb_781.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_781.png rename to app/src/main/res/drawable/ic_signal_kb_781.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_782.png b/app/src/main/res/drawable/ic_signal_kb_782.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_782.png rename to app/src/main/res/drawable/ic_signal_kb_782.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_783.png b/app/src/main/res/drawable/ic_signal_kb_783.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_783.png rename to app/src/main/res/drawable/ic_signal_kb_783.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_784.png b/app/src/main/res/drawable/ic_signal_kb_784.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_784.png rename to app/src/main/res/drawable/ic_signal_kb_784.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_785.png b/app/src/main/res/drawable/ic_signal_kb_785.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_785.png rename to app/src/main/res/drawable/ic_signal_kb_785.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_786.png b/app/src/main/res/drawable/ic_signal_kb_786.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_786.png rename to app/src/main/res/drawable/ic_signal_kb_786.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_787.png b/app/src/main/res/drawable/ic_signal_kb_787.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_787.png rename to app/src/main/res/drawable/ic_signal_kb_787.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_788.png b/app/src/main/res/drawable/ic_signal_kb_788.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_788.png rename to app/src/main/res/drawable/ic_signal_kb_788.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_789.png b/app/src/main/res/drawable/ic_signal_kb_789.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_789.png rename to app/src/main/res/drawable/ic_signal_kb_789.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_79.png b/app/src/main/res/drawable/ic_signal_kb_79.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_79.png rename to app/src/main/res/drawable/ic_signal_kb_79.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_790.png b/app/src/main/res/drawable/ic_signal_kb_790.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_790.png rename to app/src/main/res/drawable/ic_signal_kb_790.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_791.png b/app/src/main/res/drawable/ic_signal_kb_791.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_791.png rename to app/src/main/res/drawable/ic_signal_kb_791.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_792.png b/app/src/main/res/drawable/ic_signal_kb_792.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_792.png rename to app/src/main/res/drawable/ic_signal_kb_792.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_793.png b/app/src/main/res/drawable/ic_signal_kb_793.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_793.png rename to app/src/main/res/drawable/ic_signal_kb_793.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_794.png b/app/src/main/res/drawable/ic_signal_kb_794.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_794.png rename to app/src/main/res/drawable/ic_signal_kb_794.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_795.png b/app/src/main/res/drawable/ic_signal_kb_795.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_795.png rename to app/src/main/res/drawable/ic_signal_kb_795.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_796.png b/app/src/main/res/drawable/ic_signal_kb_796.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_796.png rename to app/src/main/res/drawable/ic_signal_kb_796.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_797.png b/app/src/main/res/drawable/ic_signal_kb_797.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_797.png rename to app/src/main/res/drawable/ic_signal_kb_797.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_798.png b/app/src/main/res/drawable/ic_signal_kb_798.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_798.png rename to app/src/main/res/drawable/ic_signal_kb_798.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_799.png b/app/src/main/res/drawable/ic_signal_kb_799.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_799.png rename to app/src/main/res/drawable/ic_signal_kb_799.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_8.png b/app/src/main/res/drawable/ic_signal_kb_8.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_8.png rename to app/src/main/res/drawable/ic_signal_kb_8.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_80.png b/app/src/main/res/drawable/ic_signal_kb_80.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_80.png rename to app/src/main/res/drawable/ic_signal_kb_80.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_800.png b/app/src/main/res/drawable/ic_signal_kb_800.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_800.png rename to app/src/main/res/drawable/ic_signal_kb_800.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_801.png b/app/src/main/res/drawable/ic_signal_kb_801.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_801.png rename to app/src/main/res/drawable/ic_signal_kb_801.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_802.png b/app/src/main/res/drawable/ic_signal_kb_802.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_802.png rename to app/src/main/res/drawable/ic_signal_kb_802.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_803.png b/app/src/main/res/drawable/ic_signal_kb_803.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_803.png rename to app/src/main/res/drawable/ic_signal_kb_803.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_804.png b/app/src/main/res/drawable/ic_signal_kb_804.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_804.png rename to app/src/main/res/drawable/ic_signal_kb_804.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_805.png b/app/src/main/res/drawable/ic_signal_kb_805.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_805.png rename to app/src/main/res/drawable/ic_signal_kb_805.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_806.png b/app/src/main/res/drawable/ic_signal_kb_806.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_806.png rename to app/src/main/res/drawable/ic_signal_kb_806.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_807.png b/app/src/main/res/drawable/ic_signal_kb_807.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_807.png rename to app/src/main/res/drawable/ic_signal_kb_807.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_808.png b/app/src/main/res/drawable/ic_signal_kb_808.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_808.png rename to app/src/main/res/drawable/ic_signal_kb_808.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_809.png b/app/src/main/res/drawable/ic_signal_kb_809.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_809.png rename to app/src/main/res/drawable/ic_signal_kb_809.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_81.png b/app/src/main/res/drawable/ic_signal_kb_81.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_81.png rename to app/src/main/res/drawable/ic_signal_kb_81.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_810.png b/app/src/main/res/drawable/ic_signal_kb_810.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_810.png rename to app/src/main/res/drawable/ic_signal_kb_810.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_811.png b/app/src/main/res/drawable/ic_signal_kb_811.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_811.png rename to app/src/main/res/drawable/ic_signal_kb_811.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_812.png b/app/src/main/res/drawable/ic_signal_kb_812.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_812.png rename to app/src/main/res/drawable/ic_signal_kb_812.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_813.png b/app/src/main/res/drawable/ic_signal_kb_813.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_813.png rename to app/src/main/res/drawable/ic_signal_kb_813.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_814.png b/app/src/main/res/drawable/ic_signal_kb_814.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_814.png rename to app/src/main/res/drawable/ic_signal_kb_814.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_815.png b/app/src/main/res/drawable/ic_signal_kb_815.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_815.png rename to app/src/main/res/drawable/ic_signal_kb_815.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_816.png b/app/src/main/res/drawable/ic_signal_kb_816.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_816.png rename to app/src/main/res/drawable/ic_signal_kb_816.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_817.png b/app/src/main/res/drawable/ic_signal_kb_817.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_817.png rename to app/src/main/res/drawable/ic_signal_kb_817.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_818.png b/app/src/main/res/drawable/ic_signal_kb_818.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_818.png rename to app/src/main/res/drawable/ic_signal_kb_818.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_819.png b/app/src/main/res/drawable/ic_signal_kb_819.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_819.png rename to app/src/main/res/drawable/ic_signal_kb_819.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_82.png b/app/src/main/res/drawable/ic_signal_kb_82.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_82.png rename to app/src/main/res/drawable/ic_signal_kb_82.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_820.png b/app/src/main/res/drawable/ic_signal_kb_820.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_820.png rename to app/src/main/res/drawable/ic_signal_kb_820.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_821.png b/app/src/main/res/drawable/ic_signal_kb_821.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_821.png rename to app/src/main/res/drawable/ic_signal_kb_821.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_822.png b/app/src/main/res/drawable/ic_signal_kb_822.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_822.png rename to app/src/main/res/drawable/ic_signal_kb_822.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_823.png b/app/src/main/res/drawable/ic_signal_kb_823.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_823.png rename to app/src/main/res/drawable/ic_signal_kb_823.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_824.png b/app/src/main/res/drawable/ic_signal_kb_824.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_824.png rename to app/src/main/res/drawable/ic_signal_kb_824.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_825.png b/app/src/main/res/drawable/ic_signal_kb_825.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_825.png rename to app/src/main/res/drawable/ic_signal_kb_825.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_826.png b/app/src/main/res/drawable/ic_signal_kb_826.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_826.png rename to app/src/main/res/drawable/ic_signal_kb_826.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_827.png b/app/src/main/res/drawable/ic_signal_kb_827.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_827.png rename to app/src/main/res/drawable/ic_signal_kb_827.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_828.png b/app/src/main/res/drawable/ic_signal_kb_828.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_828.png rename to app/src/main/res/drawable/ic_signal_kb_828.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_829.png b/app/src/main/res/drawable/ic_signal_kb_829.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_829.png rename to app/src/main/res/drawable/ic_signal_kb_829.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_83.png b/app/src/main/res/drawable/ic_signal_kb_83.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_83.png rename to app/src/main/res/drawable/ic_signal_kb_83.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_830.png b/app/src/main/res/drawable/ic_signal_kb_830.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_830.png rename to app/src/main/res/drawable/ic_signal_kb_830.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_831.png b/app/src/main/res/drawable/ic_signal_kb_831.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_831.png rename to app/src/main/res/drawable/ic_signal_kb_831.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_832.png b/app/src/main/res/drawable/ic_signal_kb_832.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_832.png rename to app/src/main/res/drawable/ic_signal_kb_832.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_833.png b/app/src/main/res/drawable/ic_signal_kb_833.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_833.png rename to app/src/main/res/drawable/ic_signal_kb_833.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_834.png b/app/src/main/res/drawable/ic_signal_kb_834.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_834.png rename to app/src/main/res/drawable/ic_signal_kb_834.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_835.png b/app/src/main/res/drawable/ic_signal_kb_835.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_835.png rename to app/src/main/res/drawable/ic_signal_kb_835.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_836.png b/app/src/main/res/drawable/ic_signal_kb_836.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_836.png rename to app/src/main/res/drawable/ic_signal_kb_836.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_837.png b/app/src/main/res/drawable/ic_signal_kb_837.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_837.png rename to app/src/main/res/drawable/ic_signal_kb_837.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_838.png b/app/src/main/res/drawable/ic_signal_kb_838.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_838.png rename to app/src/main/res/drawable/ic_signal_kb_838.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_839.png b/app/src/main/res/drawable/ic_signal_kb_839.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_839.png rename to app/src/main/res/drawable/ic_signal_kb_839.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_84.png b/app/src/main/res/drawable/ic_signal_kb_84.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_84.png rename to app/src/main/res/drawable/ic_signal_kb_84.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_840.png b/app/src/main/res/drawable/ic_signal_kb_840.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_840.png rename to app/src/main/res/drawable/ic_signal_kb_840.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_841.png b/app/src/main/res/drawable/ic_signal_kb_841.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_841.png rename to app/src/main/res/drawable/ic_signal_kb_841.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_842.png b/app/src/main/res/drawable/ic_signal_kb_842.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_842.png rename to app/src/main/res/drawable/ic_signal_kb_842.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_843.png b/app/src/main/res/drawable/ic_signal_kb_843.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_843.png rename to app/src/main/res/drawable/ic_signal_kb_843.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_844.png b/app/src/main/res/drawable/ic_signal_kb_844.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_844.png rename to app/src/main/res/drawable/ic_signal_kb_844.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_845.png b/app/src/main/res/drawable/ic_signal_kb_845.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_845.png rename to app/src/main/res/drawable/ic_signal_kb_845.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_846.png b/app/src/main/res/drawable/ic_signal_kb_846.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_846.png rename to app/src/main/res/drawable/ic_signal_kb_846.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_847.png b/app/src/main/res/drawable/ic_signal_kb_847.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_847.png rename to app/src/main/res/drawable/ic_signal_kb_847.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_848.png b/app/src/main/res/drawable/ic_signal_kb_848.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_848.png rename to app/src/main/res/drawable/ic_signal_kb_848.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_849.png b/app/src/main/res/drawable/ic_signal_kb_849.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_849.png rename to app/src/main/res/drawable/ic_signal_kb_849.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_85.png b/app/src/main/res/drawable/ic_signal_kb_85.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_85.png rename to app/src/main/res/drawable/ic_signal_kb_85.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_850.png b/app/src/main/res/drawable/ic_signal_kb_850.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_850.png rename to app/src/main/res/drawable/ic_signal_kb_850.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_851.png b/app/src/main/res/drawable/ic_signal_kb_851.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_851.png rename to app/src/main/res/drawable/ic_signal_kb_851.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_852.png b/app/src/main/res/drawable/ic_signal_kb_852.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_852.png rename to app/src/main/res/drawable/ic_signal_kb_852.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_853.png b/app/src/main/res/drawable/ic_signal_kb_853.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_853.png rename to app/src/main/res/drawable/ic_signal_kb_853.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_854.png b/app/src/main/res/drawable/ic_signal_kb_854.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_854.png rename to app/src/main/res/drawable/ic_signal_kb_854.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_855.png b/app/src/main/res/drawable/ic_signal_kb_855.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_855.png rename to app/src/main/res/drawable/ic_signal_kb_855.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_856.png b/app/src/main/res/drawable/ic_signal_kb_856.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_856.png rename to app/src/main/res/drawable/ic_signal_kb_856.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_857.png b/app/src/main/res/drawable/ic_signal_kb_857.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_857.png rename to app/src/main/res/drawable/ic_signal_kb_857.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_858.png b/app/src/main/res/drawable/ic_signal_kb_858.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_858.png rename to app/src/main/res/drawable/ic_signal_kb_858.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_859.png b/app/src/main/res/drawable/ic_signal_kb_859.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_859.png rename to app/src/main/res/drawable/ic_signal_kb_859.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_86.png b/app/src/main/res/drawable/ic_signal_kb_86.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_86.png rename to app/src/main/res/drawable/ic_signal_kb_86.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_860.png b/app/src/main/res/drawable/ic_signal_kb_860.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_860.png rename to app/src/main/res/drawable/ic_signal_kb_860.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_861.png b/app/src/main/res/drawable/ic_signal_kb_861.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_861.png rename to app/src/main/res/drawable/ic_signal_kb_861.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_862.png b/app/src/main/res/drawable/ic_signal_kb_862.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_862.png rename to app/src/main/res/drawable/ic_signal_kb_862.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_863.png b/app/src/main/res/drawable/ic_signal_kb_863.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_863.png rename to app/src/main/res/drawable/ic_signal_kb_863.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_864.png b/app/src/main/res/drawable/ic_signal_kb_864.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_864.png rename to app/src/main/res/drawable/ic_signal_kb_864.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_865.png b/app/src/main/res/drawable/ic_signal_kb_865.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_865.png rename to app/src/main/res/drawable/ic_signal_kb_865.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_866.png b/app/src/main/res/drawable/ic_signal_kb_866.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_866.png rename to app/src/main/res/drawable/ic_signal_kb_866.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_867.png b/app/src/main/res/drawable/ic_signal_kb_867.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_867.png rename to app/src/main/res/drawable/ic_signal_kb_867.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_868.png b/app/src/main/res/drawable/ic_signal_kb_868.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_868.png rename to app/src/main/res/drawable/ic_signal_kb_868.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_869.png b/app/src/main/res/drawable/ic_signal_kb_869.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_869.png rename to app/src/main/res/drawable/ic_signal_kb_869.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_87.png b/app/src/main/res/drawable/ic_signal_kb_87.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_87.png rename to app/src/main/res/drawable/ic_signal_kb_87.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_870.png b/app/src/main/res/drawable/ic_signal_kb_870.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_870.png rename to app/src/main/res/drawable/ic_signal_kb_870.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_871.png b/app/src/main/res/drawable/ic_signal_kb_871.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_871.png rename to app/src/main/res/drawable/ic_signal_kb_871.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_872.png b/app/src/main/res/drawable/ic_signal_kb_872.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_872.png rename to app/src/main/res/drawable/ic_signal_kb_872.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_873.png b/app/src/main/res/drawable/ic_signal_kb_873.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_873.png rename to app/src/main/res/drawable/ic_signal_kb_873.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_874.png b/app/src/main/res/drawable/ic_signal_kb_874.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_874.png rename to app/src/main/res/drawable/ic_signal_kb_874.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_875.png b/app/src/main/res/drawable/ic_signal_kb_875.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_875.png rename to app/src/main/res/drawable/ic_signal_kb_875.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_876.png b/app/src/main/res/drawable/ic_signal_kb_876.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_876.png rename to app/src/main/res/drawable/ic_signal_kb_876.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_877.png b/app/src/main/res/drawable/ic_signal_kb_877.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_877.png rename to app/src/main/res/drawable/ic_signal_kb_877.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_878.png b/app/src/main/res/drawable/ic_signal_kb_878.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_878.png rename to app/src/main/res/drawable/ic_signal_kb_878.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_879.png b/app/src/main/res/drawable/ic_signal_kb_879.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_879.png rename to app/src/main/res/drawable/ic_signal_kb_879.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_88.png b/app/src/main/res/drawable/ic_signal_kb_88.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_88.png rename to app/src/main/res/drawable/ic_signal_kb_88.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_880.png b/app/src/main/res/drawable/ic_signal_kb_880.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_880.png rename to app/src/main/res/drawable/ic_signal_kb_880.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_881.png b/app/src/main/res/drawable/ic_signal_kb_881.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_881.png rename to app/src/main/res/drawable/ic_signal_kb_881.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_882.png b/app/src/main/res/drawable/ic_signal_kb_882.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_882.png rename to app/src/main/res/drawable/ic_signal_kb_882.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_883.png b/app/src/main/res/drawable/ic_signal_kb_883.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_883.png rename to app/src/main/res/drawable/ic_signal_kb_883.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_884.png b/app/src/main/res/drawable/ic_signal_kb_884.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_884.png rename to app/src/main/res/drawable/ic_signal_kb_884.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_885.png b/app/src/main/res/drawable/ic_signal_kb_885.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_885.png rename to app/src/main/res/drawable/ic_signal_kb_885.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_886.png b/app/src/main/res/drawable/ic_signal_kb_886.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_886.png rename to app/src/main/res/drawable/ic_signal_kb_886.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_887.png b/app/src/main/res/drawable/ic_signal_kb_887.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_887.png rename to app/src/main/res/drawable/ic_signal_kb_887.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_888.png b/app/src/main/res/drawable/ic_signal_kb_888.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_888.png rename to app/src/main/res/drawable/ic_signal_kb_888.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_889.png b/app/src/main/res/drawable/ic_signal_kb_889.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_889.png rename to app/src/main/res/drawable/ic_signal_kb_889.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_89.png b/app/src/main/res/drawable/ic_signal_kb_89.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_89.png rename to app/src/main/res/drawable/ic_signal_kb_89.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_890.png b/app/src/main/res/drawable/ic_signal_kb_890.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_890.png rename to app/src/main/res/drawable/ic_signal_kb_890.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_891.png b/app/src/main/res/drawable/ic_signal_kb_891.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_891.png rename to app/src/main/res/drawable/ic_signal_kb_891.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_892.png b/app/src/main/res/drawable/ic_signal_kb_892.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_892.png rename to app/src/main/res/drawable/ic_signal_kb_892.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_893.png b/app/src/main/res/drawable/ic_signal_kb_893.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_893.png rename to app/src/main/res/drawable/ic_signal_kb_893.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_894.png b/app/src/main/res/drawable/ic_signal_kb_894.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_894.png rename to app/src/main/res/drawable/ic_signal_kb_894.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_895.png b/app/src/main/res/drawable/ic_signal_kb_895.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_895.png rename to app/src/main/res/drawable/ic_signal_kb_895.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_896.png b/app/src/main/res/drawable/ic_signal_kb_896.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_896.png rename to app/src/main/res/drawable/ic_signal_kb_896.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_897.png b/app/src/main/res/drawable/ic_signal_kb_897.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_897.png rename to app/src/main/res/drawable/ic_signal_kb_897.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_898.png b/app/src/main/res/drawable/ic_signal_kb_898.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_898.png rename to app/src/main/res/drawable/ic_signal_kb_898.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_899.png b/app/src/main/res/drawable/ic_signal_kb_899.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_899.png rename to app/src/main/res/drawable/ic_signal_kb_899.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_9.png b/app/src/main/res/drawable/ic_signal_kb_9.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_9.png rename to app/src/main/res/drawable/ic_signal_kb_9.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_90.png b/app/src/main/res/drawable/ic_signal_kb_90.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_90.png rename to app/src/main/res/drawable/ic_signal_kb_90.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_900.png b/app/src/main/res/drawable/ic_signal_kb_900.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_900.png rename to app/src/main/res/drawable/ic_signal_kb_900.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_901.png b/app/src/main/res/drawable/ic_signal_kb_901.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_901.png rename to app/src/main/res/drawable/ic_signal_kb_901.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_902.png b/app/src/main/res/drawable/ic_signal_kb_902.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_902.png rename to app/src/main/res/drawable/ic_signal_kb_902.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_903.png b/app/src/main/res/drawable/ic_signal_kb_903.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_903.png rename to app/src/main/res/drawable/ic_signal_kb_903.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_904.png b/app/src/main/res/drawable/ic_signal_kb_904.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_904.png rename to app/src/main/res/drawable/ic_signal_kb_904.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_905.png b/app/src/main/res/drawable/ic_signal_kb_905.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_905.png rename to app/src/main/res/drawable/ic_signal_kb_905.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_906.png b/app/src/main/res/drawable/ic_signal_kb_906.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_906.png rename to app/src/main/res/drawable/ic_signal_kb_906.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_907.png b/app/src/main/res/drawable/ic_signal_kb_907.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_907.png rename to app/src/main/res/drawable/ic_signal_kb_907.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_908.png b/app/src/main/res/drawable/ic_signal_kb_908.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_908.png rename to app/src/main/res/drawable/ic_signal_kb_908.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_909.png b/app/src/main/res/drawable/ic_signal_kb_909.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_909.png rename to app/src/main/res/drawable/ic_signal_kb_909.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_91.png b/app/src/main/res/drawable/ic_signal_kb_91.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_91.png rename to app/src/main/res/drawable/ic_signal_kb_91.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_910.png b/app/src/main/res/drawable/ic_signal_kb_910.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_910.png rename to app/src/main/res/drawable/ic_signal_kb_910.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_911.png b/app/src/main/res/drawable/ic_signal_kb_911.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_911.png rename to app/src/main/res/drawable/ic_signal_kb_911.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_912.png b/app/src/main/res/drawable/ic_signal_kb_912.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_912.png rename to app/src/main/res/drawable/ic_signal_kb_912.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_913.png b/app/src/main/res/drawable/ic_signal_kb_913.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_913.png rename to app/src/main/res/drawable/ic_signal_kb_913.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_914.png b/app/src/main/res/drawable/ic_signal_kb_914.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_914.png rename to app/src/main/res/drawable/ic_signal_kb_914.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_915.png b/app/src/main/res/drawable/ic_signal_kb_915.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_915.png rename to app/src/main/res/drawable/ic_signal_kb_915.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_916.png b/app/src/main/res/drawable/ic_signal_kb_916.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_916.png rename to app/src/main/res/drawable/ic_signal_kb_916.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_917.png b/app/src/main/res/drawable/ic_signal_kb_917.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_917.png rename to app/src/main/res/drawable/ic_signal_kb_917.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_918.png b/app/src/main/res/drawable/ic_signal_kb_918.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_918.png rename to app/src/main/res/drawable/ic_signal_kb_918.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_919.png b/app/src/main/res/drawable/ic_signal_kb_919.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_919.png rename to app/src/main/res/drawable/ic_signal_kb_919.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_92.png b/app/src/main/res/drawable/ic_signal_kb_92.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_92.png rename to app/src/main/res/drawable/ic_signal_kb_92.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_920.png b/app/src/main/res/drawable/ic_signal_kb_920.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_920.png rename to app/src/main/res/drawable/ic_signal_kb_920.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_921.png b/app/src/main/res/drawable/ic_signal_kb_921.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_921.png rename to app/src/main/res/drawable/ic_signal_kb_921.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_922.png b/app/src/main/res/drawable/ic_signal_kb_922.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_922.png rename to app/src/main/res/drawable/ic_signal_kb_922.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_923.png b/app/src/main/res/drawable/ic_signal_kb_923.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_923.png rename to app/src/main/res/drawable/ic_signal_kb_923.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_924.png b/app/src/main/res/drawable/ic_signal_kb_924.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_924.png rename to app/src/main/res/drawable/ic_signal_kb_924.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_925.png b/app/src/main/res/drawable/ic_signal_kb_925.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_925.png rename to app/src/main/res/drawable/ic_signal_kb_925.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_926.png b/app/src/main/res/drawable/ic_signal_kb_926.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_926.png rename to app/src/main/res/drawable/ic_signal_kb_926.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_927.png b/app/src/main/res/drawable/ic_signal_kb_927.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_927.png rename to app/src/main/res/drawable/ic_signal_kb_927.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_928.png b/app/src/main/res/drawable/ic_signal_kb_928.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_928.png rename to app/src/main/res/drawable/ic_signal_kb_928.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_929.png b/app/src/main/res/drawable/ic_signal_kb_929.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_929.png rename to app/src/main/res/drawable/ic_signal_kb_929.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_93.png b/app/src/main/res/drawable/ic_signal_kb_93.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_93.png rename to app/src/main/res/drawable/ic_signal_kb_93.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_930.png b/app/src/main/res/drawable/ic_signal_kb_930.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_930.png rename to app/src/main/res/drawable/ic_signal_kb_930.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_931.png b/app/src/main/res/drawable/ic_signal_kb_931.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_931.png rename to app/src/main/res/drawable/ic_signal_kb_931.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_932.png b/app/src/main/res/drawable/ic_signal_kb_932.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_932.png rename to app/src/main/res/drawable/ic_signal_kb_932.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_933.png b/app/src/main/res/drawable/ic_signal_kb_933.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_933.png rename to app/src/main/res/drawable/ic_signal_kb_933.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_934.png b/app/src/main/res/drawable/ic_signal_kb_934.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_934.png rename to app/src/main/res/drawable/ic_signal_kb_934.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_935.png b/app/src/main/res/drawable/ic_signal_kb_935.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_935.png rename to app/src/main/res/drawable/ic_signal_kb_935.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_936.png b/app/src/main/res/drawable/ic_signal_kb_936.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_936.png rename to app/src/main/res/drawable/ic_signal_kb_936.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_937.png b/app/src/main/res/drawable/ic_signal_kb_937.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_937.png rename to app/src/main/res/drawable/ic_signal_kb_937.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_938.png b/app/src/main/res/drawable/ic_signal_kb_938.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_938.png rename to app/src/main/res/drawable/ic_signal_kb_938.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_939.png b/app/src/main/res/drawable/ic_signal_kb_939.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_939.png rename to app/src/main/res/drawable/ic_signal_kb_939.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_94.png b/app/src/main/res/drawable/ic_signal_kb_94.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_94.png rename to app/src/main/res/drawable/ic_signal_kb_94.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_940.png b/app/src/main/res/drawable/ic_signal_kb_940.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_940.png rename to app/src/main/res/drawable/ic_signal_kb_940.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_941.png b/app/src/main/res/drawable/ic_signal_kb_941.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_941.png rename to app/src/main/res/drawable/ic_signal_kb_941.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_942.png b/app/src/main/res/drawable/ic_signal_kb_942.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_942.png rename to app/src/main/res/drawable/ic_signal_kb_942.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_943.png b/app/src/main/res/drawable/ic_signal_kb_943.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_943.png rename to app/src/main/res/drawable/ic_signal_kb_943.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_944.png b/app/src/main/res/drawable/ic_signal_kb_944.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_944.png rename to app/src/main/res/drawable/ic_signal_kb_944.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_945.png b/app/src/main/res/drawable/ic_signal_kb_945.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_945.png rename to app/src/main/res/drawable/ic_signal_kb_945.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_946.png b/app/src/main/res/drawable/ic_signal_kb_946.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_946.png rename to app/src/main/res/drawable/ic_signal_kb_946.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_947.png b/app/src/main/res/drawable/ic_signal_kb_947.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_947.png rename to app/src/main/res/drawable/ic_signal_kb_947.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_948.png b/app/src/main/res/drawable/ic_signal_kb_948.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_948.png rename to app/src/main/res/drawable/ic_signal_kb_948.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_949.png b/app/src/main/res/drawable/ic_signal_kb_949.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_949.png rename to app/src/main/res/drawable/ic_signal_kb_949.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_95.png b/app/src/main/res/drawable/ic_signal_kb_95.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_95.png rename to app/src/main/res/drawable/ic_signal_kb_95.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_950.png b/app/src/main/res/drawable/ic_signal_kb_950.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_950.png rename to app/src/main/res/drawable/ic_signal_kb_950.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_951.png b/app/src/main/res/drawable/ic_signal_kb_951.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_951.png rename to app/src/main/res/drawable/ic_signal_kb_951.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_952.png b/app/src/main/res/drawable/ic_signal_kb_952.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_952.png rename to app/src/main/res/drawable/ic_signal_kb_952.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_953.png b/app/src/main/res/drawable/ic_signal_kb_953.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_953.png rename to app/src/main/res/drawable/ic_signal_kb_953.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_954.png b/app/src/main/res/drawable/ic_signal_kb_954.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_954.png rename to app/src/main/res/drawable/ic_signal_kb_954.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_955.png b/app/src/main/res/drawable/ic_signal_kb_955.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_955.png rename to app/src/main/res/drawable/ic_signal_kb_955.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_956.png b/app/src/main/res/drawable/ic_signal_kb_956.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_956.png rename to app/src/main/res/drawable/ic_signal_kb_956.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_957.png b/app/src/main/res/drawable/ic_signal_kb_957.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_957.png rename to app/src/main/res/drawable/ic_signal_kb_957.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_958.png b/app/src/main/res/drawable/ic_signal_kb_958.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_958.png rename to app/src/main/res/drawable/ic_signal_kb_958.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_959.png b/app/src/main/res/drawable/ic_signal_kb_959.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_959.png rename to app/src/main/res/drawable/ic_signal_kb_959.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_96.png b/app/src/main/res/drawable/ic_signal_kb_96.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_96.png rename to app/src/main/res/drawable/ic_signal_kb_96.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_960.png b/app/src/main/res/drawable/ic_signal_kb_960.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_960.png rename to app/src/main/res/drawable/ic_signal_kb_960.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_961.png b/app/src/main/res/drawable/ic_signal_kb_961.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_961.png rename to app/src/main/res/drawable/ic_signal_kb_961.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_962.png b/app/src/main/res/drawable/ic_signal_kb_962.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_962.png rename to app/src/main/res/drawable/ic_signal_kb_962.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_963.png b/app/src/main/res/drawable/ic_signal_kb_963.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_963.png rename to app/src/main/res/drawable/ic_signal_kb_963.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_964.png b/app/src/main/res/drawable/ic_signal_kb_964.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_964.png rename to app/src/main/res/drawable/ic_signal_kb_964.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_965.png b/app/src/main/res/drawable/ic_signal_kb_965.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_965.png rename to app/src/main/res/drawable/ic_signal_kb_965.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_966.png b/app/src/main/res/drawable/ic_signal_kb_966.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_966.png rename to app/src/main/res/drawable/ic_signal_kb_966.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_967.png b/app/src/main/res/drawable/ic_signal_kb_967.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_967.png rename to app/src/main/res/drawable/ic_signal_kb_967.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_968.png b/app/src/main/res/drawable/ic_signal_kb_968.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_968.png rename to app/src/main/res/drawable/ic_signal_kb_968.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_969.png b/app/src/main/res/drawable/ic_signal_kb_969.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_969.png rename to app/src/main/res/drawable/ic_signal_kb_969.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_97.png b/app/src/main/res/drawable/ic_signal_kb_97.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_97.png rename to app/src/main/res/drawable/ic_signal_kb_97.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_970.png b/app/src/main/res/drawable/ic_signal_kb_970.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_970.png rename to app/src/main/res/drawable/ic_signal_kb_970.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_971.png b/app/src/main/res/drawable/ic_signal_kb_971.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_971.png rename to app/src/main/res/drawable/ic_signal_kb_971.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_972.png b/app/src/main/res/drawable/ic_signal_kb_972.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_972.png rename to app/src/main/res/drawable/ic_signal_kb_972.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_973.png b/app/src/main/res/drawable/ic_signal_kb_973.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_973.png rename to app/src/main/res/drawable/ic_signal_kb_973.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_974.png b/app/src/main/res/drawable/ic_signal_kb_974.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_974.png rename to app/src/main/res/drawable/ic_signal_kb_974.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_975.png b/app/src/main/res/drawable/ic_signal_kb_975.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_975.png rename to app/src/main/res/drawable/ic_signal_kb_975.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_976.png b/app/src/main/res/drawable/ic_signal_kb_976.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_976.png rename to app/src/main/res/drawable/ic_signal_kb_976.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_977.png b/app/src/main/res/drawable/ic_signal_kb_977.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_977.png rename to app/src/main/res/drawable/ic_signal_kb_977.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_978.png b/app/src/main/res/drawable/ic_signal_kb_978.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_978.png rename to app/src/main/res/drawable/ic_signal_kb_978.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_979.png b/app/src/main/res/drawable/ic_signal_kb_979.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_979.png rename to app/src/main/res/drawable/ic_signal_kb_979.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_98.png b/app/src/main/res/drawable/ic_signal_kb_98.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_98.png rename to app/src/main/res/drawable/ic_signal_kb_98.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_980.png b/app/src/main/res/drawable/ic_signal_kb_980.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_980.png rename to app/src/main/res/drawable/ic_signal_kb_980.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_981.png b/app/src/main/res/drawable/ic_signal_kb_981.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_981.png rename to app/src/main/res/drawable/ic_signal_kb_981.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_982.png b/app/src/main/res/drawable/ic_signal_kb_982.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_982.png rename to app/src/main/res/drawable/ic_signal_kb_982.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_983.png b/app/src/main/res/drawable/ic_signal_kb_983.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_983.png rename to app/src/main/res/drawable/ic_signal_kb_983.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_984.png b/app/src/main/res/drawable/ic_signal_kb_984.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_984.png rename to app/src/main/res/drawable/ic_signal_kb_984.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_985.png b/app/src/main/res/drawable/ic_signal_kb_985.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_985.png rename to app/src/main/res/drawable/ic_signal_kb_985.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_986.png b/app/src/main/res/drawable/ic_signal_kb_986.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_986.png rename to app/src/main/res/drawable/ic_signal_kb_986.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_987.png b/app/src/main/res/drawable/ic_signal_kb_987.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_987.png rename to app/src/main/res/drawable/ic_signal_kb_987.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_988.png b/app/src/main/res/drawable/ic_signal_kb_988.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_988.png rename to app/src/main/res/drawable/ic_signal_kb_988.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_989.png b/app/src/main/res/drawable/ic_signal_kb_989.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_989.png rename to app/src/main/res/drawable/ic_signal_kb_989.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_99.png b/app/src/main/res/drawable/ic_signal_kb_99.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_99.png rename to app/src/main/res/drawable/ic_signal_kb_99.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_990.png b/app/src/main/res/drawable/ic_signal_kb_990.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_990.png rename to app/src/main/res/drawable/ic_signal_kb_990.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_991.png b/app/src/main/res/drawable/ic_signal_kb_991.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_991.png rename to app/src/main/res/drawable/ic_signal_kb_991.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_992.png b/app/src/main/res/drawable/ic_signal_kb_992.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_992.png rename to app/src/main/res/drawable/ic_signal_kb_992.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_993.png b/app/src/main/res/drawable/ic_signal_kb_993.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_993.png rename to app/src/main/res/drawable/ic_signal_kb_993.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_994.png b/app/src/main/res/drawable/ic_signal_kb_994.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_994.png rename to app/src/main/res/drawable/ic_signal_kb_994.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_995.png b/app/src/main/res/drawable/ic_signal_kb_995.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_995.png rename to app/src/main/res/drawable/ic_signal_kb_995.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_996.png b/app/src/main/res/drawable/ic_signal_kb_996.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_996.png rename to app/src/main/res/drawable/ic_signal_kb_996.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_997.png b/app/src/main/res/drawable/ic_signal_kb_997.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_997.png rename to app/src/main/res/drawable/ic_signal_kb_997.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_998.png b/app/src/main/res/drawable/ic_signal_kb_998.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_998.png rename to app/src/main/res/drawable/ic_signal_kb_998.png diff --git a/app/src/main/res/drawable-v24/ic_signal_kb_999.png b/app/src/main/res/drawable/ic_signal_kb_999.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_kb_999.png rename to app/src/main/res/drawable/ic_signal_kb_999.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_10.png b/app/src/main/res/drawable/ic_signal_mb_10.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_10.png rename to app/src/main/res/drawable/ic_signal_mb_10.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_100.png b/app/src/main/res/drawable/ic_signal_mb_100.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_100.png rename to app/src/main/res/drawable/ic_signal_mb_100.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_101.png b/app/src/main/res/drawable/ic_signal_mb_101.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_101.png rename to app/src/main/res/drawable/ic_signal_mb_101.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_102.png b/app/src/main/res/drawable/ic_signal_mb_102.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_102.png rename to app/src/main/res/drawable/ic_signal_mb_102.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_103.png b/app/src/main/res/drawable/ic_signal_mb_103.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_103.png rename to app/src/main/res/drawable/ic_signal_mb_103.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_104.png b/app/src/main/res/drawable/ic_signal_mb_104.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_104.png rename to app/src/main/res/drawable/ic_signal_mb_104.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_105.png b/app/src/main/res/drawable/ic_signal_mb_105.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_105.png rename to app/src/main/res/drawable/ic_signal_mb_105.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_106.png b/app/src/main/res/drawable/ic_signal_mb_106.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_106.png rename to app/src/main/res/drawable/ic_signal_mb_106.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_107.png b/app/src/main/res/drawable/ic_signal_mb_107.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_107.png rename to app/src/main/res/drawable/ic_signal_mb_107.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_108.png b/app/src/main/res/drawable/ic_signal_mb_108.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_108.png rename to app/src/main/res/drawable/ic_signal_mb_108.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_109.png b/app/src/main/res/drawable/ic_signal_mb_109.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_109.png rename to app/src/main/res/drawable/ic_signal_mb_109.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_11.png b/app/src/main/res/drawable/ic_signal_mb_11.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_11.png rename to app/src/main/res/drawable/ic_signal_mb_11.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_110.png b/app/src/main/res/drawable/ic_signal_mb_110.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_110.png rename to app/src/main/res/drawable/ic_signal_mb_110.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_111.png b/app/src/main/res/drawable/ic_signal_mb_111.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_111.png rename to app/src/main/res/drawable/ic_signal_mb_111.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_112.png b/app/src/main/res/drawable/ic_signal_mb_112.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_112.png rename to app/src/main/res/drawable/ic_signal_mb_112.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_113.png b/app/src/main/res/drawable/ic_signal_mb_113.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_113.png rename to app/src/main/res/drawable/ic_signal_mb_113.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_114.png b/app/src/main/res/drawable/ic_signal_mb_114.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_114.png rename to app/src/main/res/drawable/ic_signal_mb_114.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_115.png b/app/src/main/res/drawable/ic_signal_mb_115.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_115.png rename to app/src/main/res/drawable/ic_signal_mb_115.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_116.png b/app/src/main/res/drawable/ic_signal_mb_116.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_116.png rename to app/src/main/res/drawable/ic_signal_mb_116.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_117.png b/app/src/main/res/drawable/ic_signal_mb_117.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_117.png rename to app/src/main/res/drawable/ic_signal_mb_117.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_118.png b/app/src/main/res/drawable/ic_signal_mb_118.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_118.png rename to app/src/main/res/drawable/ic_signal_mb_118.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_119.png b/app/src/main/res/drawable/ic_signal_mb_119.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_119.png rename to app/src/main/res/drawable/ic_signal_mb_119.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_12.png b/app/src/main/res/drawable/ic_signal_mb_12.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_12.png rename to app/src/main/res/drawable/ic_signal_mb_12.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_120.png b/app/src/main/res/drawable/ic_signal_mb_120.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_120.png rename to app/src/main/res/drawable/ic_signal_mb_120.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_121.png b/app/src/main/res/drawable/ic_signal_mb_121.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_121.png rename to app/src/main/res/drawable/ic_signal_mb_121.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_122.png b/app/src/main/res/drawable/ic_signal_mb_122.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_122.png rename to app/src/main/res/drawable/ic_signal_mb_122.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_123.png b/app/src/main/res/drawable/ic_signal_mb_123.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_123.png rename to app/src/main/res/drawable/ic_signal_mb_123.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_124.png b/app/src/main/res/drawable/ic_signal_mb_124.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_124.png rename to app/src/main/res/drawable/ic_signal_mb_124.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_125.png b/app/src/main/res/drawable/ic_signal_mb_125.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_125.png rename to app/src/main/res/drawable/ic_signal_mb_125.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_126.png b/app/src/main/res/drawable/ic_signal_mb_126.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_126.png rename to app/src/main/res/drawable/ic_signal_mb_126.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_127.png b/app/src/main/res/drawable/ic_signal_mb_127.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_127.png rename to app/src/main/res/drawable/ic_signal_mb_127.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_128.png b/app/src/main/res/drawable/ic_signal_mb_128.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_128.png rename to app/src/main/res/drawable/ic_signal_mb_128.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_129.png b/app/src/main/res/drawable/ic_signal_mb_129.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_129.png rename to app/src/main/res/drawable/ic_signal_mb_129.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_13.png b/app/src/main/res/drawable/ic_signal_mb_13.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_13.png rename to app/src/main/res/drawable/ic_signal_mb_13.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_130.png b/app/src/main/res/drawable/ic_signal_mb_130.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_130.png rename to app/src/main/res/drawable/ic_signal_mb_130.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_131.png b/app/src/main/res/drawable/ic_signal_mb_131.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_131.png rename to app/src/main/res/drawable/ic_signal_mb_131.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_132.png b/app/src/main/res/drawable/ic_signal_mb_132.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_132.png rename to app/src/main/res/drawable/ic_signal_mb_132.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_133.png b/app/src/main/res/drawable/ic_signal_mb_133.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_133.png rename to app/src/main/res/drawable/ic_signal_mb_133.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_134.png b/app/src/main/res/drawable/ic_signal_mb_134.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_134.png rename to app/src/main/res/drawable/ic_signal_mb_134.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_135.png b/app/src/main/res/drawable/ic_signal_mb_135.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_135.png rename to app/src/main/res/drawable/ic_signal_mb_135.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_136.png b/app/src/main/res/drawable/ic_signal_mb_136.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_136.png rename to app/src/main/res/drawable/ic_signal_mb_136.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_137.png b/app/src/main/res/drawable/ic_signal_mb_137.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_137.png rename to app/src/main/res/drawable/ic_signal_mb_137.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_138.png b/app/src/main/res/drawable/ic_signal_mb_138.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_138.png rename to app/src/main/res/drawable/ic_signal_mb_138.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_139.png b/app/src/main/res/drawable/ic_signal_mb_139.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_139.png rename to app/src/main/res/drawable/ic_signal_mb_139.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_14.png b/app/src/main/res/drawable/ic_signal_mb_14.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_14.png rename to app/src/main/res/drawable/ic_signal_mb_14.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_140.png b/app/src/main/res/drawable/ic_signal_mb_140.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_140.png rename to app/src/main/res/drawable/ic_signal_mb_140.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_141.png b/app/src/main/res/drawable/ic_signal_mb_141.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_141.png rename to app/src/main/res/drawable/ic_signal_mb_141.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_142.png b/app/src/main/res/drawable/ic_signal_mb_142.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_142.png rename to app/src/main/res/drawable/ic_signal_mb_142.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_143.png b/app/src/main/res/drawable/ic_signal_mb_143.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_143.png rename to app/src/main/res/drawable/ic_signal_mb_143.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_144.png b/app/src/main/res/drawable/ic_signal_mb_144.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_144.png rename to app/src/main/res/drawable/ic_signal_mb_144.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_145.png b/app/src/main/res/drawable/ic_signal_mb_145.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_145.png rename to app/src/main/res/drawable/ic_signal_mb_145.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_146.png b/app/src/main/res/drawable/ic_signal_mb_146.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_146.png rename to app/src/main/res/drawable/ic_signal_mb_146.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_147.png b/app/src/main/res/drawable/ic_signal_mb_147.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_147.png rename to app/src/main/res/drawable/ic_signal_mb_147.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_148.png b/app/src/main/res/drawable/ic_signal_mb_148.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_148.png rename to app/src/main/res/drawable/ic_signal_mb_148.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_149.png b/app/src/main/res/drawable/ic_signal_mb_149.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_149.png rename to app/src/main/res/drawable/ic_signal_mb_149.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_15.png b/app/src/main/res/drawable/ic_signal_mb_15.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_15.png rename to app/src/main/res/drawable/ic_signal_mb_15.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_150.png b/app/src/main/res/drawable/ic_signal_mb_150.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_150.png rename to app/src/main/res/drawable/ic_signal_mb_150.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_151.png b/app/src/main/res/drawable/ic_signal_mb_151.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_151.png rename to app/src/main/res/drawable/ic_signal_mb_151.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_152.png b/app/src/main/res/drawable/ic_signal_mb_152.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_152.png rename to app/src/main/res/drawable/ic_signal_mb_152.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_153.png b/app/src/main/res/drawable/ic_signal_mb_153.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_153.png rename to app/src/main/res/drawable/ic_signal_mb_153.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_154.png b/app/src/main/res/drawable/ic_signal_mb_154.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_154.png rename to app/src/main/res/drawable/ic_signal_mb_154.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_155.png b/app/src/main/res/drawable/ic_signal_mb_155.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_155.png rename to app/src/main/res/drawable/ic_signal_mb_155.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_156.png b/app/src/main/res/drawable/ic_signal_mb_156.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_156.png rename to app/src/main/res/drawable/ic_signal_mb_156.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_157.png b/app/src/main/res/drawable/ic_signal_mb_157.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_157.png rename to app/src/main/res/drawable/ic_signal_mb_157.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_158.png b/app/src/main/res/drawable/ic_signal_mb_158.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_158.png rename to app/src/main/res/drawable/ic_signal_mb_158.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_159.png b/app/src/main/res/drawable/ic_signal_mb_159.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_159.png rename to app/src/main/res/drawable/ic_signal_mb_159.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_16.png b/app/src/main/res/drawable/ic_signal_mb_16.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_16.png rename to app/src/main/res/drawable/ic_signal_mb_16.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_160.png b/app/src/main/res/drawable/ic_signal_mb_160.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_160.png rename to app/src/main/res/drawable/ic_signal_mb_160.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_161.png b/app/src/main/res/drawable/ic_signal_mb_161.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_161.png rename to app/src/main/res/drawable/ic_signal_mb_161.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_162.png b/app/src/main/res/drawable/ic_signal_mb_162.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_162.png rename to app/src/main/res/drawable/ic_signal_mb_162.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_163.png b/app/src/main/res/drawable/ic_signal_mb_163.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_163.png rename to app/src/main/res/drawable/ic_signal_mb_163.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_164.png b/app/src/main/res/drawable/ic_signal_mb_164.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_164.png rename to app/src/main/res/drawable/ic_signal_mb_164.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_165.png b/app/src/main/res/drawable/ic_signal_mb_165.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_165.png rename to app/src/main/res/drawable/ic_signal_mb_165.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_166.png b/app/src/main/res/drawable/ic_signal_mb_166.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_166.png rename to app/src/main/res/drawable/ic_signal_mb_166.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_167.png b/app/src/main/res/drawable/ic_signal_mb_167.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_167.png rename to app/src/main/res/drawable/ic_signal_mb_167.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_168.png b/app/src/main/res/drawable/ic_signal_mb_168.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_168.png rename to app/src/main/res/drawable/ic_signal_mb_168.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_169.png b/app/src/main/res/drawable/ic_signal_mb_169.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_169.png rename to app/src/main/res/drawable/ic_signal_mb_169.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_17.png b/app/src/main/res/drawable/ic_signal_mb_17.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_17.png rename to app/src/main/res/drawable/ic_signal_mb_17.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_170.png b/app/src/main/res/drawable/ic_signal_mb_170.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_170.png rename to app/src/main/res/drawable/ic_signal_mb_170.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_171.png b/app/src/main/res/drawable/ic_signal_mb_171.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_171.png rename to app/src/main/res/drawable/ic_signal_mb_171.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_172.png b/app/src/main/res/drawable/ic_signal_mb_172.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_172.png rename to app/src/main/res/drawable/ic_signal_mb_172.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_173.png b/app/src/main/res/drawable/ic_signal_mb_173.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_173.png rename to app/src/main/res/drawable/ic_signal_mb_173.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_174.png b/app/src/main/res/drawable/ic_signal_mb_174.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_174.png rename to app/src/main/res/drawable/ic_signal_mb_174.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_175.png b/app/src/main/res/drawable/ic_signal_mb_175.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_175.png rename to app/src/main/res/drawable/ic_signal_mb_175.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_176.png b/app/src/main/res/drawable/ic_signal_mb_176.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_176.png rename to app/src/main/res/drawable/ic_signal_mb_176.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_177.png b/app/src/main/res/drawable/ic_signal_mb_177.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_177.png rename to app/src/main/res/drawable/ic_signal_mb_177.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_178.png b/app/src/main/res/drawable/ic_signal_mb_178.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_178.png rename to app/src/main/res/drawable/ic_signal_mb_178.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_179.png b/app/src/main/res/drawable/ic_signal_mb_179.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_179.png rename to app/src/main/res/drawable/ic_signal_mb_179.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_18.png b/app/src/main/res/drawable/ic_signal_mb_18.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_18.png rename to app/src/main/res/drawable/ic_signal_mb_18.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_180.png b/app/src/main/res/drawable/ic_signal_mb_180.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_180.png rename to app/src/main/res/drawable/ic_signal_mb_180.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_181.png b/app/src/main/res/drawable/ic_signal_mb_181.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_181.png rename to app/src/main/res/drawable/ic_signal_mb_181.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_182.png b/app/src/main/res/drawable/ic_signal_mb_182.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_182.png rename to app/src/main/res/drawable/ic_signal_mb_182.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_183.png b/app/src/main/res/drawable/ic_signal_mb_183.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_183.png rename to app/src/main/res/drawable/ic_signal_mb_183.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_184.png b/app/src/main/res/drawable/ic_signal_mb_184.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_184.png rename to app/src/main/res/drawable/ic_signal_mb_184.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_185.png b/app/src/main/res/drawable/ic_signal_mb_185.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_185.png rename to app/src/main/res/drawable/ic_signal_mb_185.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_186.png b/app/src/main/res/drawable/ic_signal_mb_186.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_186.png rename to app/src/main/res/drawable/ic_signal_mb_186.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_187.png b/app/src/main/res/drawable/ic_signal_mb_187.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_187.png rename to app/src/main/res/drawable/ic_signal_mb_187.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_188.png b/app/src/main/res/drawable/ic_signal_mb_188.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_188.png rename to app/src/main/res/drawable/ic_signal_mb_188.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_189.png b/app/src/main/res/drawable/ic_signal_mb_189.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_189.png rename to app/src/main/res/drawable/ic_signal_mb_189.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_19.png b/app/src/main/res/drawable/ic_signal_mb_19.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_19.png rename to app/src/main/res/drawable/ic_signal_mb_19.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_190.png b/app/src/main/res/drawable/ic_signal_mb_190.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_190.png rename to app/src/main/res/drawable/ic_signal_mb_190.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_191.png b/app/src/main/res/drawable/ic_signal_mb_191.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_191.png rename to app/src/main/res/drawable/ic_signal_mb_191.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_192.png b/app/src/main/res/drawable/ic_signal_mb_192.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_192.png rename to app/src/main/res/drawable/ic_signal_mb_192.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_193.png b/app/src/main/res/drawable/ic_signal_mb_193.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_193.png rename to app/src/main/res/drawable/ic_signal_mb_193.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_194.png b/app/src/main/res/drawable/ic_signal_mb_194.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_194.png rename to app/src/main/res/drawable/ic_signal_mb_194.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_195.png b/app/src/main/res/drawable/ic_signal_mb_195.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_195.png rename to app/src/main/res/drawable/ic_signal_mb_195.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_196.png b/app/src/main/res/drawable/ic_signal_mb_196.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_196.png rename to app/src/main/res/drawable/ic_signal_mb_196.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_197.png b/app/src/main/res/drawable/ic_signal_mb_197.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_197.png rename to app/src/main/res/drawable/ic_signal_mb_197.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_198.png b/app/src/main/res/drawable/ic_signal_mb_198.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_198.png rename to app/src/main/res/drawable/ic_signal_mb_198.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_199.png b/app/src/main/res/drawable/ic_signal_mb_199.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_199.png rename to app/src/main/res/drawable/ic_signal_mb_199.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_1_0.png b/app/src/main/res/drawable/ic_signal_mb_1_0.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_1_0.png rename to app/src/main/res/drawable/ic_signal_mb_1_0.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_1_1.png b/app/src/main/res/drawable/ic_signal_mb_1_1.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_1_1.png rename to app/src/main/res/drawable/ic_signal_mb_1_1.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_1_2.png b/app/src/main/res/drawable/ic_signal_mb_1_2.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_1_2.png rename to app/src/main/res/drawable/ic_signal_mb_1_2.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_1_3.png b/app/src/main/res/drawable/ic_signal_mb_1_3.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_1_3.png rename to app/src/main/res/drawable/ic_signal_mb_1_3.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_1_4.png b/app/src/main/res/drawable/ic_signal_mb_1_4.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_1_4.png rename to app/src/main/res/drawable/ic_signal_mb_1_4.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_1_5.png b/app/src/main/res/drawable/ic_signal_mb_1_5.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_1_5.png rename to app/src/main/res/drawable/ic_signal_mb_1_5.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_1_6.png b/app/src/main/res/drawable/ic_signal_mb_1_6.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_1_6.png rename to app/src/main/res/drawable/ic_signal_mb_1_6.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_1_7.png b/app/src/main/res/drawable/ic_signal_mb_1_7.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_1_7.png rename to app/src/main/res/drawable/ic_signal_mb_1_7.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_1_8.png b/app/src/main/res/drawable/ic_signal_mb_1_8.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_1_8.png rename to app/src/main/res/drawable/ic_signal_mb_1_8.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_1_9.png b/app/src/main/res/drawable/ic_signal_mb_1_9.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_1_9.png rename to app/src/main/res/drawable/ic_signal_mb_1_9.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_20.png b/app/src/main/res/drawable/ic_signal_mb_20.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_20.png rename to app/src/main/res/drawable/ic_signal_mb_20.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_200.png b/app/src/main/res/drawable/ic_signal_mb_200.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_200.png rename to app/src/main/res/drawable/ic_signal_mb_200.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_200_plus.png b/app/src/main/res/drawable/ic_signal_mb_200_plus.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_200_plus.png rename to app/src/main/res/drawable/ic_signal_mb_200_plus.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_21.png b/app/src/main/res/drawable/ic_signal_mb_21.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_21.png rename to app/src/main/res/drawable/ic_signal_mb_21.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_22.png b/app/src/main/res/drawable/ic_signal_mb_22.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_22.png rename to app/src/main/res/drawable/ic_signal_mb_22.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_23.png b/app/src/main/res/drawable/ic_signal_mb_23.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_23.png rename to app/src/main/res/drawable/ic_signal_mb_23.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_24.png b/app/src/main/res/drawable/ic_signal_mb_24.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_24.png rename to app/src/main/res/drawable/ic_signal_mb_24.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_25.png b/app/src/main/res/drawable/ic_signal_mb_25.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_25.png rename to app/src/main/res/drawable/ic_signal_mb_25.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_26.png b/app/src/main/res/drawable/ic_signal_mb_26.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_26.png rename to app/src/main/res/drawable/ic_signal_mb_26.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_27.png b/app/src/main/res/drawable/ic_signal_mb_27.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_27.png rename to app/src/main/res/drawable/ic_signal_mb_27.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_28.png b/app/src/main/res/drawable/ic_signal_mb_28.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_28.png rename to app/src/main/res/drawable/ic_signal_mb_28.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_29.png b/app/src/main/res/drawable/ic_signal_mb_29.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_29.png rename to app/src/main/res/drawable/ic_signal_mb_29.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_2_0.png b/app/src/main/res/drawable/ic_signal_mb_2_0.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_2_0.png rename to app/src/main/res/drawable/ic_signal_mb_2_0.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_2_1.png b/app/src/main/res/drawable/ic_signal_mb_2_1.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_2_1.png rename to app/src/main/res/drawable/ic_signal_mb_2_1.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_2_2.png b/app/src/main/res/drawable/ic_signal_mb_2_2.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_2_2.png rename to app/src/main/res/drawable/ic_signal_mb_2_2.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_2_3.png b/app/src/main/res/drawable/ic_signal_mb_2_3.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_2_3.png rename to app/src/main/res/drawable/ic_signal_mb_2_3.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_2_4.png b/app/src/main/res/drawable/ic_signal_mb_2_4.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_2_4.png rename to app/src/main/res/drawable/ic_signal_mb_2_4.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_2_5.png b/app/src/main/res/drawable/ic_signal_mb_2_5.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_2_5.png rename to app/src/main/res/drawable/ic_signal_mb_2_5.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_2_6.png b/app/src/main/res/drawable/ic_signal_mb_2_6.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_2_6.png rename to app/src/main/res/drawable/ic_signal_mb_2_6.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_2_7.png b/app/src/main/res/drawable/ic_signal_mb_2_7.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_2_7.png rename to app/src/main/res/drawable/ic_signal_mb_2_7.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_2_8.png b/app/src/main/res/drawable/ic_signal_mb_2_8.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_2_8.png rename to app/src/main/res/drawable/ic_signal_mb_2_8.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_2_9.png b/app/src/main/res/drawable/ic_signal_mb_2_9.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_2_9.png rename to app/src/main/res/drawable/ic_signal_mb_2_9.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_30.png b/app/src/main/res/drawable/ic_signal_mb_30.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_30.png rename to app/src/main/res/drawable/ic_signal_mb_30.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_31.png b/app/src/main/res/drawable/ic_signal_mb_31.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_31.png rename to app/src/main/res/drawable/ic_signal_mb_31.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_32.png b/app/src/main/res/drawable/ic_signal_mb_32.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_32.png rename to app/src/main/res/drawable/ic_signal_mb_32.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_33.png b/app/src/main/res/drawable/ic_signal_mb_33.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_33.png rename to app/src/main/res/drawable/ic_signal_mb_33.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_34.png b/app/src/main/res/drawable/ic_signal_mb_34.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_34.png rename to app/src/main/res/drawable/ic_signal_mb_34.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_35.png b/app/src/main/res/drawable/ic_signal_mb_35.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_35.png rename to app/src/main/res/drawable/ic_signal_mb_35.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_36.png b/app/src/main/res/drawable/ic_signal_mb_36.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_36.png rename to app/src/main/res/drawable/ic_signal_mb_36.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_37.png b/app/src/main/res/drawable/ic_signal_mb_37.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_37.png rename to app/src/main/res/drawable/ic_signal_mb_37.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_38.png b/app/src/main/res/drawable/ic_signal_mb_38.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_38.png rename to app/src/main/res/drawable/ic_signal_mb_38.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_39.png b/app/src/main/res/drawable/ic_signal_mb_39.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_39.png rename to app/src/main/res/drawable/ic_signal_mb_39.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_3_0.png b/app/src/main/res/drawable/ic_signal_mb_3_0.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_3_0.png rename to app/src/main/res/drawable/ic_signal_mb_3_0.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_3_1.png b/app/src/main/res/drawable/ic_signal_mb_3_1.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_3_1.png rename to app/src/main/res/drawable/ic_signal_mb_3_1.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_3_2.png b/app/src/main/res/drawable/ic_signal_mb_3_2.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_3_2.png rename to app/src/main/res/drawable/ic_signal_mb_3_2.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_3_3.png b/app/src/main/res/drawable/ic_signal_mb_3_3.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_3_3.png rename to app/src/main/res/drawable/ic_signal_mb_3_3.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_3_4.png b/app/src/main/res/drawable/ic_signal_mb_3_4.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_3_4.png rename to app/src/main/res/drawable/ic_signal_mb_3_4.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_3_5.png b/app/src/main/res/drawable/ic_signal_mb_3_5.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_3_5.png rename to app/src/main/res/drawable/ic_signal_mb_3_5.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_3_6.png b/app/src/main/res/drawable/ic_signal_mb_3_6.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_3_6.png rename to app/src/main/res/drawable/ic_signal_mb_3_6.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_3_7.png b/app/src/main/res/drawable/ic_signal_mb_3_7.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_3_7.png rename to app/src/main/res/drawable/ic_signal_mb_3_7.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_3_8.png b/app/src/main/res/drawable/ic_signal_mb_3_8.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_3_8.png rename to app/src/main/res/drawable/ic_signal_mb_3_8.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_3_9.png b/app/src/main/res/drawable/ic_signal_mb_3_9.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_3_9.png rename to app/src/main/res/drawable/ic_signal_mb_3_9.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_40.png b/app/src/main/res/drawable/ic_signal_mb_40.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_40.png rename to app/src/main/res/drawable/ic_signal_mb_40.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_41.png b/app/src/main/res/drawable/ic_signal_mb_41.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_41.png rename to app/src/main/res/drawable/ic_signal_mb_41.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_42.png b/app/src/main/res/drawable/ic_signal_mb_42.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_42.png rename to app/src/main/res/drawable/ic_signal_mb_42.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_43.png b/app/src/main/res/drawable/ic_signal_mb_43.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_43.png rename to app/src/main/res/drawable/ic_signal_mb_43.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_44.png b/app/src/main/res/drawable/ic_signal_mb_44.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_44.png rename to app/src/main/res/drawable/ic_signal_mb_44.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_45.png b/app/src/main/res/drawable/ic_signal_mb_45.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_45.png rename to app/src/main/res/drawable/ic_signal_mb_45.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_46.png b/app/src/main/res/drawable/ic_signal_mb_46.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_46.png rename to app/src/main/res/drawable/ic_signal_mb_46.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_47.png b/app/src/main/res/drawable/ic_signal_mb_47.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_47.png rename to app/src/main/res/drawable/ic_signal_mb_47.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_48.png b/app/src/main/res/drawable/ic_signal_mb_48.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_48.png rename to app/src/main/res/drawable/ic_signal_mb_48.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_49.png b/app/src/main/res/drawable/ic_signal_mb_49.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_49.png rename to app/src/main/res/drawable/ic_signal_mb_49.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_4_0.png b/app/src/main/res/drawable/ic_signal_mb_4_0.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_4_0.png rename to app/src/main/res/drawable/ic_signal_mb_4_0.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_4_1.png b/app/src/main/res/drawable/ic_signal_mb_4_1.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_4_1.png rename to app/src/main/res/drawable/ic_signal_mb_4_1.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_4_2.png b/app/src/main/res/drawable/ic_signal_mb_4_2.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_4_2.png rename to app/src/main/res/drawable/ic_signal_mb_4_2.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_4_3.png b/app/src/main/res/drawable/ic_signal_mb_4_3.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_4_3.png rename to app/src/main/res/drawable/ic_signal_mb_4_3.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_4_4.png b/app/src/main/res/drawable/ic_signal_mb_4_4.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_4_4.png rename to app/src/main/res/drawable/ic_signal_mb_4_4.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_4_5.png b/app/src/main/res/drawable/ic_signal_mb_4_5.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_4_5.png rename to app/src/main/res/drawable/ic_signal_mb_4_5.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_4_6.png b/app/src/main/res/drawable/ic_signal_mb_4_6.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_4_6.png rename to app/src/main/res/drawable/ic_signal_mb_4_6.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_4_7.png b/app/src/main/res/drawable/ic_signal_mb_4_7.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_4_7.png rename to app/src/main/res/drawable/ic_signal_mb_4_7.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_4_8.png b/app/src/main/res/drawable/ic_signal_mb_4_8.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_4_8.png rename to app/src/main/res/drawable/ic_signal_mb_4_8.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_4_9.png b/app/src/main/res/drawable/ic_signal_mb_4_9.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_4_9.png rename to app/src/main/res/drawable/ic_signal_mb_4_9.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_50.png b/app/src/main/res/drawable/ic_signal_mb_50.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_50.png rename to app/src/main/res/drawable/ic_signal_mb_50.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_51.png b/app/src/main/res/drawable/ic_signal_mb_51.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_51.png rename to app/src/main/res/drawable/ic_signal_mb_51.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_52.png b/app/src/main/res/drawable/ic_signal_mb_52.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_52.png rename to app/src/main/res/drawable/ic_signal_mb_52.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_53.png b/app/src/main/res/drawable/ic_signal_mb_53.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_53.png rename to app/src/main/res/drawable/ic_signal_mb_53.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_54.png b/app/src/main/res/drawable/ic_signal_mb_54.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_54.png rename to app/src/main/res/drawable/ic_signal_mb_54.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_55.png b/app/src/main/res/drawable/ic_signal_mb_55.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_55.png rename to app/src/main/res/drawable/ic_signal_mb_55.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_56.png b/app/src/main/res/drawable/ic_signal_mb_56.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_56.png rename to app/src/main/res/drawable/ic_signal_mb_56.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_57.png b/app/src/main/res/drawable/ic_signal_mb_57.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_57.png rename to app/src/main/res/drawable/ic_signal_mb_57.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_58.png b/app/src/main/res/drawable/ic_signal_mb_58.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_58.png rename to app/src/main/res/drawable/ic_signal_mb_58.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_59.png b/app/src/main/res/drawable/ic_signal_mb_59.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_59.png rename to app/src/main/res/drawable/ic_signal_mb_59.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_5_0.png b/app/src/main/res/drawable/ic_signal_mb_5_0.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_5_0.png rename to app/src/main/res/drawable/ic_signal_mb_5_0.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_5_1.png b/app/src/main/res/drawable/ic_signal_mb_5_1.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_5_1.png rename to app/src/main/res/drawable/ic_signal_mb_5_1.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_5_2.png b/app/src/main/res/drawable/ic_signal_mb_5_2.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_5_2.png rename to app/src/main/res/drawable/ic_signal_mb_5_2.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_5_3.png b/app/src/main/res/drawable/ic_signal_mb_5_3.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_5_3.png rename to app/src/main/res/drawable/ic_signal_mb_5_3.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_5_4.png b/app/src/main/res/drawable/ic_signal_mb_5_4.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_5_4.png rename to app/src/main/res/drawable/ic_signal_mb_5_4.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_5_5.png b/app/src/main/res/drawable/ic_signal_mb_5_5.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_5_5.png rename to app/src/main/res/drawable/ic_signal_mb_5_5.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_5_6.png b/app/src/main/res/drawable/ic_signal_mb_5_6.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_5_6.png rename to app/src/main/res/drawable/ic_signal_mb_5_6.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_5_7.png b/app/src/main/res/drawable/ic_signal_mb_5_7.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_5_7.png rename to app/src/main/res/drawable/ic_signal_mb_5_7.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_5_8.png b/app/src/main/res/drawable/ic_signal_mb_5_8.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_5_8.png rename to app/src/main/res/drawable/ic_signal_mb_5_8.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_5_9.png b/app/src/main/res/drawable/ic_signal_mb_5_9.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_5_9.png rename to app/src/main/res/drawable/ic_signal_mb_5_9.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_60.png b/app/src/main/res/drawable/ic_signal_mb_60.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_60.png rename to app/src/main/res/drawable/ic_signal_mb_60.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_61.png b/app/src/main/res/drawable/ic_signal_mb_61.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_61.png rename to app/src/main/res/drawable/ic_signal_mb_61.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_62.png b/app/src/main/res/drawable/ic_signal_mb_62.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_62.png rename to app/src/main/res/drawable/ic_signal_mb_62.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_63.png b/app/src/main/res/drawable/ic_signal_mb_63.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_63.png rename to app/src/main/res/drawable/ic_signal_mb_63.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_64.png b/app/src/main/res/drawable/ic_signal_mb_64.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_64.png rename to app/src/main/res/drawable/ic_signal_mb_64.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_65.png b/app/src/main/res/drawable/ic_signal_mb_65.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_65.png rename to app/src/main/res/drawable/ic_signal_mb_65.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_66.png b/app/src/main/res/drawable/ic_signal_mb_66.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_66.png rename to app/src/main/res/drawable/ic_signal_mb_66.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_67.png b/app/src/main/res/drawable/ic_signal_mb_67.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_67.png rename to app/src/main/res/drawable/ic_signal_mb_67.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_68.png b/app/src/main/res/drawable/ic_signal_mb_68.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_68.png rename to app/src/main/res/drawable/ic_signal_mb_68.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_69.png b/app/src/main/res/drawable/ic_signal_mb_69.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_69.png rename to app/src/main/res/drawable/ic_signal_mb_69.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_6_0.png b/app/src/main/res/drawable/ic_signal_mb_6_0.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_6_0.png rename to app/src/main/res/drawable/ic_signal_mb_6_0.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_6_1.png b/app/src/main/res/drawable/ic_signal_mb_6_1.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_6_1.png rename to app/src/main/res/drawable/ic_signal_mb_6_1.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_6_2.png b/app/src/main/res/drawable/ic_signal_mb_6_2.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_6_2.png rename to app/src/main/res/drawable/ic_signal_mb_6_2.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_6_3.png b/app/src/main/res/drawable/ic_signal_mb_6_3.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_6_3.png rename to app/src/main/res/drawable/ic_signal_mb_6_3.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_6_4.png b/app/src/main/res/drawable/ic_signal_mb_6_4.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_6_4.png rename to app/src/main/res/drawable/ic_signal_mb_6_4.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_6_5.png b/app/src/main/res/drawable/ic_signal_mb_6_5.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_6_5.png rename to app/src/main/res/drawable/ic_signal_mb_6_5.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_6_6.png b/app/src/main/res/drawable/ic_signal_mb_6_6.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_6_6.png rename to app/src/main/res/drawable/ic_signal_mb_6_6.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_6_7.png b/app/src/main/res/drawable/ic_signal_mb_6_7.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_6_7.png rename to app/src/main/res/drawable/ic_signal_mb_6_7.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_6_8.png b/app/src/main/res/drawable/ic_signal_mb_6_8.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_6_8.png rename to app/src/main/res/drawable/ic_signal_mb_6_8.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_6_9.png b/app/src/main/res/drawable/ic_signal_mb_6_9.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_6_9.png rename to app/src/main/res/drawable/ic_signal_mb_6_9.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_70.png b/app/src/main/res/drawable/ic_signal_mb_70.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_70.png rename to app/src/main/res/drawable/ic_signal_mb_70.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_71.png b/app/src/main/res/drawable/ic_signal_mb_71.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_71.png rename to app/src/main/res/drawable/ic_signal_mb_71.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_72.png b/app/src/main/res/drawable/ic_signal_mb_72.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_72.png rename to app/src/main/res/drawable/ic_signal_mb_72.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_73.png b/app/src/main/res/drawable/ic_signal_mb_73.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_73.png rename to app/src/main/res/drawable/ic_signal_mb_73.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_74.png b/app/src/main/res/drawable/ic_signal_mb_74.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_74.png rename to app/src/main/res/drawable/ic_signal_mb_74.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_75.png b/app/src/main/res/drawable/ic_signal_mb_75.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_75.png rename to app/src/main/res/drawable/ic_signal_mb_75.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_76.png b/app/src/main/res/drawable/ic_signal_mb_76.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_76.png rename to app/src/main/res/drawable/ic_signal_mb_76.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_77.png b/app/src/main/res/drawable/ic_signal_mb_77.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_77.png rename to app/src/main/res/drawable/ic_signal_mb_77.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_78.png b/app/src/main/res/drawable/ic_signal_mb_78.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_78.png rename to app/src/main/res/drawable/ic_signal_mb_78.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_79.png b/app/src/main/res/drawable/ic_signal_mb_79.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_79.png rename to app/src/main/res/drawable/ic_signal_mb_79.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_7_0.png b/app/src/main/res/drawable/ic_signal_mb_7_0.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_7_0.png rename to app/src/main/res/drawable/ic_signal_mb_7_0.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_7_1.png b/app/src/main/res/drawable/ic_signal_mb_7_1.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_7_1.png rename to app/src/main/res/drawable/ic_signal_mb_7_1.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_7_2.png b/app/src/main/res/drawable/ic_signal_mb_7_2.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_7_2.png rename to app/src/main/res/drawable/ic_signal_mb_7_2.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_7_3.png b/app/src/main/res/drawable/ic_signal_mb_7_3.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_7_3.png rename to app/src/main/res/drawable/ic_signal_mb_7_3.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_7_4.png b/app/src/main/res/drawable/ic_signal_mb_7_4.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_7_4.png rename to app/src/main/res/drawable/ic_signal_mb_7_4.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_7_5.png b/app/src/main/res/drawable/ic_signal_mb_7_5.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_7_5.png rename to app/src/main/res/drawable/ic_signal_mb_7_5.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_7_6.png b/app/src/main/res/drawable/ic_signal_mb_7_6.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_7_6.png rename to app/src/main/res/drawable/ic_signal_mb_7_6.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_7_7.png b/app/src/main/res/drawable/ic_signal_mb_7_7.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_7_7.png rename to app/src/main/res/drawable/ic_signal_mb_7_7.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_7_8.png b/app/src/main/res/drawable/ic_signal_mb_7_8.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_7_8.png rename to app/src/main/res/drawable/ic_signal_mb_7_8.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_7_9.png b/app/src/main/res/drawable/ic_signal_mb_7_9.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_7_9.png rename to app/src/main/res/drawable/ic_signal_mb_7_9.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_80.png b/app/src/main/res/drawable/ic_signal_mb_80.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_80.png rename to app/src/main/res/drawable/ic_signal_mb_80.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_81.png b/app/src/main/res/drawable/ic_signal_mb_81.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_81.png rename to app/src/main/res/drawable/ic_signal_mb_81.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_82.png b/app/src/main/res/drawable/ic_signal_mb_82.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_82.png rename to app/src/main/res/drawable/ic_signal_mb_82.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_83.png b/app/src/main/res/drawable/ic_signal_mb_83.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_83.png rename to app/src/main/res/drawable/ic_signal_mb_83.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_84.png b/app/src/main/res/drawable/ic_signal_mb_84.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_84.png rename to app/src/main/res/drawable/ic_signal_mb_84.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_85.png b/app/src/main/res/drawable/ic_signal_mb_85.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_85.png rename to app/src/main/res/drawable/ic_signal_mb_85.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_86.png b/app/src/main/res/drawable/ic_signal_mb_86.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_86.png rename to app/src/main/res/drawable/ic_signal_mb_86.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_87.png b/app/src/main/res/drawable/ic_signal_mb_87.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_87.png rename to app/src/main/res/drawable/ic_signal_mb_87.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_88.png b/app/src/main/res/drawable/ic_signal_mb_88.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_88.png rename to app/src/main/res/drawable/ic_signal_mb_88.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_89.png b/app/src/main/res/drawable/ic_signal_mb_89.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_89.png rename to app/src/main/res/drawable/ic_signal_mb_89.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_8_0.png b/app/src/main/res/drawable/ic_signal_mb_8_0.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_8_0.png rename to app/src/main/res/drawable/ic_signal_mb_8_0.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_8_1.png b/app/src/main/res/drawable/ic_signal_mb_8_1.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_8_1.png rename to app/src/main/res/drawable/ic_signal_mb_8_1.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_8_2.png b/app/src/main/res/drawable/ic_signal_mb_8_2.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_8_2.png rename to app/src/main/res/drawable/ic_signal_mb_8_2.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_8_3.png b/app/src/main/res/drawable/ic_signal_mb_8_3.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_8_3.png rename to app/src/main/res/drawable/ic_signal_mb_8_3.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_8_4.png b/app/src/main/res/drawable/ic_signal_mb_8_4.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_8_4.png rename to app/src/main/res/drawable/ic_signal_mb_8_4.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_8_5.png b/app/src/main/res/drawable/ic_signal_mb_8_5.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_8_5.png rename to app/src/main/res/drawable/ic_signal_mb_8_5.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_8_6.png b/app/src/main/res/drawable/ic_signal_mb_8_6.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_8_6.png rename to app/src/main/res/drawable/ic_signal_mb_8_6.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_8_7.png b/app/src/main/res/drawable/ic_signal_mb_8_7.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_8_7.png rename to app/src/main/res/drawable/ic_signal_mb_8_7.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_8_8.png b/app/src/main/res/drawable/ic_signal_mb_8_8.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_8_8.png rename to app/src/main/res/drawable/ic_signal_mb_8_8.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_8_9.png b/app/src/main/res/drawable/ic_signal_mb_8_9.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_8_9.png rename to app/src/main/res/drawable/ic_signal_mb_8_9.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_90.png b/app/src/main/res/drawable/ic_signal_mb_90.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_90.png rename to app/src/main/res/drawable/ic_signal_mb_90.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_91.png b/app/src/main/res/drawable/ic_signal_mb_91.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_91.png rename to app/src/main/res/drawable/ic_signal_mb_91.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_92.png b/app/src/main/res/drawable/ic_signal_mb_92.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_92.png rename to app/src/main/res/drawable/ic_signal_mb_92.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_93.png b/app/src/main/res/drawable/ic_signal_mb_93.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_93.png rename to app/src/main/res/drawable/ic_signal_mb_93.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_94.png b/app/src/main/res/drawable/ic_signal_mb_94.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_94.png rename to app/src/main/res/drawable/ic_signal_mb_94.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_95.png b/app/src/main/res/drawable/ic_signal_mb_95.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_95.png rename to app/src/main/res/drawable/ic_signal_mb_95.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_96.png b/app/src/main/res/drawable/ic_signal_mb_96.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_96.png rename to app/src/main/res/drawable/ic_signal_mb_96.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_97.png b/app/src/main/res/drawable/ic_signal_mb_97.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_97.png rename to app/src/main/res/drawable/ic_signal_mb_97.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_98.png b/app/src/main/res/drawable/ic_signal_mb_98.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_98.png rename to app/src/main/res/drawable/ic_signal_mb_98.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_99.png b/app/src/main/res/drawable/ic_signal_mb_99.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_99.png rename to app/src/main/res/drawable/ic_signal_mb_99.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_9_0.png b/app/src/main/res/drawable/ic_signal_mb_9_0.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_9_0.png rename to app/src/main/res/drawable/ic_signal_mb_9_0.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_9_1.png b/app/src/main/res/drawable/ic_signal_mb_9_1.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_9_1.png rename to app/src/main/res/drawable/ic_signal_mb_9_1.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_9_2.png b/app/src/main/res/drawable/ic_signal_mb_9_2.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_9_2.png rename to app/src/main/res/drawable/ic_signal_mb_9_2.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_9_3.png b/app/src/main/res/drawable/ic_signal_mb_9_3.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_9_3.png rename to app/src/main/res/drawable/ic_signal_mb_9_3.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_9_4.png b/app/src/main/res/drawable/ic_signal_mb_9_4.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_9_4.png rename to app/src/main/res/drawable/ic_signal_mb_9_4.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_9_5.png b/app/src/main/res/drawable/ic_signal_mb_9_5.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_9_5.png rename to app/src/main/res/drawable/ic_signal_mb_9_5.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_9_6.png b/app/src/main/res/drawable/ic_signal_mb_9_6.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_9_6.png rename to app/src/main/res/drawable/ic_signal_mb_9_6.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_9_7.png b/app/src/main/res/drawable/ic_signal_mb_9_7.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_9_7.png rename to app/src/main/res/drawable/ic_signal_mb_9_7.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_9_8.png b/app/src/main/res/drawable/ic_signal_mb_9_8.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_9_8.png rename to app/src/main/res/drawable/ic_signal_mb_9_8.png diff --git a/app/src/main/res/drawable-v24/ic_signal_mb_9_9.png b/app/src/main/res/drawable/ic_signal_mb_9_9.png similarity index 100% rename from app/src/main/res/drawable-v24/ic_signal_mb_9_9.png rename to app/src/main/res/drawable/ic_signal_mb_9_9.png diff --git a/app/src/main/res/drawable-v24/itsdrnoob.png b/app/src/main/res/drawable/itsdrnoob.png similarity index 100% rename from app/src/main/res/drawable-v24/itsdrnoob.png rename to app/src/main/res/drawable/itsdrnoob.png diff --git a/app/src/main/res/drawable-v24/johnsonran.png b/app/src/main/res/drawable/johnsonran.png similarity index 100% rename from app/src/main/res/drawable-v24/johnsonran.png rename to app/src/main/res/drawable/johnsonran.png diff --git a/app/src/main/res/drawable/timtcg.png b/app/src/main/res/drawable/timtcg.png new file mode 100644 index 00000000..b365ec86 Binary files /dev/null and b/app/src/main/res/drawable/timtcg.png differ diff --git a/app/src/main/res/drawable-v24/ygorigor.png b/app/src/main/res/drawable/ygorigor.png similarity index 100% rename from app/src/main/res/drawable-v24/ygorigor.png rename to app/src/main/res/drawable/ygorigor.png diff --git a/app/src/main/res/drawable/zahiruddinrushdi.png b/app/src/main/res/drawable/zahiruddinrushdi.png new file mode 100644 index 00000000..85e1a042 Binary files /dev/null and b/app/src/main/res/drawable/zahiruddinrushdi.png differ diff --git a/app/src/main/res/layout/activity_app_picker.xml b/app/src/main/res/layout/activity_app_picker.xml index e101247d..2b7ea968 100644 --- a/app/src/main/res/layout/activity_app_picker.xml +++ b/app/src/main/res/layout/activity_app_picker.xml @@ -1,104 +1,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + app:layout_constraintTop_toBottomOf="@+id/drag_handle" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/data_usage_type.xml b/app/src/main/res/layout/data_usage_type.xml deleted file mode 100644 index d680722c..00000000 --- a/app/src/main/res/layout/data_usage_type.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_custom_session.xml b/app/src/main/res/layout/fragment_custom_session.xml new file mode 100644 index 00000000..edcf62f0 --- /dev/null +++ b/app/src/main/res/layout/fragment_custom_session.xml @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 95465d80..8115e36f 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -236,8 +236,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="@dimen/margin_mid_large" - android:layout_marginEnd="@dimen/margin_mid_large" android:layout_marginTop="@dimen/margin_small" + android:layout_marginEnd="@dimen/margin_mid_large" android:background="@drawable/banner_background" android:backgroundTint="@color/banner_tint" android:clickable="true" @@ -298,9 +298,9 @@ android:id="@+id/plan_details_view" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="vertical" android:layout_marginStart="@dimen/margin_mid_large" android:layout_marginEnd="@dimen/margin_mid_large" + android:orientation="vertical" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" @@ -313,76 +313,39 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@dimen/margin_large" - android:text="@string/label_plan_details_title" + android:text="@string/label_plan_details_title_unknown" android:textAppearance="@style/TextAppearance.AppCompat.Title" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintStart_toStartOf="parent"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/plan_usage_details" /> - - - - - - - - - - - - - - - - - - + android:text="@string/label_plan_validity" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/daily_quota" /> @@ -499,19 +462,8 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_language.xml b/app/src/main/res/layout/fragment_language.xml index 207749c1..22d6e417 100644 --- a/app/src/main/res/layout/fragment_language.xml +++ b/app/src/main/res/layout/fragment_language.xml @@ -11,26 +11,6 @@ android:layout_height="wrap_content" android:orientation="vertical"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + app:layout_constraintTop_toBottomOf="@id/drag_handle" /> - + app:layout_constraintTop_toBottomOf="@id/drag_handle" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + app:layout_constraintTop_toBottomOf="@id/drag_handle" /> + + + + + + + + + + + + - + app:layout_constraintTop_toBottomOf="@id/drag_handle" /> diff --git a/app/src/main/res/layout/layout_combined_notification_icon.xml b/app/src/main/res/layout/layout_combined_notification_icon.xml index fd7e4403..12134a00 100644 --- a/app/src/main/res/layout/layout_combined_notification_icon.xml +++ b/app/src/main/res/layout/layout_combined_notification_icon.xml @@ -19,21 +19,16 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> - + app:layout_constraintTop_toBottomOf="@id/drag_handle" /> - + app:layout_constraintTop_toBottomOf="@id/drag_handle" /> - + app:layout_constraintTop_toBottomOf="@id/drag_handle" /> - + app:layout_constraintTop_toBottomOf="@id/drag_handle" /> - + app:layout_constraintTop_toBottomOf="@id/drag_handle" /> diff --git a/app/src/main/res/layout/layout_refresh_interval.xml b/app/src/main/res/layout/layout_refresh_interval.xml index df058421..1f971422 100644 --- a/app/src/main/res/layout/layout_refresh_interval.xml +++ b/app/src/main/res/layout/layout_refresh_interval.xml @@ -19,21 +19,16 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> - + app:layout_constraintTop_toBottomOf="@id/drag_handle" /> - + app:layout_constraintTop_toBottomOf="@id/drag_handle" /> + app:layout_constraintTop_toBottomOf="@+id/title" /> - + app:layout_constraintTop_toBottomOf="@id/drag_handle" /> - + app:layout_constraintTop_toBottomOf="@id/drag_handle" /> > + app:layout_constraintTop_toTopOf="parent" /> diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 2041785b..e2a0b842 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -1,8 +1,8 @@ - رصد البيانات - مثل - إضافة القطعة + مراقب البيانات + مثال + إضافة أداة "بيانات الجوال: %1$s" واي فاي: %1$s %1$s @@ -13,39 +13,39 @@ \nأرسلت %1$s \nتلقيت - "مستوى التشغيل الحالي:%1$s%% (%2$s)" - "مستوى التشغيل الحالي:%1$s%%" + مستوى التشغيل الحالي: %1$s%% (%2$s) + مستوى التشغيل الحالي: %1$s%% "عند استهلاك %1$s%% من البيانات" "اسم الحزمة: %1$s" "المعرف الفريد: %1$d" "اسم التطبيق" - "00 ميجا بايت" + 0 ميجا بايت "أرسلت" "تلقيت" "فتح إعدادات التطبيق" "إلغاء" "موافق" - "حدد الفترة" + حدد الجلسة "اليوم" "في الامس" "هذا الشهر" "الشهر الماضي" "هذه السنة" - "كل الوقت" + كل الأوقات "اختر صنف" "بيانات الجوال" "واي فاي" - "استخدام البيانات" + استهلاك البيانات "تحديث" "يتبقى 0.00 جيجا بايت" صنع بـ ❤ بواسطة Bitroid - "جار تحميل التطبيقات" - "لا توجد بيانات متاحة للفترة المختارة" - "تريد المساهمة في مراقب البيانات انقر هنا لتعرف كيف." - "يمكن أن توفر التطبيقات المصغرة و / أو الإشعارات وصولاً سهلاً إلى كمية البيانات التي استخدمتها" - "إعادة تعيين البيانات" - "يوميا" - "شهريا" + جارِ تحميل التطبيقات + لا تتوافر بيانات + انقر هنا لتعرف كيف تساهم في مراقب البيانات. + يمكن أن توفر الأدوات و / أو الإشعارات وصولاً سهلاً إلى كمية البيانات التي استخدمتها + إعادة تعيين العداد + يوميًا + شهريًا "حد البيانات" "ميغا بايت" "غيغا بايت" @@ -57,30 +57,30 @@ "5 دقائق" "10 دقائق" "15 دقيقة" - "اعداد التطبيق المصغر" - "1. على إحدى الشاشات الرئيسية ، المس مع الاستمرار في مساحة فارغة." - "2. اضغط على التطبيقات المصغرة." + اعداد الأداة + 1. على إحدى شاشتك الرئيسية، المس مع الاستمرار في مساحة فارغة. + 2. اضغط على \"الأدوات\". 3. اسحب وأسقط أداة مراقبة البيانات على شاشتك الرئيسية. "استخدام البيانات اليوم" - "أضف خطة البيانات الخاصة بك لبدء المراقبة" - "نظرة عامة على الأسابيع" + أضِف خطة البيانات الخاصة بك لبدء المراقبة + نظرة عامة على هذا الأسبوع تعذر تحميل نظرة عامة لهذا الأسبوع. \nحاول مرة أخرى لاحقا. "إعداد مراقب البيانات" - "اعداد التطبيق المصغر" - "إعداد الإخطارات" - "تهيئة" - "تطبيق مصغر" - الفاصل الزمني لتحديث التطبيق المصغر + اعداد الأداة + إعداد الإشعارات + تضبيط + الأداة + الفاصل الزمني لتحديث الأداة "1 دقيقة" "إظهار معلومات البيانات المتبقية" - تحديث التطبيق المصغر - "قم بتحديث التطبيق المصغر إذا كانت تواجه مشكلة" - "إخطار" - "الفاصل الزمني لتحديث الإخطار" + تحديث الأداة + قم بتحديث الأداة إذا كانت تواجه مشكلة + إشعار + الفاصل الزمني لتحديث الإشعارات "إظهار استخدام بيانات الجوال" "عرض استخدام واي فاي" - "مراقبة استخدام البيانات" + راقب استهلاك البيانات "إخطار استخدام البيانات" "يتم إخطارك عندما يتم الوصول إلى حد البيانات" "عام" @@ -94,12 +94,12 @@ المطور الرئيسي والمصمم "المظهر" "الوضع الداكن" - "قم بتمكين الوضع الداكن" + قم بتشغيل / إيقاف الوضع الداكن "التفضيلات" "اللغة" "قم بتغيير لغة التطبيق" "حول" - المصدر ، تعليمات والمزيد + المصدر، المساعدة والمزيد "الرخصة" "أولئك الذين هم دائما هناك" "تبرع" @@ -110,8 +110,8 @@ "عرض برمجية المصدر" "ثريد XDA" الأسئلة المتداولة والمساعدة واستكشاف الأخطاء وإصلاحها - "التبليغ عن ثغرة" - "الإبلاغ عن الأخطاء أو طلب ميزة جديدة" + التبليغ عن علة + الإبلاغ عن علل أو طلب ميزة جديدة "إعداد" استخدام التطبيق "الإعدادات" @@ -134,29 +134,29 @@ خطأ غير معروف. \nيرجى المحاولة مرة أخرى أو طريقة أخرى. "المزيد من اللغات قريبا .. تريد المساعدة؟ انقر لمعرفة كيف." - "تم تعطيل إخطار مراقب البيانات" - "سيتم تحديث التطبيق المصغر كل %1$s" - "سيتم تحديث الإخطار كل %1$s" - "تم تمكين معلومات البيانات المتبقية" + إشعار مراقب البيانات مُعطل + سيتم تحديث الأداة كل %1$s + سيتم تحديث الإشعار كل %1$s + معلومات البيانات المتبقية المٌفعلة "تم تعطيل معلومات البيانات المتبقية" "أضف خطة بيانات لبدء المراقبة" - تم تحديث التطبيق المصغر - "تمكين إخطار مراقب البيانات" + تم تحديث الأداة + إشعار مراقب البيانات مُفعل "لا يمكن تعطيل كلا العنصرين" - "يرجى إعداد الإخطار أولا" + يرجى إعداد الإشعار أولاً "تم حفظ خطة البيانات" "شهر" "يوم" "الرجاء إضافة خطة البيانات أولا" - "تحذير استخدام البيانات" - "لقد استخدمت ما يصل %1$d%% من حد البيانات الخاص بك" - "%1$s استنفد حصته من البيانات" - استخدام البيانات اليوم: %1$s + تحذير إستهلاك البيانات + لقد استخدمت ما يصل %1$d%% من حد بياناتك + %1$s استنفذ حصته من البيانات + استهلاك البيانات اليوم: %1$s جار التحميل… "%1$s متبقية" "تم استخدام %1$s إضافيًا" "تعطيل تحسين البطارية" - يمنع قتل Data Monitor عند التشغيل في الخلفية. + يمنع قتل مراقب البيانات عند التشغيل في الخلفية. \nوإلا فقد تكون القيم غير صحيحة. "نصائح التحسين الإضافية" "إعدادات بطارية OEM" @@ -201,16 +201,16 @@ \nيرجى التأكد من اتصالك بالإنترنت. "وقت الشاشة: %1$s" "استخدام الخلفية: %1$s" - جار التحميل… + جارِ التحميل… "شراء قهوة لنا ، ما رأيك؟" "ستتم إعادة تعيين استخدام البيانات كل %1$s عند %2$s" - "ستتم إعادة تعيين استخدام البيانات في %1$d%2$s من كل شهر" + "ستتم إعادة تعيين استخدام البيانات في %1$s من كل شهر" "المترجم الروماني" "مترجم صيني مبسط" "لا يمكنك العثور على لغتك؟ ساعدنا بترجمة المحتوى إلى لغتك المحلية. انقر لمعرفة كيف." "اللغة الحالية" "اللغات المتوفرة" - "%1$s%2$s من كل شهر" + "%1$s من كل شهر" "تاريخ إعادة تعيين استخدام البيانات" "استخدام بيانات النظام" "مترجم صيني تقليدي" @@ -220,8 +220,8 @@ "تحميل : %1$s" "تنزيل : %1$s" "سرعة الشبكة الحية" - "تم تمكين سرعة الشبكة الحية" - "تم تعطيل سرعة الشبكة الحية" + سرعة الشبكة الحية مٌفعل + سرعة الشبكة الحية مُعطل "ميزة تجريبية" "قراءة إذن إحصائات الهاتف" "الأجهزة التي تعمل بنظام Android الإصدار 9 والإصدارات الأقدم مطلوبة لمنح إذن \"قراءة احصائات الهاتف\" يدويًا. لن يتم جمع أو تخزين أي بيانات شخصية." @@ -262,7 +262,7 @@ إجمالي الاستخدام: %1$s غير معروف إخفاء سرعة الشبكة تلقائيا - أوقف إخطار سرعة الشبكة عندما لا تكون الشبكة متصلة + أوقف إشعار سرعة الشبكة عندما لا تكون الشبكة متصلة مُخصّص تاريخ البدء: %1$s خطة البيانات المخصصة نشطة @@ -274,7 +274,7 @@ سجلات الأعطال; لا تقم بالتعديل محتويات معلومات الجهاز البريد - تم تمكين تحسين البطارية. سيتداخل هذا مع عمل مراقب البيانات. + تحسين البطارية مٌفعل. سيتداخل هذا مع عمل مراقب البيانات. تحسينات البطارية لم يتم العثور على سجلات الأعطال. هل أنت متأكد من حدوث مشكلة؟ الخادم @@ -289,12 +289,12 @@ قد تستخدم تشخيصات الشبكة حوالي 20-30 ميغا بايت من البيانات. تأكد من توفر هذا في خطتك ، وإلا فقد يتم تطبيق رسوم الشبكة. إرسال التقرير عبر تم رفض الإذن! - لن تعمل الميزات بما في ذلك إشعار مراقبة البيانات وسرعة الشبكة الحية وتنبيه استخدام البيانات بشكل صحيح دون إذن الإخطار. يرجى منحها يدويًا. + لن تعمل الميزات بما في ذلك إشعار مراقبة البيانات وسرعة الشبكة الحية وتنبيه استخدام البيانات بشكل صحيح دون إذن الإشعار. يرجى منحها يدويًا. تعطيل اللمس تعطيل ردود الفعل اللمسية عبر التطبيق تجاهل إرسال تقرير الأعطال في دردشة دعم Telegram - يبدو أن مراقب البيانات قد تحطم. يمكنك إرسال تقرير الأعطال إلى المطور للمساعدة في تحليل المشكلة وحلها بشكل أسرع. إذا لم يحدث أي عطل ، يرجى تجاهله. + يبدو أن مراقب البيانات قد تحطم. يمكنك إرسال تقرير الأعطال إلى المطور للمساعدة في تحليل المشكلة وحلها بشكل أسرع. إذا لم يحدث أي عطل، يُرجى تجاهله. صلاحية الخطة تتضمن معلومات الجهاز ما يلي: \nالشركة المصنعة للجهاز @@ -319,15 +319,15 @@ تحقق من التطبيق على مستودع F-Droid الرسمي حدد تاريخ البدء حدد تاريخ الانتهاء - الإخطار الموحد - تم تمكين الإخطار المجمع. لا يمكن تعطيل الإشعار الفردي. + الإشعارات المُجمعة + الإشعار المجمع مٌفعل. لا يمكن تعطيل الإشعار الفردي. كل ثانية 15 ثانية 30 ثانية - تمكين الإشعار على شاشة القفل + تفعيل الإشعار على شاشة القفل اجمع بين مراقبة البيانات وسرعة الشبكة في إشعار واحد. - اختر الأيقونة التي سيتم عرضها للإخطار المدمج - دمج الإشعارات + اختر الأيقونة التي سيتم عرضها الإشعار المُجمعة + اجمع الإشعارات استبعاد التطبيقات استبعاد حركة مرور التطبيق من استخدام البيانات إضافة تطبيق @@ -392,13 +392,12 @@ فشل بدء تشغيل \"مراقبة الشبكة\". افتح التطبيق للتحديث. تصفية استخدام التطبيق الخطة الحالية - خطة %1$s نشطة المرشحات %1$s مستخدمة | %2$s - صالح حتى %1$s + صالح حتى %1$s|%2$s إظهار المجموع دائما - إجمالي استخدام البيانات: %1$s - اعرض دائما إجمالي البيانات المستخدمة في الإخطار بغض النظر عن الخيارات المحددة. + إجمالي استهلاك البيانات: %1$s + اعرض دائما إجمالي البيانات المستهلكة في الإشعار بغض النظر عن الخيارات المحددة. تم رفض إذن التنبيه! لا يمكنك استخدام هذه الميزة دون منح إذن SCHEDULE_EXACT_ALARM. يتطلب مراقب البيانات إذنا SCHEDULE_EXACT_ALARM للعمل بشكل صحيح. لا يزال بإمكانك استخدام التطبيق، ولكن قد لا تعمل بعض الميزات بشكل صحيح. @@ -415,4 +414,64 @@ خطتك الجديدة صالحة حتى %1$s تم تحديث خطة البيانات! التحديث التلقائي لخطة البيانات + حائط الشكر + رينتان + فشل في جلب البيانات + شكرًا لك + مراقب البيانات قطع شوطا طويلا منذ بدايته ولم نكن لنفعلها بدون دعم من مانحيننا السخاء. + كبار المتبرعين + المساهمون في التطبيق + تعلم المزيد + التخصيص الذكي للبيانات + لقد استنفدت حصتك اليومية من البيانات. + الحصة اليومية: %1$s + رضا + جميع المتبرعين + قائمة بالمساهمين الذين يدعمون تطوير التطبيق. + قم بتخصيص بياناتك بذكاء باستخدام الحصص اليومية وعمليات نقل البيانات. + مكان لإظهار تقديرنا لداعمي التطبيق. + احصل على تنبيه عند استنفاذ حصتك اليومية. + تم الوصول لحصة البيانات اليومية! + تنبيه الحصة اليومية + الإندونيسية + البولندية + إريك ميشالاك + اليابانية + %1$s يوم/ايام متبقية + Eco-Gaming + الأوكرانيّة + المالايالامية + العربيّة + Detrimental God + Cong Phuc Nguyen + المطور + zahiruddin rushdi + الملايوية + الصينية المبسطة + الفيتناميّة + chin housin + جوني سيمون + الفرنسيّة + Jean Mareilles + دان + اعادة تعيين + اختر التاريخ + إضافة وقت + أختر وقت النهاية + التاريخ + اضافة جلسة مخصصة + اختيار وقت البدء + تطبيق عامل التصفية + مدة الجلسة غير صالحة. + الوقت + تتبع كل استخدامك للبيانات في مكان واحد + لنبدأ + مرحبا بكم في مراقب البيانات + تخطي الإعداد + ofermar + Flix + الألمانيّة + العبريّة + xXx + الروسيّة \ No newline at end of file diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 0748af3a..6c2b26f7 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -143,7 +143,7 @@ Měsíčně Adresa peněženky Litecoin zkopírována do schránky Adresa peněženky Ethereum zkopírována do schránky - Využití dat se resetuje %1$d%2$s každý měsíc + Využití dat se resetuje %1$s každý měsíc Widget aktualizován Oznámení aplikace povolena Nelze vypnout oba prvky @@ -230,7 +230,7 @@ Zobrazit aplikaci na F-Droid Zobrazit aplikaci v oficiálním repozitáři F-Droid Čeština - %1$s%2$s v každém měsíci + %1$s v každém měsíci Podpora na Telegramu Podle systému Je dostupná nová verze! @@ -378,9 +378,8 @@ \nPokud byste rádi podpořili vývoj aplikace, velmi oceníme finanční příspěvek. JungHee Lee Kupte mi kávu :) - Platí do %1$s + Platí do %1$s | %2$s V oznámení se vždy zobrazí celková použitá data bez ohledu na vybrané možnosti. - Aktivní %1$s plán %1$s využito | %2$s Uzbečtina Atharv Shinde @@ -411,4 +410,64 @@ Automaticky aktualizovat váš datový tarif na podobný. Automaticky aktualizovat datový plán Nezobrazovat znovu + Zeď díků + Přispěvatelé aplikace + Děkujeme + Zjistit více + Místo, kde můžeme vyjádřit uznání podporovatelům aplikace. + Seznam přispěvatelů, kteří podporují vývoj aplikace. + Od svého vzniku urazil Data Monitor dlouhou cestu a bez podpory našich štědrých dárců bychom to nedokázali. + Největší dárci + Všichni dárci + Nepodařilo se načíst data + Reza + Indonéština + Polština + Eryk Michalak + Rintan + Japonština + Denní datová kvóta vyčerpána! + Vyčerpali jste denní kvótu dat. + Chytře rozdělovat data pomocí denních kvót a převádění dat. + Chytré přidělování dat + Upozornění na denní kvótu + Denní kvóta: %1$s + Získat upozornění po vyčerpání denní kvóty. + Zbývá %1$s dní + Eco-Gaming + Ukrajinština + Malajálamština + Arabština + Detrimental God + Cong Phuc Nguyen + Vývojář + zahiruddin rushdi + Malajština + Zjednodušená čínština + Vietnamština + chin housin + jonnysemon + Francouzština + Jean Mareilles + Dan + Resetovat + Vybrat datum + Přidat čas + Zvolte čas ukončení + Datum + Přidat vlastní relaci + Zvolte počáteční čas + Použít filtr + Neplatná doba trvání relace. + Čas + Sledujte veškeré využití svých dat - na jednom místě + Začínáme + Vítejte v aplikaci Data Monitor + Přeskočit nastavení + ofermar + Flix + Němčina + Hebrejština + xXx + Ruština \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 6bc27959..87a9e815 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -88,6 +88,7 @@ %1$s hat sein Datenkontingent ausgeschöpft %1$s verbleibend %1$s zusätzlich verwendet + %1$s Tag(e) verbleibend Di Ausführen der Diagnose Verbinden @@ -171,7 +172,7 @@ Restliche Dateninfo aktiviert Sie haben %1$d%% Ihres Datenlimits ausgeschöpft Zusätzliche Optimierungstipps - Die Datennutzung wird am %1$d%2$s eines jeden Monats zurückgesetzt + Die Datennutzung wird am %1$s eines jeden Monats zurückgesetzt Tag Übersetzer Live-Netzwerkgeschwindigkeit aktiviert @@ -224,7 +225,7 @@ Region Bildschirmzeit: %1$s Rumänisch - %1$s%2$s eines jeden Monats + %1$s eines jeden Monats Daten-Nutzung von System Französisch Netzwerkgeschwindigkeit: %1$s @@ -375,7 +376,7 @@ Polnisch Network Monitor konnte nicht gestartet werden. Öffnen Sie die App zur Aktualisierung. Filtern - Gültig bis %1$s + Gültig bis %1$s | %2$s Immer Gesamtbetrag anzeigen Unabhängig von den gewählten Optionen wird in der Meldung immer die Gesamtzahl der verwendeten Daten angezeigt. Gesamtdatenverbrauch: %1$s @@ -407,9 +408,65 @@ BHIM-UPI %1$s verwendet | %2$s Sie können diese Funktion nur nutzen, wenn Sie das Recht SCHEDULE_EXACT_ALARM haben. - %1$s Plan aktiv Alarmerlaubnis verweigert! Sie haben versucht, eine Aktion auszuführen, für die die Berechtigung SCHEDULE_EXACT_ALARM erforderlich ist, die der App nicht erteilt wurde. Klicken Sie hier, um die Berechtigung zu erteilen. Data Monitor benötigt die Berechtigung SCHEDULE_EXACT_ALARM, um richtig zu funktionieren. Sie können die App trotzdem verwenden, aber einige Funktionen funktionieren möglicherweise nicht richtig. Nicht mehr zeigen + Dankeswand + App-Mitwirkende + Danke schön + Mehr erfahren + Größte Spender + Alle Spender + Täglicher Kontingentalarm + Data Monitor hat seit seiner Gründung einen langen Weg zurückgelegt, und ohne die Unterstützung unserer großzügigen Spender hätten wir das nicht geschafft. + Ein Ort, um den Unterstützern der App unsere Wertschätzung zu zeigen. + Eine Liste der Mitwirkenden, die die Entwicklung der App unterstützen. + Intelligente Datenzuordnung + Erhalten Sie einen Alarm, wenn Ihr tägliches Kontingent erschöpft ist. + Tägliches Datenkontingent erreicht! + Japanisch + Sie haben Ihr tägliches Datenkontingent ausgeschöpft. + Indonesisch + Tägliches Kontingent: %1$s + Polnisch + Datenabruf ist fehlgeschlagen + Öko-Gaming + Ukrainisch + Malayalam + Rintan + Arabisch + Cong Phuc Nguyen + Entwickler/innen + zahiruddin rushdi + Malay + Reza + Vereinfachtes Chinesisch + Vietnamesich + chin housin + Eryk Michalak + jonnysemon + Französisch + Jean Mareilles + Dan + Ordnen Sie Ihre Daten intelligent zu, indem Sie tägliche Kontingente und Daten-Rollovers nutzen. + Zurücksetzen + Loslegen + Datum + Uhrzeit + Deutsch + Datum auswählen + Hebräisch + Willkommen bei Data Monitor + Zeit hinzufügen + Endzeit auswählen + Einrichtung überspringen + Startzeit auswählen + Filter anwenden + Ungültige Sitzungsdauer. + Russisch + Unbekannter Plan aktiv + Monatlicher Plan aktiv + Täglicher Plan aktiv + Benutzerdefinierter Plan aktiv \ No newline at end of file diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 0e915a2d..0015122e 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -121,7 +121,7 @@ \nNo se recogen datos personales. Error desconocido. \nInténtalo de nuevo o de otro método. - El uso de datos se restablecerá el %1$d%2$s de cada mes + El uso de datos se restablecerá el %1$s de cada mes Información de datos restantes habilitada Uso de datos hoy: %1$s %1$s restante @@ -244,7 +244,7 @@ Desliza el dedo hacia la derecha para eliminar un elemento Actual Disponible - %1$s%2$s de cada mes + %1$s de cada mes Fecha de restablecimiento del uso de datos Uso de datos del sistema Chino tradicional @@ -397,10 +397,9 @@ tadekdudek Filtrar el uso de la aplicación Filtro - Válido hasta el %1$s + Válido hasta el %1$s | %2$s Uso total de datos: %1$s ¡Permiso de alarma denegado! - %1$s plan activo %1$s utilizado | %2$s Mostrar siempre el total de datos utilizados en la notificación, independientemente de las opciones seleccionadas. Plan actual @@ -422,4 +421,64 @@ Vietnamita EdwardWu Actualización automática del plan de datos + Gracias + Principales donantes + Todos los donantes + No se han podido recuperar los datos + Lista de colaboradores que apoyan el desarrollo de la aplicación. + Asignación inteligente de los datos + Asigna tus datos de forma inteligente mediante cuotas diarias y prórrogas de datos. + Alerta de la cuota diaria + Recibe una alerta cuando se agote tu cuota diaria. + Has agotado tu cuota diaria de datos. + Cuota diaria: %1$s + Indonesia + Polaco + Eryk Michalak + Rintan + Japonés + Data Monitor ha recorrido un largo camino desde su creación, y no podríamos haberlo hecho sin el apoyo de nuestros generosos donantes. + Un lugar para mostrar nuestro agradecimiento a quienes apoyan la aplicación. + Colaboradores de la aplicación + Más información + Muro de los agradecimientos + ¡Cuota diaria de datos alcanzada! + Reza + %1$s día(s) restante(s) + Eco + Ucraniano + Malayo + Árabe + Detrimental God + Cong Phuc Nguyen + Desarrollador + zahiruddin rushdi + Malayo + Chino simplificado + Vietnamita + chin housin + jonnysemon + Francés + Jean Mareilles + Dan + Restablecer + Seleccionar una fecha + Añadir una hora + Seleccionar la hora de finalizacion + Fecha + Añade una sesión personalizada + Seleccionar la hora de inicio + Aplicar un filtro + Duración de sesión no válida. + Horario + Controla todo el uso de tus datos en un solo sitio + Empezar + Bienvenido a Data Monitor + Omitir la configuración + Alemán + Hebreo + xXx + Ruso + ofermar + Flix \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index e4494176..b3439d0c 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -45,7 +45,7 @@ "Les widgets et/ou les notifications peuvent fournir un accès facile à la quantité de données que vous utilisez" "Remise à zéro des données" "Quotidiennement" - "Hebdomadairement" + Mensuel "Limite de données" "Mo" "Go" @@ -115,9 +115,9 @@ "Configuration" Utilisation de l\'application "Réglages" - "L'adresse du portefeuille Bitcoin a été copiée dans le presse-papier" - "L'adresse du portefeuille Ethereum a été copiée dans le presse-papier" - "L'adresse du portefeuille Litecoin a été copiée dans le presse-papier" + L\'adresse du portefeuille Bitcoin a été copiée dans le presse-papier + L\'adresse du portefeuille Ethereum a été copiée dans le presse-papier + L\'adresse du portefeuille Litecoin a été copiée dans le presse-papier "Applications système" "Accueil" "Permission d'accès à l'usage du téléphone" @@ -204,13 +204,13 @@ Chargement… "Payez nous un café, peut-être ?" "L'utilisation des données sera remise à zéro chaque %1$s à %2$s" - "L'utilisation des données sera remise à zéro le %1$d%2$s de chaque mois" + L\'utilisation des données sera remise à zéro le %1$s de chaque mois "Traducteur roumain" "Traducteur de chinois simplifié" "Vous ne trouvez pas votre langue ? Aidez-nous en traduisant les contenus vers votre langue. Cliquez pour savoir comment." "Langue actuelle" "Langues disponibles" - "%1$s%2$s de chaque mois" + "%1$s de chaque mois" "Remise à zéro de l'utilisation des données" "Utilisation des données par le système" "Traducteur en chinois traditionnel" @@ -237,7 +237,7 @@ "Regardez ce qui est nouveau" Vous avez la dernière version. "Mise-à-jour disponible !" - "Téléchargement de la mise-à-jour" + Téléchargez la mise-à-jour Vérification des mises à jour… "Une nouvelle mise-à-jour est disponible !" "Impossible de vérifier les mises-à-jour" @@ -303,7 +303,7 @@ Il semble que Data Monitor se soit écrasé. Vous pouvez envoyer le rapport d’incident au développeur pour l’aider à analyser le problème et à le résoudre plus rapidement. Si aucun crash ne s’est produit, veuillez l’ignorer. Arrêter la notification de vitesse du réseau lorsque le réseau n’est pas connecté Courrier - L’optimisation de la batterie est activée. Cela interférera avec le fonctionnement de Data Monitor. Cliquez pour désactiver. + L’optimisation de la batterie est activée. Cela interférera avec le fonctionnement de Data Monitor. Aucun journal de plantage trouvé. Êtes-vous sûr qu’un crash s’est produit \? Copier les journaux Diagnostics réseau @@ -326,4 +326,148 @@ Activer la notification sur l’écran de verrouillage Chaque seconde 15 secondes + Exclure une appli du contrôle de traffic de données + Aucune application ajoutée. Appuyez sur le bouton ci-dessous pour ajouter une application. + Montrer les applications Système + Cacher les applications Système + Indonésien + Arabe + iqb4lsp + Coréen + Master2050 + bonbonboi + Enregistrer + Date de fin : %1$s + Achetez-moi Un Café + Filtrer + Toujours afficher le total + Achetez-moi un café :) + Échec du démarrage de Network Monitor. Ouvrez l\'application pour actualiser. + Flitrer l\'Utilisation des Applications + Forfait Actuel + %1$s consommés | %2$s + Valable jusqu\'au %1$s | %2$s + Toujours afficher le total des données consommées, quelles que soient les options sélectionnées. + Total de la consommation des données : %1$s + Autorisation de l\'alarme refusée ! + Vous avez tenté d\'effectuer une action qui nécessite l\'autorisation SCHEDULE_EXACT_ALARM, qui n\'est pas accordée à l\'application. Cliquez ici pour accorder l\'autorisation. + Data Monitor a besoin de la permission SCHEDULE_EXACT_ALARM pour fonctionner normalement. Vous pouvez toujours utiliser l\'application, mais certaines fonctionnialités pourraient dysfonctionner. + Vous avez épuisé votre quota de données journalier. + Vous ne pouvez pas utiliser cette fonctionnalité sans accorder la permission SCHEDULE_EXACT_ALARM. + En savoir plus + Échec de la récupération des données + Merci + Recevez une alerte lorsque votre quota journalier est épuisé. + Quota de données journalier atteint ! + Développeur + Atharv Shinde + Graphixx + Néerlandais + HinameChan + Turc + Marathi + Date de Début : %1$s + Durée de forfait invalide + Data Monitor est une application Libre et Open-Source et le restera toujours :) +\n +\nSi vous souhaitez soutenir le développement de l\'application, un don serait grandement apprécié. + PayPal + Faire un don via Paypal + BHIM-UPI + Faire un don via UPI + Adresse du portefeuille Monero copiée dans le presse-papier + tadekdudek + Polonais + Fjuro + Tchèque + Croxz + Turc + ngocanhtve + Vietnamien + EdwardWu + Chinois Traditionnel + Forfait mis à jour ! + Votre nouveau forfait est valable jusqu\'au %1$s + Met à jour votre forfait automatiquement avec un forfait similaire. + Mettre à jour automatiquement le forfait + Exclure des applis + Ajouter une Application + Sélectionnez une application + Trouver une application + L\'application est déjà présente dans la liste. + Supprimer les applications sélectionnées \? + Supprimer + Une erreur inconnue s\'est produite. Veuillez réessayer. + Historique des Diagnostics + Enregistrer les résultats + Enregistrer les résultats des diagnostics Réseau + Supprimer les résultats sélectionnés \? + Sélectionner tout + Ne plus afficher + Allemand + Espagnol + Ukrainien + Kefir2105 + Arabe + Rex_sa + Hindi, Bhojpuri + Shailendra Maurya + Chinois Traditionnel, Portugais, Français, Norvégien Bokmål, Espagnol, Allemand, Roumain, Coréen, Turc, Chinois Simplifié, Ukrainien, Hindi, Russe, Arabe + JungHee Lee + Ouzbek + U1M450W + Mur des Remerciements + Contributeurs de l\'Application + Data Monitor a parcouru un long chemin depuis sa création et nous n\'aurions pas pu le faire sans le soutien de nos généreux donateurs. + Principaux Donateurs + Tous les Donateurs + Un endroit pour montrer notre reconnaissance aux personnes ayant soutenu l\'application. + Une liste des contributeurs qui soutiennent le développement de l\'application. + Attribution Intelligente des Données + Allouez intelligemment votre forfait à l\'aide de quotas quotidiens et de renouvellements de données. + Alerte quotidienne de quota de données + Quota journalier : %1$s + Reza + Indonésien + Polonais + Eryk Michalak + Rintan + Japonais + Suivez toute votre utilisation de données - dans un seul endroit + Eco-Gaming + Réinitialiser + Ukrainien + Malayalam + Sélectionner une date + Commencer + Arabe + Bienvenue dans Data Monitor + Ettore Atalan + Ajouter un horaire + Sélectionner l\'horaire de fin + Date + Detrimental God + Ignorer la configuration + Cong Phuc Nguyen + Ajouter une session personnalisée + Développeur + zahiruddin rushdi + Malaisien + Chinois Simplifié + Vietnamien + chin housin + gallegonovato + Sélectionner l\'horaire de départ + jonnysemon + Appliquer le Filtre + %1$s jour(s) restant(s) + Durée de session invalide. + Français + Jean Mareilles + Horaires + Dan + Forfait inconnu actif + Forfait mensuel actif + Forfait quotidien actif + Forfait personnalisé actif \ No newline at end of file diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 59534373..20d2878e 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -159,7 +159,7 @@ अपनी भाषा में एप्लिकेशन को अनुवाद करने में मदद करने के लिए यहां क्लिक करें। वर्तमान उपलब्ध - हर महीने का %1$s%2$s + हर महीने का %1$s डेटा उपयोग रीसेट दिनांक सिस्टम डेटा उपयोग पारंपरिक चीनी @@ -285,7 +285,7 @@ अज्ञात त्रुटि। \nकृपया पुन: प्रयास करें या कोई अन्य विधि। एप्लिकेशन का अनुवाद करने में मदद करने के लिए यहां क्लिक करें। - डेटा उपयोग हर महीने %1$d%2$s पर रीसेट किया जाएगा + डेटा उपयोग हर महीने %1$s पर रीसेट किया जाएगा शेष डेटा जानकारी सक्षम डाउनलोड गति का परीक्षण किया जा रहा है गुरु diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index c3bb7ecf..6308c9b7 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -139,7 +139,90 @@ Widget akan diperbarui setiap %1$s Pemberitahuan akan diperbarui setiap %1$s Mengatur ulang penggunaan data setiap %1$s pada %2$s - Penggunaan data akan diatur ulang di %1$d%2$s setiap bulannya + Penggunaan data akan diatur ulang di %1$s setiap bulannya Info data yang tersisa diaktifkan Klik di sini untuk membantu menerjemahkan aplikasi. + Info data yang tersisa dinonaktifkan + Tambahkan paket data untuk memulai pemantauan + Widget disegarkan + Pemberitahuan monitor data diaktifkan + Tidak dapat mematikan kedua elemen + Harap atur notifikasi terlebih dahulu + hari + Peringatan penggunaan data + Anda telah menggunakan %1$d%% dari batas data Anda + %1$s telah menghabiskan kuota datanya + Penggunaan data hari ini: %1$s + Harap tambahkan paket data terlebih dahulu + Paket data disimpan + bulan + Memuat… + %1$s tersisa + %1$s ekstra digunakan + Matikan pengoptimalan baterai + Mencegah mematikan Monitor Data saat berjalan di latar belakang. +\nJika tidak, nilainya mungkin salah. + Tips pengoptimalan ekstra + Pengaturan baterai OEM + Berikutnya + Sen + Sel + Rab + Kam + Jum + Sab + Min + Penerjemah + Peringatan penggunaan data aplikasi + Batas data aplikasi + Diagnostik + Jalankan Diagnostik + Menjalankan Diagnostik + Menghubungkan + Menguji kecepatan unduh + Menguji kecepatan unggah + Menguji latensi jaringan + Koneksi saat ini: %1$s + Statistik jaringan + %1$s Mbit/dtk + Kecepatan unduh maksimum + Daftar Refresh + %1$s md + Kecepatan unduhan min + Kecepatan unggah rata-rata + Penyedia Jaringan + Geser ke kanan untuk menghapus item + Daerah + Latensi rata-rata + IP Jaringan + Server + Kecepatan unduhan rata-rata + Latensi min + %1$s hari tersisa + Kecepatan unggah maks + Server tersambung: %1$s + Unggah: %1$s + Saat Ini + Waktu layar: %1$s + Izin diberikan + Perangkat yang dengan versi Android 9 dan di bawah ini harus memberikan izin ini secara manual. Tidak ada data pribadi yang dikumpulkan. + Kecepatan jaringan: %1$s + Cina Tradisional + Kecepatan jaringan langsung diaktifkan + Izin untuk membaca status ponsel + Cina Sederhana + Unduh: %1$s + %1$s dari setiap bulan + Fitur beta + Prancis + Klik di sini untuk membantu menerjemahkan aplikasi ke dalam bahasa Anda. + Tersedia + Tidak bisa terhubung. +\nPastikan Anda terhubung ke Internet. + Kecepatan jaringan langsung + Penggunaan data sistem + Tanggal ulang penggunaan data + Kecepatan jaringan langsung dinonaktifkan + Penggunaan latar belakang: %1$s + Rumania \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index cda501fe..3f99b61c 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -204,13 +204,13 @@ Caricamento… "Vorresti offrirci un caffè?" "L'uso dei dati sarà resettato ogni %1$s alle %2$s" - L\'uso dei dati sarà resettato il %1$d%2$s di ogni mese + L\'uso dei dati sarà resettato il %1$s di ogni mese "Traduttore del romeno" "Traduttore del cinese semplificato" "Non trovi la tua lingua? Aiutaci traducendo i contenuti nella tua lingua. Clicca qui per sapere come." "Lingua scelta" "Lingue disponibili" - "%1$s%2$s di ogni mese" + "%1$s di ogni mese" Malayalam Italiano Supporto alla traduzione diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml new file mode 100644 index 00000000..a351478c --- /dev/null +++ b/app/src/main/res/values-iw/strings.xml @@ -0,0 +1,466 @@ + + + תמיכה ופיתוח + פרגנו לנו כוס קפה, אולי\? + לא ניתן לטעון את מבט-העל של השבוע הנוכחי. +\nנסו שוב מאוחר יותר. + החודש הקודם + בחירת מופע + רישיון היישום + דקה 1 + מפתח ראשי ומעצב + כל משך הזמן + ניטור השימוש בנתונים + טעינה… + חודשי + געו כאן כדי לעזור בתרגום היישום. + הגדרת מנטר הנתונים + דקה 1 + יישומון + מיכסת הנתונים + הגדרות + נשלחו + שימוש בנתונים + שם היישום + 5 דקות + התראה על שימוש בנתונים + 3. גיררו והניחו את יישומון מנטר הנתונים אל מסך הבית שלכם. + %1$s +\nהתקבלו + החודש הנוכחי + רמת הסף הנוכחית: %1$s%% + הוספת יישומון + הוספת תכנית גלישה + איפוס המונה + נתונים ניידים + נתב אלחוטי נייד + הוספת חבילת גלישה + כתובת ארנק ה-Bitcoin הועתקה ללוח + מ\"ב + הגדרת היישומון + הצגת השימוש בנתונים ניידים + טעינת יישומים + כללי + דוגמה + UID: %1$d + הצגת השימוש ב-Wi-Fi + הגדרת היישומון + פורום XDA + Wi-Fi + יישומים שהוסרו + הרשאת גישה לשימוש בנתונים + GitHub + קצב ריענון היישומון + התקבלו + מיטוב הסוללה הושבת + איפוס המידע + קצב ריענון ההתראות + 1. געו נגיעה ממושכת במקום ריק במסך הבית שלכם. + פתיחת הגדרות היישום + הגדרה + הוספה או עדכון של חבילת הגלישה שלך + Dr.NooB + הגדרת ההתראות + בחירת סוג + הפעלה/כיבוי של המצב הכהה + כתובת ארנק ה-Litecoin הועתקה ללוח + 2. געו ב\"הוספת יישומונים\". + ההתראה תעודכן מדי %1$s + התראה + מגבלת נתונים + כאשר נוצלו %1$s%% מהמיכסה + 0 מ\"ב + שינוי שפת הממשק של היישום + אתמול + 2 דקות + Wi-Fi: %1$s + רישיון + יישומונים ו/או התראה מאפשרים גישה קלה לכמות הנתונים שנוצלה + יומי + תורמים + אין מידע זמין + אודות + המידע אודות המיכסה שנותרה מושבת + התראת מנטר הנתונים מושבתת + המידע אודות המיכסה שנותרה מופעל + דיווח על באגים + יש להתקין תחילה יישום שמסוגל לבצע זאת + השנה הנוכחית + אותר MIUI. + בחירת מירווח הרענון + איפוס השימוש בנתונים מדי %1$s ב-%2$s + מסך הבית + קוד-מקור, עזרה ועוד + געו כאן לגלות איך ניתן לתרום למנטר הנתונים. + בצעו ריענון ליישומון אם נתקלתם בבעיה כלשהי + ריענון היישומון + השימוש בנתונים היום + חבילת הגלישה נשמרה + 10 דקות + מראה + הצגת מידע אודות המיכסה שנותרה + מבט-על לשבוע הנוכחי + שאלות נפוצות, עזרה ופתרון בעיות + יישומי המערכת + אלה שתמיד אפשר לסמוך עליהם + רמת הסף לאזהרה על שימוש בנתונים + תרומה + היום + אישור + ג\"ב + %1$s אנא קיראו את ההמלצות הנוספות בנוגע למיטוב כדי להבטיח שהיישום יפעל באופן תקין. + מצב כהה + הגדרות + נותרו 0.00 ג\"ב + נתונים ניידים: %1$s + 15 דקות + שם החבילה: %1$s + מנטר נתונים + %1$s +\nנשלחו + חיוני להפעלת היישום, מאחר ונאסף מידע אודות שימוש היישומים בנתונים. +\nלא נאסף מידע אישי. + הוספת חבילת הגלישה שלך כדי להתחיל לנטר אותה. + ביטול + ב-❤ מאת Bitroid + היישומון יעודכן מדי %1$s + העדפות + הצגת קוד המקור + רישיונות קוד-פתוח + שליחת דיווח על באגים או בקשה לתכולות + %1$s +\nהתקבלו + השימוש בנתונים יאופס ב-%1$s בכל חודש + עדכון + השימוש ביישום + הצגת התראה כאשר מיכסת הנתונים הסתיימה + שפה + איפוס תקופת השימוש בנתונים + רמת הסף הנוכחית: %1$s%% (%2$s) + שגיאה לא מוכרת. +\nאנא נסו שוב או בשיטה אחרת. + כתובת ארנק ה-Ethereum הועתקה ללוח + הענקת הרשאה + %1$s +\nנשלחו + העלאה: %1$s + הצגת היישום ב-F-Droid + יום ד\' + הזינו את URL ההורדה המלא + ההרשאה נשללה. נא להתיר אותה ידנית. + החרגת תעבורה של יישומים מהשימוש בנתונים + בהירה + חודש + גרמנית + התראה על שימוש יישום בנתונים + שישי + לא ניתן להשתמש בתכולה זו מבלי להתיר הרשאת SCHEDULE_EXACT_ALARM. + דרגו את היישום ב-Google Play + מלאיאלאם + ספרדית + אוקראינית + לא ניתן למשוך עדכונים + החלפת שרת האיבחונים + היסטוריית האיבחונים + נוכחית + גירסה חדשה זמינה! + ערבית + הצגת התוכן שנכלל במידע אודות המכשיר + הגרסה העדכנית ביותר מופעלת אצלך. + שבת + חיפוש עדכונים + השימוש בנתונים היום: %1$s + סינון + סינית מסורתית + מיזוג התראות מנטר הנתונים ומהירות הרשת להתראה אחת. + כהה + %1$s ניצל את מלוא מיכסת השימוש בנתונים שלו + טורקית + הפעלת מנטר הרשת נכשלה. הפעילו את היישום לריענון. + ערבית + מומלץ לשקול עדכון החבילה + העדפות השרת נשמרו + חבילת הגלישה המותאמת פעילה + משך זמן פעילות המסך: %1$s + הצגת יישומי המערכת + שעת ההתחלה: %1$s + תאריך ההתחלה: %1$s + ההרשאה ניתנה + פולנית + Ettore Atalan + ערכת נושא + רענון הרשימה + התראה ממוזגת מופעלת. לא ניתן להשבית התראה פרטנית. + לא ניתן לכבות את שני הרכיבים + ניצלת %1$d%% ממיכסת הנתונים שלך + יום א\' + הזינו את URL ההעלאה המלא + היישומון רוענן + %1$s מ\"ש + גרסה חדשה זמינה! + מהירות הורדה מזערית + דו\"ח קריסה + משך זמן החבילה אינו תקף + מהירות העלאה ממוצעת + הצטרפות לקבוצת התמיכה + ספק הרשת + ערכת הנושא של המערכת + נתונים אודות הרשת + מניעת סיום כפוי של מנטר הנתונים כאשר מופעל ברקע. +\nאחרת הערכים עלולים להיות שגויים. + איבחון + התחברות + מנטר הנתונים הוא יישום חינמי ובקוד-פתוח ויישאר כזה לעולם :) +\n +\nאם ברצונך לתמוך בפיתוח היישום, תרומה תתקבל בהוקרה רבה. + בדיקת היישום ב-repo הרשמי של F-Droid + הצגת סה\"כ תמיד + חיפוש עדכונים… + התאמה לערכת הנושא של המערכת + תמיכת התרגום + אבחוני הרשת עשויים לצרוך 20-30 מ\"ב של נתונים. יש לוודא שחבילת הגלישה שלך כוללת זאת, אחרת השימוש עלול לגרום לחיובים בגין שימוש ברשת. + מכשירים בעלי אנדרואיד 9 ומטה חייבים להתיר הרשאה זו ידנית. לא נאסף מידע אישי. + מדי שניה + טלגרם + ביטול + יום ב\' + איבחון מופעל + המידע על המכשיר כולל: +\nיצרן המכשיר +\nמותג המכשיר +\nדגם המכשיר +\nשם-קוד המכשיר +\nגירסת אנדרואיד + %1$s מ\"ביטים/שניה + ערבית + מהירות הרשת: %1$s + בדיקת השהיית הרשת + סינית מסורתית + יש להגדיר תחילה חבילת גלישה + אוזבקית + טעינה… + מהירות הרשת ה\"חיה\" מופעלת + הגרסה הנוכחית: %1$s + תרומה באמצעות UPI + הרשאה לקראת מצב המכשיר + החלקה ימינה למחיקת פריט + iqb4lsp + איבחוני הרשת + 30 שניות + לא נמצאה חבילת גלישה! הוסיפו חבילת גלישה כדי להתחיל לנטר אותה. + שליחת דו\"ח באמצעות + לא ניתנה הרשאת התראה! + סה\"כ השימוש: %1$s + הוספת יישום + חבילת הגלישה עודכנה! + למחוק את התוצאות שנבחרו? + חבילת הגלישה נשמרה + דוא\"ל + נבחרה ערכת הנושא הבהירה + ויאטנמית + שיתוף ל-chat: @datamonitor + רישומי התקלות + השעיית התראת מהירות הרשת כאשר הרשת איננה מחוברת + החרגת יישומים + שמירת תוצאות איבחוני הרשת + יומני קריסה; אל תבצעו שינויים + כתובת ארנק ה-Monero הועתקה ללוח + קוריאנית + בחירת תאריך הסיום + בחירת הכל + %1$s נוצלו| %2$s + לא נוספו יישומים. ליחצו על הכפתור שלמטה להוספת יישום. + סינית פשוטה + מפתח + יומני הקריסה של מנטר הנתונים + איזור + הורדה: %1$s + הולנדית + פרגנו לי כוס קפה :) + פרגנו לי כוס קפה + הצגת רישיונות היישום + החבילה הנוכחית + הסתרת יישומי המערכת + העתקת היומנים + המשוב שלך חשוב ומוערך + מידע אודות המכשיר + URL ההורדה אינו תקף! + סה\"כ השימוש בנתונים: %1$s + היישום כבר נכלל ברשימה. + השבתת מגע אינטראקטיבי + שעת הסיום: %1$s + ראשית יש להגדיר את ההתראה + תאריך הסיום: %1$s + gallegonovato + בתוקף עד %1$s | %2$s + מיכסת שימוש בנתונים ליישום + הפעלת ההתראה במסך הנעילה + לא ידוע + עצות נוספות למיטוב + התראת מנטר הנתונים מופעלת + הפעלת איבחון + השהייה ממוצעת + תכולות ובהן התראת מנטר הנתונים, מהירות רשת \"חיה\" והתראת שימוש בנתונים לא יפעלו באופן תקין ללא הרשאות להתראות. יש לתת את ההרשאות ידנית. + אזהרת שימוש בנתונים + %1$s נותרו + הצגת סך הנתונים שנוצלו בהתראה תמיד ללא תלות באפשרויות שנבחרו. + %1$s בכל חודש + תכולה נסיונית + תוקף החבילה + שליחת דו\"ח הקריסה בדוא\"ל + הורדת עדכון + IP הרשת + החיבור הנוכחי: %1$s + פתיחת Issue חדש ב-Github + שרת + מיזוג ההתראות + יום ג\' + בחירת יישום + תוכן המידע על המכשיר + ניסית לבצע פעולה שמחייבת הרשאת SCHEDULE_EXACT_ALARM, שלא הותרה ליישום. ליחצו כאן להתרת ההרשאה ליישום. + הוספת חבילת גלישה להתחלת הניטור + מהירות הורדה ממוצעת + תרומה באמצעות PayPal + מחיקה + השהייה מזערית + בחירת ערכת הנושא של היישום + שמירה + סמל ההתראה הממוזגת + שרת ההורדות + צרפתית + גלו מה חדש + שליחת דו\"ח הקריסה בקבוצת התמיכה בטלגרם + נבחרה ערכת הנושא הכהה + הבא + PayPal + אינדונזית + הגדרות סוללה OEM + תמיכה בטלגרם + שרת + %1$s יום/ימים נותרו + איטלקית + ליחצו כאן כדי לסייע בתרגום היישום לשפתכם. + לא להציג שוב + פג תוקף חבילת הגלישה! + חיפוש יישום + השבתת מיטוב הסוללה + בדיקת מהירויות הורדה + מהירות העלאה מירבית + מתרגמים + בדיקת מהירויות העלאה + נראה שמנטר הנתונים קרס. באפשרותך לשלוח דו\"ח קריסה למפתח כדי לסייע בניתוח הבעיה ופתרונה מהר יותר. אם לא אירעה קריסה, נא להתעלם. + בחירת הסמל שיוצג עבור ההתראה הממוזגת + מהירות הורדה מירבית + בחירת יישום + זמינה + שמירת התוצאות + שרת ההעלאות + שרת מותאם + לא ניתן היה להתחבר. +\nנא לוודא שיש לך חיבור לאינטרנט. + גרסה חדשה: %1$s + מיטוב הסוללה מופעל. זה ישפיע על פעולת מנטר הנתונים. + מהירות הרשת ה\"חיה\" + לא אותר חיבור רשת! + השבתת המשוב האינטראקטיבי במגע בכל היישום + Kefir2105 + טורקית + מותאם + יום + חבילה לא תקפה! + מיטוב הסוללה + לא ניתן לאמת את ה-URL! אנא נסו שנית או השתמשו באחר. + בחירת תאריך ההתחלה + מנטר הנתונים זקוק להרשאת SCHEDULE_EXACT_ALARM כדי לפעול באופן תקין. ניתן להמשיך ולהשתמש ביישום, אך תכולות מסויימות עלולות שלא לפעול באופן תקין. + להסיר את היישומים שנבחרו? + יומני הקריסה הועתקו ללוח + הסתרה אוטומטית של מהירות הרשת + %1$s נוספים נוצלו + שימוש המערכת בנתונים + צ\'כית + לא נמצאו יומני קריסה. בטוחים שאירעה קריסה? + תאריך איפוס השימוש בנתונים + 15 שניות + מהירות הרשת ה\"חיה\" מושבתת + אירעה שגיאה לא-ידועה. אנא נסו שוב. + Rex_sa + שימוש ברקע: %1$s + השרת המחובר: %1$s + לא ניתנה הרשאה! + יום ה\' + טלגרם איננה מותקנת או שמותקן יישום לא ידוע. אנא נסו שיטה אחרת. + רומנית + הגישה לנתונים כשלה + מעקב אחר כל השימושים שלך בנתונים - במקום אחד + רשימת השותפים התומכים בפיתוח היישום. + Eco-Gaming + סינית מסורתית, פורטוגזית, צרפתית, Norwegian Bokmål, ספרדית, גרמנית, רומנית, קוריאנית, טורקית, סינית פשוטה, אוקראינית, הינדי, רוסית, ערבית + ניצלת את מלוא מיכסת הנתונים היומית שהוגדרה. + איפוס + אוקראינית + JungHee Lee + הקצאת נתונים חכמה + המיכסה היומית: %1$s + Croxz + ngocanhtve + Malayalam + יפנית + בחירת תאריך + קדימה, מתחילים + EdwardWu + פולנית + Rintan + ערבית + ברוך בואך למנטר הנתונים + הוספת שעה + בחירת שעת הסיום + תאריך + מנטר הנתונים עבר כברת דרך ארוכה מאז שנוצר לראשונה, ולא היינו יכולים לעשות זאת בלי תמיכתם של תורמינו הנדיבים. + התראת מיכסה יומית + החבילה שלך תעודכן אוטומטית בחבילה זהה. + Detrimental God + דילוג על ההגדרות + U1M450W + Cong Phuc Nguyen + Atharv Shinde + התורמים המובילים + המיכסה היומית נוצלה במלואה! + הוספת מופע מותאם + המקום לבטא את הערכתנו לאלה שתומכים ביישום ומקיימים אותו. + מפתח + zahiruddin rushdi + Malay + Shailendra Maurya + Master2050 + תורמי היישום + bonbonboi + Reza + אינדונזית + סינית פשוטה + HinameChan + ויאטנמית + chin housin + BHIM-UPI + תודה לך + Eryk Michalak + עדכון אוטומטי של חבילת הנתונים + בחירת שעת ההתחלה + Graphixx + jonnysemon + החלת מסנן + החבילה החדשה שלך בתוקף עד %1$s + לקרוא עוד + הינדי, Bhojpuri + משך המופע אינו תקף. + צרפתית + קבלת התראה כאשר מוצתה המיכסה היומית שלך. + tadekdudek + Fjuro + Jean Mareilles + Marathi + שעה + Dan + רשימת תודות + ניהול מושכל של השימוש בנתונים ע\"י מיכסות יומיות ועודפי מיכסות של שימוש בנתונים. + כל התורמים + \ No newline at end of file diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index f665d9e4..9d9c3575 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -152,7 +152,7 @@ 利用可能 権限が拒否されました。手動で許可してください。 現在 - 毎月%1$s%2$s + 毎月%1$s データ使用量のリセット日 システムのデータ使用量 中国語(繁体字) @@ -200,7 +200,7 @@ データ残量情報が有効です データ残量情報が無効です データ使用量モニターの通知は有効です - データ使用量は毎月%1$d%2$sにリセットされます + データ使用量は毎月%1$sにリセットされます 監視を始めるにはデータプランを追加してください 最初にデータプランを追加してください 超過%1$s diff --git a/app/src/main/res/values-kn/strings.xml b/app/src/main/res/values-kn/strings.xml new file mode 100644 index 00000000..a6b3daec --- /dev/null +++ b/app/src/main/res/values-kn/strings.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 5a81edc8..8a5aec4c 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -116,7 +116,7 @@ \n다시 시도하거나 다른 방법을 시도하십시오. 데이터 모니터 알림 사용 안 함 알림은 %1$s마다 업데이트됩니다 - 매월 %1$d%2$s에서 데이터 사용량이 재설정됩니다. + 매월 %1$s에서 데이터 사용량이 재설정됩니다. 나머지 데이터 정보 사용 나머지 데이터 정보 사용 안 함 위젯 새로 고침 diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml index 88e9af77..6af27d10 100644 --- a/app/src/main/res/values-ml/strings.xml +++ b/app/src/main/res/values-ml/strings.xml @@ -204,13 +204,13 @@ ലോഡിംഗ്… "ഞങ്ങൾക്ക് ഒരു കോഫി വാങ്ങിത്തരിക, ഒരുപക്ഷേ?" "ഓരോ %1$s സമയത്തും %2$s-ന് ഡാറ്റ ഉപയോഗം പുനഃസജ്ജമാക്കും" - "എല്ലാ മാസവും %1$d%2$s-ന് ഡാറ്റ ഉപയോഗം റീസെറ്റ് ചെയ്യും" + "എല്ലാ മാസവും %1$s-ന് ഡാറ്റ ഉപയോഗം റീസെറ്റ് ചെയ്യും" "റൊമാനിയൻ പരിഭാഷകൻ" "സിംപ്ളിഫൈഡ് ചൈനീസ് വിവർത്തകൻ" "നിങ്ങളുടെ ഭാഷ കണ്ടെത്താൻ കഴിയുന്നില്ലേ? നിങ്ങളുടെ പ്രാദേശിക ഭാഷയിലേക്ക് ഉള്ളടക്കങ്ങൾ വിവർത്തനം ചെയ്തുകൊണ്ട് ഞങ്ങളെ സഹായിക്കൂ. എങ്ങനെയെന്നറിയാൻ ക്ലിക്ക് ചെയ്യുക." "നിലവിലെ ഭാഷ" "ലഭ്യമായ ഭാഷകൾ" - "എല്ലാ മാസവും %1$s%2$s" + "എല്ലാ മാസവും %1$s" "ഡാറ്റ ഉപയോഗ പുനഃസജ്ജീകരണ തീയതി" "സിസ്റ്റം ഡാറ്റ ഉപയോഗം" "പരമ്പരാഗത ചൈനീസ് വിവർത്തകൻ" @@ -388,4 +388,11 @@ U1M450W ജംഗ്ഹീ ലീ ഉസ്ബെക് + നെറ്റ്‌വർക്ക് മോണിറ്റർ ആരംഭിക്കുന്നതിൽ പരാജയപ്പെട്ടു. പുതുക്കാൻ ആപ്പ് തുറക്കുക. + ഫിൽറ്റർ + ആപ്പ് ഉപയോഗം ഫിൽറ്റർ ചെയ്യുക + നിലവിലെ പ്ലാൻ + %1$s ഉപയോഗിച്ചു | %2$s + %1$s വരെ സാധുതയുണ്ട് + എല്ലായ്‌പ്പോഴും ആകെ കാണിക്കുക \ No newline at end of file diff --git a/app/src/main/res/values-mr/strings.xml b/app/src/main/res/values-mr/strings.xml index fcbcf774..fe0541a0 100644 --- a/app/src/main/res/values-mr/strings.xml +++ b/app/src/main/res/values-mr/strings.xml @@ -20,7 +20,7 @@ नवीन काय आहे ते शोधा डेटा मॉनिटर सूचना अक्षम विजेट प्रत्येक %1$s अद्यतनित केले जाईल - डेटा वापर दर महिन्याच्या %1$d%2$s रोजी रीसेट केला जाईल + डेटा वापर दर महिन्याच्या %1$s रोजी रीसेट केला जाईल देखरेख सुरू करण्यासाठी डेटा योजना जोडा विजेट ताजेतवाने सूचना प्रत्येक %1$s अद्यतनित केली जाईल @@ -106,7 +106,7 @@ सिस्टम डेटा वापर युक्रेनियन स्क्रीन वेळ: %1$s - प्रत्येक महिन्याचा %1$s%2$s + प्रत्येक महिन्याचा %1$s पारंपारिक चीनी, पोर्तुगीज, फ्रेंच, नॉर्वेजियन बोक्मासेल, स्पॅनिश, जर्मन, रोमानियाई, कोरियन, तुर्की, सरलीकृत चिनी, युक्रेनियन, हिंदी, रशियन, अरबी यादी रिफ्रेश करा नेटवर्क आयपी diff --git a/app/src/main/res/values-ms/strings.xml b/app/src/main/res/values-ms/strings.xml new file mode 100644 index 00000000..bb5c0294 --- /dev/null +++ b/app/src/main/res/values-ms/strings.xml @@ -0,0 +1,101 @@ + + + 1 minit + Sab + Nama apl + Tambah widget + Wi-Fi: %1$s + Data mudah alih: %1$s + %1$s +\nHantar + %1$s +\nMenerima + %1$s +\nMenerima + Data Monitor + Apabila %1$s%% daripada data digunakan + Nama pakej: %1$s + UID: %1$d + 0 MB + hantar + Buka tetapan apl + Batal + OK + Pilih sesi + Bulan ini + Bulan lepas + Tahun ini + Setiap Masa + Data yang digunakan + Kemas kini + Dengan❤ oleh Bitroid + Memuatkan apl + Memuatkan… + Tiada data tersedia + Klik sini untuk menyumbang kepada Data Monitor. + Harian + Bulanan + Limit data + MB + GB + Pilih jarak waktu segarkan + 1 minit + 2 minit + 5 minit + 15 minit + Sediakan widget + 1. Sentuh dan tahan ruang kosong pada skrin utama anda. + Ketik \"Widget\". + Seret dan lepas widget Data Monitor ke skrin utama anda. + Penggunaan data hari ini + Gambaran keseluruhan bulan ini + Tidak boleh memuatkan gambaran keseluruhan minggu ini. +\nCuba lagi nanti. + Persediaan Data Monitor + Sediakan widget + Sediakan pemberitahuan + Konfigurasi + Widget + Tunjukkan maklumat tentang baki data + Muat semula widget + Jarak waktu muat semula widget + Muat semula widget jika menghadapi sebarang masalah + Pemberitahuan + Jarak waktu muat semula untuk pemberitahuan + Tunjukkan penggunaan data mudah alih + Tunjukkan penggunaan Wi-Fi + Pantau penggunaan data + Amaran penggunaan data + Maklumkan apabila had data dicapai + Umum + Tambah pelan data + Ahd + Penterjemah + Amaran penggunaan data apl + Had data apl + Diagnostik + Jalankan Diagnostik + Menjalankan Diagnostik + Menyambung + Menguji kelajuan muat turun + Menguji kelajuan muat naik + Sambungan semasa: %1$s + Statistik rangkaian + %1$s Mbit/s + Plan data auto kemas kini + Contoh + %1$s +\nHantar + menerima + Hari ini + Semalam + Pilih jenis + Data mudah alih + Wi-Fi + 0.00GB yang tinggal + Widget dan/atau pemberitahuan menyediakan akses mudah ke jumlah data yang digunakan + Tambah pelan data + 10 minit + Tambah pelan data anda untuk mula memantaunya + Lesen Apl + \ No newline at end of file diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index b5d7ea54..6c4a1768 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -207,7 +207,7 @@ Installer et program som kan gjøre dette først Ukjent feil. \nPrøv igjen eller en annen metode. - Databruk vil bli tilbakestilt %1$d%2$s hver måned + Databruk vil bli tilbakestilt %1$s hver måned Tilgang nektet. Innvilg den manuelt. OEM-batteri-innstillinger Tir @@ -231,7 +231,7 @@ Rumensk Opplasting: %1$s Tilgjengelig - %1$s%2$s i hver måned + %1$s i hver måned Tradisjonell kinesisk Nettverkshastighet: %1$s Nedlasting: %1$s diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 7cec6cb1..679bc577 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -162,7 +162,7 @@ Reset het dataverbruik elke %1$s bij %2$s Vereist om de app uit te voeren, omdat deze app-gebruiksstatistieken verzamelt. \nEr worden geen persoonsgegevens verzameld. - Data gebruik wordt iedere maand op %1$d%2$s opnieuw ingesteld + Data gebruik wordt iedere maand op %1$s opnieuw ingesteld Resterende gegevensinformatie ingeschakeld Resterende gegevensinformatie ingeschakeld Data gegevens toevoegen om de monitoring te starten @@ -221,7 +221,7 @@ Romeens Huidig Beschikbaar - %1$s%2$s van iedere maand + %1$s van iedere maand Resetdatum voor gegevensgebruik Gebruik van systeemgegevens Traditioneel Chinees diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 20c5b6da..29662ad3 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -97,7 +97,7 @@ Użycie aplikacji Opcje Aplikacje systemowe - Użycie danych będzie resetowane w %1$d%2$s każdego miesiąca + Użycie danych będzie resetowane w %1$s każdego miesiąca Najpierw włącz powiadomienie Plan danych zapisany miesiąc @@ -216,7 +216,7 @@ Chiński uproszczony Rumuński Kliknij, aby pomóc w tłumaczeniu tej aplikacji na twój język. - %1$s%2$s każdego miesiąca + %1$s każdego miesiąca Pobieranie: %1$s Funkcja beta Prędkość sieci: %1$s @@ -330,7 +330,6 @@ Nie udało się uruchomić monitor sieci. Otwórz aplikację, aby go odświeżyć. Filtruj użycie aplikacji Zawsze pokazuj całość - Plan %1$s jest aktywny Użyto %1$s | %2$s Ostrzeżenie o użyciu aplikacji Testowanie prędkości pobierania diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 8249551f..204a12e0 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -239,7 +239,7 @@ Perguntas e respostas, ajuda e solução de problemas "O uso de dados será redefinido a cada %1$s em %2$s" -"O uso de dados será redefinido em %1$d%2$s de cada mês" +"O uso de dados será redefinido em %1$s de cada mês" "Tradutor romeno" "Tradutor chinês simplificado" @@ -248,7 +248,7 @@ Perguntas e respostas, ajuda e solução de problemas "Idioma atual" "Idiomas disponíveis" - "%1$s%2$s de cada mês" + "%1$s de cada mês" "Data de redefinição do uso de dados" "Uso de dados do sistema" "Tradutor de chinês tradicional" diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 8a2abde5..b7d4a2ec 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -209,7 +209,7 @@ Valabilitatea planului Planul de date a expirat! S-ar putea să doriți să vă actualizați planul - Optimizarea bateriei este activată. Acest lucru va interfera cu funcționarea Data Monitor. Faceți clic pentru a dezactiva. + Optimizarea bateriei este activată. Acest lucru va interfera cu funcționarea Data Monitor. Jurnalele de accident copiate în clipboard Permisiunea refuzată! Caracteristicile, inclusiv notificarea monitorului de date, viteza live a rețelei și avertizarea de utilizare a datelor nu vor funcționa corect fără permisiunea de notificare. Vă rugăm să-l acordați manual. @@ -217,7 +217,7 @@ Selectați aplicația Copiere jurnale Încărcare server - Utilizarea datelor va fi resetată pe %1$d%2$s din fiecare lună + Utilizarea datelor va fi resetată pe %1$s din fiecare lună Data de resetare a utilizării datelor Viteza rețelei live a fost dezactivată Caracteristică beta @@ -282,7 +282,7 @@ Adresă URL de descărcare nevalidă! Aflați ce este nou Este disponibilă o nouă versiune! - Descărcați noua versiune + Descarcă actualizarea Verificare pentru actualizări… Diagnosticarea rețelei poate utiliza în jur de 20-30 MB de date. Asigurați-vă că aveți acest lucru disponibil în planul dvs., altfel se pot aplica taxe de rețea. Acces refuzat. Vă rugăm să o acordați manual. @@ -292,7 +292,7 @@ Selectați data de început Selectați data de sfârșit Română - %1$s %2$s din fiecare lună + %1$s din fiecare lună Chineză tradițională Încărcare: %1$s Descărcați: %1$s @@ -322,4 +322,42 @@ 30 de secunde Activați notificarea pe ecranul de blocare Excludere aplicații + Adăugare aplicație + Nu sunt adăugate aplicații. Fă clic pe butonul de mai jos pentru a adăuga o aplicație. + Aplicații excluse din traficul de utilizare a datelor + Selectează o aplicație + Caută o aplicație + Aplicația este deja prestabilită în listă. + Elimini aplicațiile selectate\? + A apărut o eroare necunoscută. Încearcă din nou. + Salvează rezultatele + Selectează tot + Istoric de diagnosticare + Ștergi rezultatele selectate\? + Germană + Chineză tradițională, portugheză, franceză, norvegiană Bokmål, spaniolă, germană, română, coreeană, turcă, chineză simplificată, ucraineană, hindi, rusă, arabă + Master2050 + Ascunde aplicațiile de sistem + Afișează aplicațiile de sistem + Ettore Atalan + Hindi, Bhojpuri + Shailendra Maurya + Indoneziană + bonbonboi + Spaniolă + gallegonovato + Ucraineană + Arabă + Rex_sa + Kefir2105 + iqb4lsp + Arabă + Coreeană + JungHee Lee + Șterge + Salvează rezultatele diagnosticării rețelei + Plan necunoscut activ + Plan lunar activ + Plan zilnic activ + Plan personalizat activ \ No newline at end of file diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 7ff38499..e1244fc5 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -21,7 +21,7 @@ Не удалось загрузить обзор за эту неделю. \nПовторите попытку позже. Настройка виджета - Настройка + Конфигурирование Виджет Интервал обновления уведомлений Уведомление о достижении лимита данных @@ -73,7 +73,7 @@ Текущее соединение: %1$s Сетевая статистика %1$s Мбит/с - Макс. входящая скорость + Максимальная скорость загрузки Ср. входящая скорость Макс. исходящая скорость Минимальная задержка @@ -108,12 +108,12 @@ Не удалось получить обновление Тема Выбор темы приложения - Как в системе (по умолчанию) + Следовать системной теме Выбрана светлая тема Арабский Малаялам Итальянский - Как в системе (по умолчанию) + Следование системной тематике Поддержка перевода Просмотр приложения на F-Droid Проверьте приложение в официальном репозитории F-Droid @@ -190,7 +190,7 @@ Адрес кошелька Ethereum скопирован в буфер обмена Использование данных приложениями Уведомление будет обновляться каждые %1$s - Использование данных будет обнуляться %1$d%2$s числа каждого месяца + Использование данных будет обнуляться %1$s числа каждого месяца Информация об остатке данных включена Тарифный план сохранён Использовано данных за сегодня: %1$s @@ -206,7 +206,7 @@ Уведомление об использовании данных приложения Выполнить диагностику Выполняется диагностика - Макс. входящая скорость + Минимальная скорость загрузки Проверка задержки в сети Доступно Ср. исходящая скорость @@ -214,7 +214,7 @@ Не удалось подключиться. \nПожалуйста, убедитесь, что вы подключены к Интернету. Не обнаружено сетевое подключение! - %1$s%2$s каждого месяца + %1$s каждого месяца Фоновое использование: %1$s Румынский Использование системных данных @@ -227,7 +227,7 @@ Проверьте наличие обновлений Текущая версия: %1$s Новая версия: %1$s - Доступна новая версия! + Новая версия уже доступна! Доступна новая версия! Узнайте, что нового Выбрана тёмная тема @@ -238,7 +238,7 @@ Настройте свой тарифный план, для начала его отслеживания Настроить тарифный план, для начала отслеживания Системные приложения - Настройка + Установка Сначала установите приложение, которое может это сделать Уведомление о мониторе данных отключено Уведомление о мониторе данных включено @@ -369,9 +369,8 @@ Адрес кошелька Monero скопирован в буфер обмена Польский Не удалось запустить Network Monitor. Откройте приложение для обновления. - План %1$s активен %1$s использовано | %2$s - Действует до %1$s + Действует до %1$sb | %2$s Всегда показывать общее количество Текущий план Фильтр использования приложений @@ -404,7 +403,7 @@ Croxz Вьетнамский ngocanhtve - EdwardWu + ЭдуардВу Автоматическое обновление плана данных Fjuro Китайский (традиционный) @@ -412,4 +411,54 @@ Автоматическое обновление плана передачи данных на аналогичный. План данных обновлен! Турецкий + Стена благодарностей + Спасибо + Узнать больше + Монитор данных прошел долгий путь с момента своего создания, и мы не смогли бы этого сделать без поддержки наших щедрых доноров. + Список участников, которые поддерживают развитие приложения. + Вы исчерпали свою суточную норму данных. + Участники приложения + Лучшие спонсоры + Все спонсоры + Не удалось получить данные + Место для выражения нашей признательности сторонникам приложения. + Умное распределение данных + Разумное распределение данных с помощью ежедневных квот и переноса данных. + Ежедневное оповещение о квоте + Получать оповещение, когда ваша дневная норма исчерпана. + Суточная квота данных достигнута! + Суточная квота: %1$s + Молиться + Индонезийский + Польский + Эрик Михалак + Японский + Rintan + Украинский + Малаялам + Арабский + Разработчик + Малайский + Китайский (упрощенный) + Вьетнамский + осталось %1$s дней + Французский + Экологические игры + Губительный Бог + Cong Phuc Nguyen + zahiruddin rushdi + chin housin + jonnysemon + Жан Марей + Dan + Сброс + Выберите дату + Добавить время + Выберите время окончания + Дата + Добавить пользовательскую сессию + Выберите время запуска + Применить фильтр + Недопустимая длительность сессии. + Время \ No newline at end of file diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml new file mode 100644 index 00000000..a6b3daec --- /dev/null +++ b/app/src/main/res/values-th/strings.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index d35e8f18..afe9b3b4 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -139,7 +139,7 @@ Uygulamayı çevirmeye yardımcı olmak için buraya tıklayın. Veri monitörü bildirimi devre dışı Bildirim her %1$s güncellenecektir - Veri kullanımı her ayın %1$d%2$s tarihinde sıfırlanacaktır + Veri kullanımı her ayın %1$s tarihinde sıfırlanacaktır Kalan veri bilgisi etkin Kalan veri bilgisi devre dışı Dr.NooB @@ -253,7 +253,7 @@ Koyu tema seçildi Malayalamca %1$s veri kotasını kullandı - Her ayın %1$s%2$s + Her ayın %1$s Uygulamayı F-Droid\'de görüntüle Uygulamaya resmi F-Droid deposunda göz atın Cihaz bilgileri\'ne nelerin dahil olduğunu görme @@ -355,9 +355,8 @@ Veri İzleyici başlatılamadı. Yenilemek için uygulamayı açın. Filtrele Mevcut Plan - %1$s planı etkin %1$s kullanıldı | %2$s - %1$s tarihine kadar geçerli + %1$s tarihine kadar geçerli | %2$s Her zaman toplamı göster Yapılan tüm ayarları göz ardı edip toplam kullanılan veriyi bildirimde her zaman göster. Toplam veri kullanımı: %1$s diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 4b1b7168..033ef4f2 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -1,6 +1,6 @@ - Монітор даних + Data Monitor "ЗРАЗОК" Додати віджет "Мобільні дані : %1$s" @@ -46,9 +46,9 @@ "10 хвилин" "15 хвилин" Налаштувати віджет - 1. На Домашньому екрані натисніть й потримайте на вільній частині + 1. На Головному екрані торкніться й потримайте на вільній частині "Сьогоднішнє використання даних" - Запустити Монітор даних + Запустити Data monitor Налаштувати віджет "Запустити сповіщення" Віджет @@ -63,9 +63,9 @@ Учасники проєкту "Вигляд" "Темний режим" - "Налаштування" + Параметри "Мова" - "Про" + Про застосунок "Ліцензія" "Внесок" "Github" @@ -151,7 +151,7 @@ Невідома помилка. \nБудь ласка, спробуйте ще раз або використовуйте інший спосіб. Віджет буде оновлюватися кожні %1$s - Використання даних буде обнулятися %1$d%2$s числа кожного місяця + Використання даних буде обнулятися %1$s числа кожного місяця Скидання використання даних кожні %1$s при %2$s Інформація про залишок даних увімкнена Інформація про залишок даних відключена @@ -175,7 +175,7 @@ Повідомлення про використання даних застосунку Поточний Доступне - %1$s%2$s кожного місяця + %1$s кожного місяця Дата скидання використання даних Використання системних даних Китайська (традиційна) @@ -249,7 +249,7 @@ У дозволі відмовлено! Вимкнути тактильні відчуття Відхилити - 2 З контекстного меню виберіть пункт \"Віджети\". + 2. Торкніться \"Віджети\". Поточний рівень спрацьовування: %1$s%% Дані недоступні Віджети та/або повідомлення забезпечують легкий доступ до обсягу використовуваних даних @@ -309,8 +309,8 @@ Такі функції, як повідомлення про моніторинг даних, швидкість мережі в реальному часі та повідомлення про використання даних, не працюватимуть належним чином без дозволу на повідомлення. Будь ласка, дозвольте його вручну. Вимкнення тактильного зворотного зв\'язку в застосунку План передачі даних не знайдено! Додайте тарифний план, щоб почати його відстежувати. - 3. Утримуванням перетягніть віджет Монітор даних на головний екран. - Натисніть тут, щоб дізнатися, як зробити свій внесок у Монітор даних. + 3. Утримуванням перетягніть віджет Data Monitor на головний екран. + Натисніть тут, щоб дізнатися, як зробити свій внесок у Data Monitor. Пристроям під управлінням Android версії 9 і нижче, цей дозвіл необхідно надати вручну. Жодні особисті дані збиратися не будуть. Обмеження даних застосунків Журнали аварій; не змінювати @@ -363,12 +363,11 @@ Фільтрувати використання застосунків Фільтр Поточний план - План %1$s активний Загальне використання даних: %1$s Ви спробували виконати дію, яка вимагає дозволу SCHEDULE_EXACT_ALARM, який не надано застосунку. Натисніть тут, щоб надати дозвіл. Для належної роботи Data Monitor потрібен дозвіл SCHEDULE_EXACT_ALARM. Ви все ще можете використовувати застосунок, але деякі функції можуть не працювати належним чином. %1$s використано | %2$s - Дійсний до %1$s + Дійсний до %1$s | %2$s Завжди показувати загальну кількість Завжди показуйте загальну кількість даних, використаних у сповіщенні, незалежно від обраних опцій. Розробник @@ -412,4 +411,44 @@ bonbonboi JungHee Lee U1M450W + З моменту заснування Data Monitor пройшов довгий шлях, і ми не змогли б цього зробити без підтримки наших щедрих донатерів. + Місце, де ми можемо висловити нашу вдячність тим, хто підтримує застосунок. + Розумний розподіл даних + Добовий ліміт даних досягнуто! + Розумно розподіляйте дані, використовуючи щоденні ліміти та перенесення даних. + Щоденне сповіщення про ліміт + Денний ліміт: %1$s + Реза + Індонезійська + Польська + Eryk Michalak + Rintan + Японська + Стіна подяки + Дякую + Учасники застосунку + Дізнайтеся більше + Топ донатерів + Всі донатери + Не вдалося отримати дані + Список дописувачів, які підтримують розробку застосунку. + Отримувати сповіщення, коли ваша денний ліміт буде вичерпано. + Ви вичерпали свій денний ліміт даних. + %1$s день(дні), що залишилися + Eco-Gaming + Українська + Малаялам + Арабська + Detrimental God + Cong Phuc Nguyen + Розробник + zahiruddin rushdi + Малайська + Китайська (спрощена) + В\'єтнамська + chin housin + jonnysemon + Французька + Jean Mareilles + Dan \ No newline at end of file diff --git a/app/src/main/res/values-uz/strings.xml b/app/src/main/res/values-uz/strings.xml index 9901bbf4..ff8a29fa 100644 --- a/app/src/main/res/values-uz/strings.xml +++ b/app/src/main/res/values-uz/strings.xml @@ -140,7 +140,7 @@ Vidjet har %1$s da yangilanadi Bildirishnoma har %1$s da yangilanadi Trafikni har %1$s %2$s da yangilanadi - Trafik har oyning %1$d %2$s sanasida yangilanadi + Trafik har oyning %1$s sanasida yangilanadi Qolgan trafik ma\'lumoti yoqildi Qolgan trafik ma\'lumoti o\'chirildi Nazorat qilishni boshlash uchun trafik rejasini qo\'shing @@ -217,7 +217,7 @@ Ilovani o\'z tilingizga tarjima qilish uchun buyerga bosing. Hozrgi Mavjud - Har oy %1$s%2$s + Har oy %1$s Trafik yangilanish sanasi Tizim trafigi Milliy xitoy diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 849bb84a..b6236ab1 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -1,7 +1,7 @@ Ví dụ - Giám sát Dữ liệu + Data Monitor Thêm tiện ích Dữ liệu di động: %1$s Wi-Fi: %1$s @@ -40,4 +40,434 @@ Cập nhật 0.00 GB còn lại Đang tải ứng dụng + Trung (Phồn thể) + EdwardWu + Việt + ngocanhtve + Turkish + Croxz + Séc + Gói dữ liệu được cập nhật! + Gói mới của bạn có giá trị đến %1$s + Tự động cập nhật gói dữ liệu + Tự động cập nhật gói dữ liệu của bạn với một gói tương tự. + Fjuro + Hiệu lực đến: %1$s | %2$s + Cảm ơn + Giám sát Dữ liệu đã trải qua một chặng đường dài kể từ khi thành lập và chúng tôi không thể làm được điều đó nếu không có sự hỗ trợ của các nhà tài trợ hào phóng. + HinameChan + Hàn + Đã sao chép nhật ký sự cố vào khay nhớ tạm + Người đóng góp ứng dụng + tadekdudek + %1$s đã dùng | %2$s + Gói hiện tại + Mua mình ly cà phê + Quyên góp qua UPI + Lọc + Ba Lan + Đã sao chép địa chỉ ví Monero vào bộ nhớ tạm + Quyên góp qua PayPal + PayPal + Mua mình ly cà phế nhé :) + Bắt đầu vào: %1$s + U1M450W + BHIM-UPI + Thời gian gói không hợp lệ + Marathi + Thỗ Nhĩ Kỳ + Dutch + Graphixx + Uzbek + JungHee Lee + Kết thúc vào: %1$s + Atharv Shinde + bonbonboi + Master2050 + Nhà phát triền + Ả Rập + Tối ưu hóa pin được bật. Điều này sẽ cản trở hoạt động của Giám sát Dữ liệu. + Các tính năng bao gồm Thông báo giám sát dữ liệu, Tốc độ mạng trực tiếp và Cảnh báo sử dụng dữ liệu sẽ không hoạt động bình thường nếu không có quyền thông báo. Vui lòng cấp nó theo cách thủ công. + Tối ưu pin + Chuyển đổi máy chủ chẩn đoán + Gói không hợp lệ! + Vô hiệu hóa xúc giác + Quyền bị từ chối! + Vô hiệu hóa phản hồi xúc giác trên ứng dụng + Bỏ qua + Kết hợp Giám sát dữ liệu và Tốc độ mạng thành một thông báo. + Chọn biểu tượng sẽ hiển thị cho thông báo kết hợp + Tiện ích sẽ được cập nhật mỗi %1$s + Thông báo sẽ được cập nhật mỗi %1$s + Đặt lại dữ liệu sữ dụng mỗi %1$s lúc %2$s + Đã bật thông tin dữ liệu còn lại + Hãy thiết lập gói dữ liệu trước + Thông báo giám sát dữ liệu đã tắt + Dữ liệu sử dụng sẽ được đặt lại vào %1$s của mỗi tháng + ngày + Tắt tối ưu hóa pin + Cảnh báo dữ liệu sử dụng + Bạn đã sử dụng %1$d%% giới hạn dữ liệu của bạn + Không phát hiện kết nói Internet! + Người dịch + Kết nối hiện tại: %1$s + Độ trễ thấp nhất + Đang kiểm tra tốc độ tải xuống + Thông tin mạng + Tốc độ tải xuống tối thiểu + %1$s Mb/s + Tốc độ tải lên trung bình + Địa chỉ IP + %1$s ms + Nhà cung cấp dịch vụ Internet + Độ trễ trung bình + Pháp + Tốc độ mạng: %1$s + %1$s mỗi tháng + Dữ liệu sử dụng của hệ thông + Tải lên: %1$s + Tải xuống: %1$s + Trung (Phồn thể) + Tốc độ mang hiện tại + Đã bật tốc độ mang hiện tại + Phản hồi của bạn được đánh giá cao + Phiên bản hiện tại: %1$s + Phiên bản mới: %1$s + Khám phá xem có gì mới + Có phiên bản mới! + Có một phiên bản mới! + Không thể lấy cập nhật + Đã chọn chủ đề tôi + Bạn đang chạy phiên bản mới nhất. + Tối + Tải xuống cập nhật + Kiểm tra cập nhật + Chủ đề + Chọn chủ đề cho ứng dụng + Sáng + Theo chủ đề thiết bị + Xem các giấy phép của ứng dụng + Luôn hiển thị dữ liệu sử dụng + Đã chọn chủ đề sáng + Đã theo chủ đề thiết bị + Ả-Rập + Chẩn đoán mạng có thể sử dụng khoảng 20–30 MB dữ liệu. Đảm bảo bạn có sẵn dung lượng trong gói của mình, nếu không, phí mạng có thể được áp dụng. + Malayalam + Eryk Michalak + Reza + Ba Lan + Indonesia + Đã đạt giới hạn dữ liệu hằng ngày! + Giới hạn hằng ngày: %1$s + Đang kiểm tra cập nhật… + Một nơi để thể hiện sự đánh giá cao của chúng tôi với những người ủng hộ ứng dụng. + Nhật ký sự cố; Không được thay đổi + Telegram chưa được tải hoặc có một trình khác hiện có. Hãy thử một cách khác. + Chia sẻ lên cuộc trò chuyện: @datamonitor + Lấy dữ liệu thất bại + Lọc dử liệu sử dụng + Ngày + Tháng + Giới hạn dữ liệu + Đặt lại thời gian sử dụng dữ liệu + Giấy phép mã nguồn mở + Chế độ tối + Bật/tắt chế độ tối + Câu hỏi thường gặp, trợ giúp và khắc phục sự cố + Báo cáo lỗi + Báo cáo lỗi hoặc yêu cầu tính năng + Thiết lập + Sử dụng của ứng dụng + Cài đặt + Đã sao chép địa chỉ ví Bitcoin vào bộ nhớ tạm + Đã sao chép địa chỉ ví Ethereum vào bộ nhớ tạm + Đã sao chép địa chỉ ví Litecoin vào bộ nhớ tạm + Ứng dụng hệ thống + Trang chủ + Quyền truy cập sử dụng + Cần thiết để ứng dụng được hoạt động, vì nó thu thập dữ liệu sử dụng của các ứng dụng. +\nKhông có dữ liệu cá nhân nào bị thu thập. + Cho phép truy cập + Điểm phát sóng Internet + Các ứng dụng đã gỡ bỏ + Đã phát hiện MIUI. + Đã tắt tối ưu hóa pin + Đã lưu gói dữ liệu + Hãy cài đặt một ứng dụng có thể làm được việc này trước + Lỗi không rõ. +\nHãy thử lại hoặc thử một cách khác. + Nhấn vào đây để giúp dịch ứng dụng này. + %1$s Hãy kiểm tra các lời khuyên tối ưu hóa để đảm bảo ứng dụng hoạt động tốt nhất. + Đã tắt thông tin dữ liệu còn lại + Thêm một gói dữ liệu để bắt đầu giám sát + Đã tải lại tiện ích + Đã bật thông báo giám sát dữ liệu + Không thể tắt cả 2 loại + Hãy thiết lập thông báo trước + Đã lưu gói dữ liệu + tháng + %1$s đã dùng hết giới hạn hằng ngày + Dữ liệu sử dụng hôm nay: %1$s + Đang tải… + còn lại %1$s + đã dùng %1$s thêm + Giúp ngăn việc tắt Giám sát Dữ liệu khi đang chạy nền. +\nNếu không thì các dữ liệu có thể sẽ không được chính xác. + Các + cài đặt pin OEM + Tiếp theo + Th2 + Th3 + Th4 + Th5 + Th6 + Th7 + Cn + Cảnh báo sử dụng dữ liệu + Giới hạn dữ liệu + Chẩn đoán + Chạy chẩn đoán + Đang chạy chẩn đoán + Đang kết nối + Đang kiểm tra tốc độ tải lên + Đang kiểm tra độ trễ của mạng + Tốc độ tải xuống tối đa + Tốc độ tải xuống trung bình + Tốc độ tải lên tối đa + Máy chủ: %1$s + Máy chủ + Vùng + Vuốt sang phải để xóa + Tải lại danh sách + Thời gian hoạt động: %1$s + Thời gian sử dụng nền: %1$s + Rumani + Trung (Giản thể) + Nhấn vào đây để giúp dịch ứng dụng sang ngôn ngữ của bạn. + Ngôn ngữ hiện tại + Ngôn ngữ hiện có + Ngày đặt lại dữ liệu sử dụng + Đã tắt tốc độ mạng hiện tại + Tính năng beta + Quyền đọc thông tin điện thoại + Các thiết bị chạy Android 9 trở lên phải cấp quyền này thủ công. Không có dữ liệu cá nhân nào bị thu thập. + Đã cấp quyền + Hỗ trợ Telegram + Đã từ chối quyền. Hãy cấp lại thủ công. + Tham gia nhóm hỗ trợ + Đánh giá ứng dụng trên CH Play + Không thể kết nối. +\nHãy đảm bảo rằng bạn đã kết nối Internet. + Ý + Hỗ trợ dịch thuật + Xem ứng dụng trên F-Droid + Kiểm tra ứng dụng trên repo F-Droid chính thức + Nhật ký sập + Thông tin thiết bị + Có vẻ như Giám sát Dữ liệu đã bị lỗi. Bạn có thể gửi báo cáo sự cố cho nhà phát triển để giúp phân tích vấn đề và giải quyết vấn đề nhanh hơn. Nếu không có sự cố xảy ra, vui lòng bỏ qua. + Báo cáo sập + Xem những gì có trong Thông tin thiết bị + Telegram + Mở một vấn đề mới trên Github + Gửi báo cáo sập qua Telegram + Gửi báo cáo sập qua email + Tổng dữ liệu sử dụng: %1$s + Không biêt + Dừng thông báo tốc độ mạng khi không kết nối mạng + Tùy chỉnh + Thời hạn gói + Ngày bắt đầu: %1$s + Ngày kết thúc: %1$s + Đã kích hoạt gói dữ liệu tùy chỉnh + Tự động ẩn tốc độ mạng + Gói dữ liệu đã hết hạn! + Bạn cần cập nhật gói dữ liệu của mình + Nhật ký sự cố Giám sát ứng dụng + Chọn ứng dụng + Nội dung thông tin thiết bị + Thông tin thiết bị bao gồm: +\nNhà sản xuất thiết bị +\nThương hiệu thiết bị +\nMô hình thiết bị +\nTên mã thiết bị +\nPhiên bản Android + Mail + Không tìm thấy nhật ký sự cố. Bạn có chắc chắn đã xảy ra sự cố không\? + Sao chép nhật ký + Chẩn đoán mạng + Máy chủ + Máy chủ tải xuống + Máy chủ tải lên + Máy chủ tùy chỉnh + Nhập đường dẫn tải xuống hoàn chỉnh + Nhập đường dẫn tải lên hoàn chỉnh + Đã lưu tùy chọn máy chủ + Đường dẫn tải xuống không hợp lệ! + Không thể xác minh đường dẫn! Vui lòng thử lại hoặc sử dụng một cái khác. + Gửi báo cáo qua + Không tìm thấy gói dữ liệu! Thêm gói dữ liệu để bắt đầu theo dõi nó. + Chọn ngày bắt đầu + Chọn ngày kết thúc + Kết hợp thông báo + Biểu tượng thông báo kết hợp + Đã bật thông báo kết hợp. Không thể tắt thông báo riêng lẻ. + Mỗi giây + 15 giây + 30 giây + Bật thông báo trên màn hình khóa + Loại trừ ứng dụng + Lưu kết quả chẩn đoán mạng + Lưu kết quả + Lịch sử chẩn đoán + Một lỗi không rõ đã xảy ra. Hãy thử lại. + Xóa + Xóa ứng dụng đã chọn\? + Loại trừ lưu lượng truy cập ứng dụng khỏi việc sử dụng dữ liệu + Thêm ứng dụng + Không có ứng dụng nào được thêm vào. Nhấp vào nút bên dưới để thêm ứng dụng. + Chọn một ứng dụng + Tìm một ứng dụng + Hiện ứng dụng hệ thống + Ẩn ứng dụng Hệ thống + Ứng dụng đã được đặt trước trong danh sách. + Lưu + Trung (phồn thể), Bồ Đào Nha, Pháp, Na Uy Bokmål, Tây Ban Nha, Đức, Rumani, Hàn, Thổ Nhĩ Kỳ, Trung (giản thể), Ukraina, Hindi, Nga, Ả Rập + iqb4lsp + Indonesia + Shailendra Maurya + Hindi, Bhojpuri + Rex_sa + Ả Rập + Kefir2105 + Ukraina + gallegonovato + Tây Ban Nha + Ettore Atalan + Đức + Chọn tất cả + Xóa kết quả đã chọn\? + Data Monitor là một ứng dụng mã nguồn mở và miễn phí và sẽ luôn như vậy :) +\n +\nNếu bạn muốn hỗ trợ sự phát triển của ứng dụng, một khoản đóng góp sẽ được đánh giá rất cao. + Không thể khởi động Giám sát mạng. Mở ứng dụng để làm mới. + Luôn hiển thị tổng dữ liệu được sử dụng trong thông báo bất kể các tùy chọn đã chọn. + Không hiển thị lại + Bạn không thể sử dụng tính năng này nếu không cấp quyền SCHEDULE_EXACT_ALARM. + Dữ liệu sử dụng: %1$s + Quyền báo động bị từ chối! + Bạn đã cố gắng thực hiện một hành động yêu cầu quyền SCHEDULE_EXACT_ALARM, quyền này không được cấp cho ứng dụng. Nhấp vào đây để cấp quyền. + Giám sát dữ liệu yêu cầu quyền SCHEDULE_EXACT_ALARM để hoạt động bình thường. Bạn vẫn có thể sử dụng ứng dụng, nhưng một số tính năng có thể không hoạt động bình thường. + Nhật + Rintan + Bạn đã dùng hết giới hạn dữ liệu hằng ngày. + Nhận thông báo khi hết hạn dữ liệu hàng ngày. + Cảnh báo dữ liệu hằng ngày + Phân bổ dữ liệu của bạn một cách thông minh bằng hạn ngạch hàng ngày và chuyển đổi dữ liệu. + Chuyển đổi dữ liệu thông minh + Danh sách những người đóng góp hỗ trợ phát triển ứng dụng. + Tất cả những người quyên góp + Những người đóng góp lớn nhất + Tìm hiểu thêm + Bức tường cảm ơn + Đang tải… + Không có dữ liệu được ghi nhận + Đặt lại bộ đếm + Nhấn vào đây để tìm hiểu cách để đóng góp tới Giám sát Dữ liệu. + Cấu hình + GB + Mức cảnh bảo dữ liệu + 1. Chạm và giữ một khoảng trống trên màn hình chính. + Không thể tải tổng quan của tuần này. +\nHãy thử lại sau. + Thiết lập thông báo + tiện ích + Thêm gói dữ liệu + Tổng quan tuần này + Chọn thời gian làm mới + 1 phút + 5 phút + 15 phút + 3. Kéo và thả tiện ích Giám sát dữ liệu lên màn hình chính của bạn. + 2 phút + 10 phút + 2. Nhấn vào \"Tiện ích\". + Dữ liệu sử dụng hôm nay + Thiết lập tiện ích + Thêm gói dữ liệu của bạn để bắt đầu theo dõi nó + Thiết lập Giám sát dữ liệu + MB + Làm mới tiện ích nếu nó gặp phải bất kỳ vấn đề nào + Đặt lại dữ liệu + Thiết lập widget + Khoảng thời gian làm mới tiện ích + Tiện ích và/hoặc thông báo cung cấp quyền truy cập dễ dàng vào lượng dữ liệu được sử dụng + Hiển thị mức sử dụng Wi-Fi + Cài đặt chung + Thay đổi ngôn ngữ ứng dụng + 1 phút + Hiển thị thông tin về dữ liệu còn lại + Làm mới tiện ích + Hiển thị mức sử dụng dữ liệu di động + Thông báo khi đạt đến giới hạn dữ liệu + Dr.NooB + Khoảng thời gian làm mới thông báo + Thêm gói dữ liệu + Thêm hoặc cập nhật gói dữ liệu của bạn + Giấy phép ứng dụng + Cảnh báo sử dụng dữ liệu + Thông báo + Giám sát việc sử dụng dữ liệu + Những người đóng góp + Nhà phát triển và thiết kế chính + Ngôn ngữ + Mã nguồn, trợ giúp và hơn thế + Giao diện + Tùy chỉnh + Giới thiệu + Giấy phép + Những người luôn ở đó + Mua cà phê cho chúng tôi nhé\? + Giới hạn dữ liệu + Ủng hộ + Hỗ trợ và phát triển + GitHub + Xem mã nguồn + Chủ đề XDA + %1$s ngày còn lại + Tiếng Mã Lai + Chọn thời gian kết thúc + Ngày + Thêm phiên tùy chỉnh + Nhà phát triển + Tiếng Trung giản thể + Tiếng Việt + Chọn thời gian bắt đầu + Thời lượng phiên không hợp lệ. + Tiếng Pháp + Thời gian + Dan + Theo dõi tất cả việc sử dụng dữ liệu của bạn - tại một nơi + Cài lại + Tiếng Ukraina + Chọn ngày + Bắt đầu + Tiếng Ả Rập + Chào mừng đến với Trình giám sát dữ liệu + Thêm thời gian + Bỏ qua thiết lập + Áp dụng bộ lọc + Eco-Gaming + Detrimental God + Cong Phuc Nguyen + zahiruddin rushdi + Malay + chin housin + jonnysemon + Jean Mareilles + ofermar + Flix + Tiếng Đức + Tiếng Hebrew + xXx + Tiếng Nga \ No newline at end of file diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 3328d619..fb28d9ba 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -136,7 +136,7 @@ 微件将每 %1$s 更新 通知将每 %1$s 更新 数据用量将在每 %1$s %2$s 重置 - 数据用量将在每月的 %1$d%2$s 重置 + 数据用量将在每月的 %1$s 重置 剩余流量信息已启用 剩余流量信息已禁用 添加一个流量使用计划以继续 @@ -208,7 +208,7 @@ 未找到您的语言?点此了解如何帮助我们. 当前语言 可用语言 - 每月 %1$s%2$s + 每月 %1$s 用量重置日期 系统数据用量 繁体中文 译者 @@ -300,7 +300,7 @@ 数据计划已过期! 崩溃日志;不要修改 未安装电报或存在未知客户端。请尝试其他方法。 - 已启用电池优化。这将干扰数据监视器的工作。单击以禁用。 + 已启用电池优化。这将干扰数据监视器的工作。 输入完整的下载网址 权限被拒绝! 设备信息包括: @@ -312,4 +312,8 @@ 自定义服务器 通过以下方式发送报告 服务器首选项已保存 + 合并通知 + 通知已合并图标 + 选择显示合并通知的图标 + 将数据监视器和网络速度合并为一个通知。 \ No newline at end of file diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 9cee0c61..96ff462e 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -140,7 +140,7 @@ 小工具將每 %1$s 更新 通知將每 %1$s 更新 在每 %1$s %2$s 將會重設數據使用量 - 數據使用量會在每個月 %1$d%2$s 被重設 + 數據使用量會在每個月 %1s 被重設 剩餘流量資訊已啟用 剩餘流量資訊已停用 新增一個流量使用計劃以繼續 @@ -216,7 +216,7 @@ 未找到您的語言?點此瞭解如何幫助我們! 當前語言 可用語言 - 每個月 %1$s%2$s + 每個月 %1$s 數據流量重設日期 系統數據使用 繁體中文 @@ -387,9 +387,8 @@ 過濾應用程式使用情況 過濾 目前方案 - %1$s 活躍方案 %1$s 已用 | %2$s - 有效期至 %1$s + 有效期至 %1$s | %2$s 總是顯示總額 無論選擇的選項如何,始終顯示通知中使用的總數據。 總數據使用量:%1$s diff --git a/app/src/main/res/values/links.xml b/app/src/main/res/values/links.xml index d7152e77..618ece9f 100644 --- a/app/src/main/res/values/links.xml +++ b/app/src/main/res/values/links.xml @@ -69,4 +69,9 @@ https://github.com/rezaalmanda https://github.com/gnu-ewm https://github.com/Rintan + https://github.com/TimTCG + https://github.com/Eco-Gaming + https://github.com/zahiruddinRushdi + https://github.com/ofermar + https://github.com/buttercookie42 \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6f665e7c..e31c706a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -144,7 +144,7 @@ Widget will be updated every %1$s Notification will be updated every %1$s Reset data usage every %1$s at %2$s - Data usage will be reset on %1$d%2$s of every month + Data usage will be reset on %1$s of every month Remaining data info enabled Remaining data info disabled Add a data plan to start monitoring @@ -163,6 +163,7 @@ Loading… %1$s remaining %1$s extra used + %1$s day(s) remaining Turn off battery optimisation Prevents killing Data Monitor when running in the background.\nOtherwise values might be incorrect. Extra optimisation tips @@ -221,7 +222,7 @@ Click here to help translate the app into your language. Current Available - %1$s%2$s of every month + %1$s of every month Data usage reset date System data usage Traditional Chinese @@ -433,9 +434,8 @@ Filter App Usage Filter Current Plan - %1$s plan active %1$s used | %2$s - Valid till %1$s + Valid till %1$s | %2$s Always show total Always show total data used in notification irrespective of selected options. Total data usage: %1$s @@ -479,4 +479,46 @@ Eryk Michalak Rintan Japanese + Dan + Ukrainian + jonnysemon + Arabic + Cong Phuc Nguyen + Vietnamese + chin housin + Simplified Chinese + Detrimental God + Malayalam + Eco-Gaming + Developer + zahiruddin rushdi + Malay + Jean Mareilles + French + Add custom session + Date + Time + Select start time + Select end time + Invalid session duration. + Reset + Add time + Apply Filter + Select date + Welcome to Data Monitor + Track all your data usage - at one place + Get started + Skip setup + Flix + German + xXx + Russian + ofermar + Hebrew + Unknown plan active + Monthly plan active + Daily plan active + Custom plan active + buttercookie42 + Developer \ No newline at end of file diff --git a/app/src/main/res/xml/contributors_list.xml b/app/src/main/res/xml/contributors_list.xml index 3e7f0b3c..f522a52f 100644 --- a/app/src/main/res/xml/contributors_list.xml +++ b/app/src/main/res/xml/contributors_list.xml @@ -34,6 +34,32 @@ + + + + + + + + + + + + + android:title="@string/network_signal_notification"/> @@ -189,6 +188,21 @@ android:defaultValue="false" app:isPreferenceVisible="false"/> + + + +