some code improvements

This commit is contained in:
gdlbo
2022-07-28 11:46:08 +03:00
parent ab26bab35d
commit 842130628e
4 changed files with 43 additions and 43 deletions
@@ -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();
@@ -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();
@@ -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();
-3
View File
@@ -46,9 +46,6 @@
android:key="lastfm_enabled"
android:summary="Полезный сервис по учету прослушивания песен"
android:title="Включить скробблинг" />
<Preference
android:key="lastfm_reset"
android:title="Выйти из аккаунта" />
</PreferenceCategory>
<PreferenceCategory android:title="Музыка">
<com.vtosters.lite.ui.MaterialSwitchPreference