From bdb9dc670cd6ebf953b5594e0cad9e5ffb9b4303 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Thu, 28 Jul 2022 11:46:08 +0300 Subject: [PATCH] some code improvements --- .../ru/vtosters/lite/music/Scrobbler.java | 8 ++-- .../lite/ui/fragments/MediaFragment.java | 47 ++++++++----------- .../tgstickers/StickersFragment.java | 28 +++++++---- smali/res/xml/preferences_media.xml | 3 -- 4 files changed, 43 insertions(+), 43 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/music/Scrobbler.java b/app/src/main/java/ru/vtosters/lite/music/Scrobbler.java index 21b742828..4be8fa7e6 100644 --- a/app/src/main/java/ru/vtosters/lite/music/Scrobbler.java +++ b/app/src/main/java/ru/vtosters/lite/music/Scrobbler.java @@ -1,4 +1,5 @@ package ru.vtosters.lite.music; +import static java.lang.String.*; import static java.lang.String.valueOf; import static ru.vtosters.lite.utils.AndroidUtils.MD5; import static ru.vtosters.lite.utils.AndroidUtils.edit; @@ -54,7 +55,7 @@ public class Scrobbler{ treeMap.put("track[0]", title); treeMap.put("timestamp[0]", valueOf(timestamp)); treeMap.put("api_key", key); - treeMap.put("duration[0]", String.valueOf(duration)); + treeMap.put("duration[0]", valueOf(duration)); treeMap.put("api_sig", signMD5(treeMap)); treeMap.put("format", "json"); @@ -129,12 +130,13 @@ public class Scrobbler{ var name = session.getString("name"); var key = session.getString("key"); - getDefaultPrefs().edit().putString("username", name).putString("sessionKey", key).apply(); + getDefaultPrefs().edit().putString("username", name). + putString("sessionKey", key).apply(); Log.d("Scrobbler", "Auth success as " + name + ", key " + key); } - public static void reset(){ + public static void logout(){ edit().remove("username").apply(); edit().remove("sessionKey").apply(); scrobbled.clear(); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java index f2a376feb..a7247536d 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java @@ -1,14 +1,11 @@ package ru.vtosters.lite.ui.fragments; import static ru.vtosters.lite.music.Scrobbler.isLoggedIn; -import static ru.vtosters.lite.ui.PreferencesUtil.getSTextColor; import static ru.vtosters.lite.utils.AndroidUtils.dp2px; import static ru.vtosters.lite.utils.AndroidUtils.edit; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; -import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer; -import static ru.vtosters.lite.utils.Preferences.offline; import static ru.vtosters.lite.utils.ThemesUtils.getAccentColor; import static ru.vtosters.lite.utils.ThemesUtils.getAlertStyle; import static ru.vtosters.lite.utils.ThemesUtils.getSTextAttr; @@ -55,7 +52,23 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment { alert.getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(getAccentColor()); } - public void lastfmAuth(Context ctx) { + private void logout(Context ctx) { + VkAlertDialog.Builder alertDialog = new VkAlertDialog.Builder(ctx); + alertDialog.setTitle("Вы уверены?"); + alertDialog.setMessage("Вы действительно хотите выйти из аккаунта?"); + alertDialog.setPositiveButton("Да", (dialog, which) -> { + Scrobbler.logout(); + }); + alertDialog.setNeutralButton("Нет", (dialog, which) -> { + dialog.cancel(); + }); + var alert = alertDialog.create(); + alert.show(); + alert.getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(getAccentColor()); + alert.getButton(DialogInterface.BUTTON_NEUTRAL).setTextColor(getResources().getColor(com.vtosters.lite.R.color.red)); + } + + private void lastfmAuth(Context ctx) { LinearLayout linearLayout = new LinearLayout(ctx); linearLayout.setOrientation(LinearLayout.VERTICAL); @@ -106,22 +119,16 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment { findPreference("dateformat").setOnPreferenceChangeListener(new MediaFragment.restart()); findPreference("lastfm_auth").setOnPreferenceClickListener(preference -> { if (isLoggedIn()) { - sendToast("Вы уже авторизованы"); + logout(getContext()); } else { lastfmAuth(getContext()); } return true; }); - findPreference("lastfm_reset").setOnPreferenceClickListener(preference -> { - Scrobbler.reset(); - return true; - }); if (isLoggedIn()) { findPreference("lastfm_auth").setSummary("Вы авторизованы как " + Scrobbler.getUserName()); - findPreference("lastfm_auth").setEnabled(false); } else { - findPreference("lastfm_reset").setEnabled(false); findPreference("lastfm_enabled").setEnabled(false); } @@ -149,21 +156,7 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment { }); } - @Override - public boolean onPreferenceTreeClick(Preference preference) { - - if (isLoggedIn()) { - findPreference("lastfm_auth").setSummary("Вы авторизованы как " + Scrobbler.getUserName()); - findPreference("lastfm_auth").setEnabled(false); - } else { - findPreference("lastfm_reset").setEnabled(false); - findPreference("lastfm_enabled").setEnabled(false); - } - - return super.onPreferenceTreeClick(preference); - } - - public class download implements Preference.OnPreferenceClickListener { + private class download implements Preference.OnPreferenceClickListener { @Override // android.support.v7.preference.Preference.c public boolean onPreferenceClick(Preference preference) { download(getActivity()); @@ -171,7 +164,7 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment { } } - public static class restart implements Preference.OnPreferenceChangeListener { + private static class restart implements Preference.OnPreferenceChangeListener { @Override public boolean onPreferenceChange(Preference preference, Object o) { edit().putString("dateformat", o.toString()).commit(); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/tgstickers/StickersFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/tgstickers/StickersFragment.java index 4f539e3c3..d3bb91c90 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/tgstickers/StickersFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/tgstickers/StickersFragment.java @@ -5,9 +5,11 @@ import static android.widget.Toast.makeText; import static ru.vtosters.lite.tgs.TGPref.setTGBotKey; import static ru.vtosters.lite.utils.AndroidUtils.dp2px; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; +import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import static ru.vtosters.lite.utils.ThemesUtils.getAccentColor; import static ru.vtosters.lite.utils.ThemesUtils.getSTextAttr; +import android.annotation.SuppressLint; import android.app.AlertDialog; import android.app.ProgressDialog; import android.content.BroadcastReceiver; @@ -40,7 +42,6 @@ import com.vk.navigation.Navigator; import java.io.File; import ru.vtosters.lite.tgs.TGPref; -import ru.vtosters.lite.ui.PreferencesUtil; import ru.vtosters.lite.ui.adapters.StickerPackAdapter; import ru.vtosters.lite.ui.fragments.BaseToolbarFragment; import ru.vtosters.lite.utils.AndroidUtils; @@ -54,11 +55,10 @@ public class StickersFragment extends BaseToolbarFragment { public int to; private TelegramStickersGrabber mGrabber; private TelegramStickersService mService; - private FloatingActionButton mAddStickerPack; - private RecyclerView mRecycler; private StickerPackAdapter mAdapter; private boolean movePending = false; private final BroadcastReceiver mReceiver = new BroadcastReceiver() { + @SuppressLint("NotifyDataSetChanged") @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(ACTION_RELOAD)) { @@ -84,7 +84,7 @@ public class StickersFragment extends BaseToolbarFragment { protected void onCreateMenu(Menu menu) { var item = menu.add(0, 0, 0, ""); item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); - item.setIcon(getResources().getDrawable(getIdentifier("ic_settings_24", "drawable"))); + item.setIcon(getIdentifier("ic_settings_24", "drawable")); super.onCreateMenu(menu); } @@ -120,12 +120,12 @@ public class StickersFragment extends BaseToolbarFragment { FrameLayout layout = new FrameLayout(getContext()); mAdapter = new StickerPackAdapter(); - mRecycler = new RecyclerView(getContext()); + RecyclerView mRecycler = new RecyclerView(getContext()); mRecycler.setAdapter(mAdapter); mRecycler.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)); layout.addView(mRecycler, new ViewGroup.LayoutParams(-1, -1)); - mAddStickerPack = new FloatingActionButton(getContext()); + FloatingActionButton mAddStickerPack = new FloatingActionButton(getContext()); mAddStickerPack.setImageResource(getIdentifier("ic_add_24", "drawable")); mAddStickerPack.setBackgroundTintList(ColorStateList.valueOf(getAccentColor())); mAddStickerPack.setOnClickListener(v2 -> fabClick()); @@ -182,10 +182,17 @@ public class StickersFragment extends BaseToolbarFragment { dlg.setView(linearLayout); dlg.setPositiveButton(android.R.string.ok, (dialog, which) -> { String pack = editText.getText().toString(); + if (!pack.startsWith("https://")) { + pack = "https://" + pack; + } else if (!pack.contains("addstickers")) { + sendToast("Invalid pack name"); + } pack = parsePack(pack); mService.requestPackDownload(pack, new File(getContext().getFilesDir(), new File("VT-Stickers", pack).getAbsolutePath())); }); - dlg.setNeutralButton(android.R.string.cancel, null); + dlg.setNeutralButton(android.R.string.cancel, (dialog, which) -> { + dialog.dismiss(); + }); var alert = dlg.create(); @@ -247,9 +254,10 @@ public class StickersFragment extends BaseToolbarFragment { setTGBotKey(editText.getText().toString()); if (r != null) r.run(); }); - dlg.setNegativeButton(android.R.string.cancel, null) - .setNeutralButton(AndroidUtils.getString("stickersapi7"), - (dialog, which) -> alert.show()); + dlg.setNegativeButton(android.R.string.cancel, (dialog, which) -> { + dialog.dismiss(); + }); + dlg.setNeutralButton(AndroidUtils.getString("stickersapi7"), (dialog, which) -> alert.show()); var alerts = dlg.create(); alerts.show(); diff --git a/smali/res/xml/preferences_media.xml b/smali/res/xml/preferences_media.xml index 18f994798..8c86009d1 100644 --- a/smali/res/xml/preferences_media.xml +++ b/smali/res/xml/preferences_media.xml @@ -46,9 +46,6 @@ android:key="lastfm_enabled" android:summary="Полезный сервис по учету прослушивания песен" android:title="Включить скробблинг" /> -