some code improvements
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user