some code improvements
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
package ru.vtosters.lite.music;
|
package ru.vtosters.lite.music;
|
||||||
|
import static java.lang.String.*;
|
||||||
import static java.lang.String.valueOf;
|
import static java.lang.String.valueOf;
|
||||||
import static ru.vtosters.lite.utils.AndroidUtils.MD5;
|
import static ru.vtosters.lite.utils.AndroidUtils.MD5;
|
||||||
import static ru.vtosters.lite.utils.AndroidUtils.edit;
|
import static ru.vtosters.lite.utils.AndroidUtils.edit;
|
||||||
@@ -54,7 +55,7 @@ public class Scrobbler{
|
|||||||
treeMap.put("track[0]", title);
|
treeMap.put("track[0]", title);
|
||||||
treeMap.put("timestamp[0]", valueOf(timestamp));
|
treeMap.put("timestamp[0]", valueOf(timestamp));
|
||||||
treeMap.put("api_key", key);
|
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("api_sig", signMD5(treeMap));
|
||||||
treeMap.put("format", "json");
|
treeMap.put("format", "json");
|
||||||
|
|
||||||
@@ -129,12 +130,13 @@ public class Scrobbler{
|
|||||||
var name = session.getString("name");
|
var name = session.getString("name");
|
||||||
var key = session.getString("key");
|
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);
|
Log.d("Scrobbler", "Auth success as " + name + ", key " + key);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void reset(){
|
public static void logout(){
|
||||||
edit().remove("username").apply();
|
edit().remove("username").apply();
|
||||||
edit().remove("sessionKey").apply();
|
edit().remove("sessionKey").apply();
|
||||||
scrobbled.clear();
|
scrobbled.clear();
|
||||||
|
|||||||
@@ -1,14 +1,11 @@
|
|||||||
package ru.vtosters.lite.ui.fragments;
|
package ru.vtosters.lite.ui.fragments;
|
||||||
|
|
||||||
import static ru.vtosters.lite.music.Scrobbler.isLoggedIn;
|
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.dp2px;
|
||||||
import static ru.vtosters.lite.utils.AndroidUtils.edit;
|
import static ru.vtosters.lite.utils.AndroidUtils.edit;
|
||||||
import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier;
|
import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier;
|
||||||
import static ru.vtosters.lite.utils.AndroidUtils.getPreferences;
|
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.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.getAccentColor;
|
||||||
import static ru.vtosters.lite.utils.ThemesUtils.getAlertStyle;
|
import static ru.vtosters.lite.utils.ThemesUtils.getAlertStyle;
|
||||||
import static ru.vtosters.lite.utils.ThemesUtils.getSTextAttr;
|
import static ru.vtosters.lite.utils.ThemesUtils.getSTextAttr;
|
||||||
@@ -55,7 +52,23 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
|
|||||||
alert.getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(getAccentColor());
|
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 linearLayout = new LinearLayout(ctx);
|
||||||
linearLayout.setOrientation(LinearLayout.VERTICAL);
|
linearLayout.setOrientation(LinearLayout.VERTICAL);
|
||||||
|
|
||||||
@@ -106,22 +119,16 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
|
|||||||
findPreference("dateformat").setOnPreferenceChangeListener(new MediaFragment.restart());
|
findPreference("dateformat").setOnPreferenceChangeListener(new MediaFragment.restart());
|
||||||
findPreference("lastfm_auth").setOnPreferenceClickListener(preference -> {
|
findPreference("lastfm_auth").setOnPreferenceClickListener(preference -> {
|
||||||
if (isLoggedIn()) {
|
if (isLoggedIn()) {
|
||||||
sendToast("Вы уже авторизованы");
|
logout(getContext());
|
||||||
} else {
|
} else {
|
||||||
lastfmAuth(getContext());
|
lastfmAuth(getContext());
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
findPreference("lastfm_reset").setOnPreferenceClickListener(preference -> {
|
|
||||||
Scrobbler.reset();
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
|
|
||||||
if (isLoggedIn()) {
|
if (isLoggedIn()) {
|
||||||
findPreference("lastfm_auth").setSummary("Вы авторизованы как " + Scrobbler.getUserName());
|
findPreference("lastfm_auth").setSummary("Вы авторизованы как " + Scrobbler.getUserName());
|
||||||
findPreference("lastfm_auth").setEnabled(false);
|
|
||||||
} else {
|
} else {
|
||||||
findPreference("lastfm_reset").setEnabled(false);
|
|
||||||
findPreference("lastfm_enabled").setEnabled(false);
|
findPreference("lastfm_enabled").setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,21 +156,7 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
private class download implements Preference.OnPreferenceClickListener {
|
||||||
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 {
|
|
||||||
@Override // android.support.v7.preference.Preference.c
|
@Override // android.support.v7.preference.Preference.c
|
||||||
public boolean onPreferenceClick(Preference preference) {
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
download(getActivity());
|
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
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object o) {
|
public boolean onPreferenceChange(Preference preference, Object o) {
|
||||||
edit().putString("dateformat", o.toString()).commit();
|
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.tgs.TGPref.setTGBotKey;
|
||||||
import static ru.vtosters.lite.utils.AndroidUtils.dp2px;
|
import static ru.vtosters.lite.utils.AndroidUtils.dp2px;
|
||||||
import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier;
|
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.getAccentColor;
|
||||||
import static ru.vtosters.lite.utils.ThemesUtils.getSTextAttr;
|
import static ru.vtosters.lite.utils.ThemesUtils.getSTextAttr;
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.app.ProgressDialog;
|
import android.app.ProgressDialog;
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
@@ -40,7 +42,6 @@ import com.vk.navigation.Navigator;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
import ru.vtosters.lite.tgs.TGPref;
|
import ru.vtosters.lite.tgs.TGPref;
|
||||||
import ru.vtosters.lite.ui.PreferencesUtil;
|
|
||||||
import ru.vtosters.lite.ui.adapters.StickerPackAdapter;
|
import ru.vtosters.lite.ui.adapters.StickerPackAdapter;
|
||||||
import ru.vtosters.lite.ui.fragments.BaseToolbarFragment;
|
import ru.vtosters.lite.ui.fragments.BaseToolbarFragment;
|
||||||
import ru.vtosters.lite.utils.AndroidUtils;
|
import ru.vtosters.lite.utils.AndroidUtils;
|
||||||
@@ -54,11 +55,10 @@ public class StickersFragment extends BaseToolbarFragment {
|
|||||||
public int to;
|
public int to;
|
||||||
private TelegramStickersGrabber mGrabber;
|
private TelegramStickersGrabber mGrabber;
|
||||||
private TelegramStickersService mService;
|
private TelegramStickersService mService;
|
||||||
private FloatingActionButton mAddStickerPack;
|
|
||||||
private RecyclerView mRecycler;
|
|
||||||
private StickerPackAdapter mAdapter;
|
private StickerPackAdapter mAdapter;
|
||||||
private boolean movePending = false;
|
private boolean movePending = false;
|
||||||
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
|
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
|
||||||
|
@SuppressLint("NotifyDataSetChanged")
|
||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
if (intent.getAction().equals(ACTION_RELOAD)) {
|
if (intent.getAction().equals(ACTION_RELOAD)) {
|
||||||
@@ -84,7 +84,7 @@ public class StickersFragment extends BaseToolbarFragment {
|
|||||||
protected void onCreateMenu(Menu menu) {
|
protected void onCreateMenu(Menu menu) {
|
||||||
var item = menu.add(0, 0, 0, "");
|
var item = menu.add(0, 0, 0, "");
|
||||||
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
|
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);
|
super.onCreateMenu(menu);
|
||||||
}
|
}
|
||||||
@@ -120,12 +120,12 @@ public class StickersFragment extends BaseToolbarFragment {
|
|||||||
FrameLayout layout = new FrameLayout(getContext());
|
FrameLayout layout = new FrameLayout(getContext());
|
||||||
|
|
||||||
mAdapter = new StickerPackAdapter();
|
mAdapter = new StickerPackAdapter();
|
||||||
mRecycler = new RecyclerView(getContext());
|
RecyclerView mRecycler = new RecyclerView(getContext());
|
||||||
mRecycler.setAdapter(mAdapter);
|
mRecycler.setAdapter(mAdapter);
|
||||||
mRecycler.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
|
mRecycler.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
|
||||||
layout.addView(mRecycler, new ViewGroup.LayoutParams(-1, -1));
|
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.setImageResource(getIdentifier("ic_add_24", "drawable"));
|
||||||
mAddStickerPack.setBackgroundTintList(ColorStateList.valueOf(getAccentColor()));
|
mAddStickerPack.setBackgroundTintList(ColorStateList.valueOf(getAccentColor()));
|
||||||
mAddStickerPack.setOnClickListener(v2 -> fabClick());
|
mAddStickerPack.setOnClickListener(v2 -> fabClick());
|
||||||
@@ -182,10 +182,17 @@ public class StickersFragment extends BaseToolbarFragment {
|
|||||||
dlg.setView(linearLayout);
|
dlg.setView(linearLayout);
|
||||||
dlg.setPositiveButton(android.R.string.ok, (dialog, which) -> {
|
dlg.setPositiveButton(android.R.string.ok, (dialog, which) -> {
|
||||||
String pack = editText.getText().toString();
|
String pack = editText.getText().toString();
|
||||||
|
if (!pack.startsWith("https://")) {
|
||||||
|
pack = "https://" + pack;
|
||||||
|
} else if (!pack.contains("addstickers")) {
|
||||||
|
sendToast("Invalid pack name");
|
||||||
|
}
|
||||||
pack = parsePack(pack);
|
pack = parsePack(pack);
|
||||||
mService.requestPackDownload(pack, new File(getContext().getFilesDir(), new File("VT-Stickers", pack).getAbsolutePath()));
|
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();
|
var alert = dlg.create();
|
||||||
|
|
||||||
@@ -247,9 +254,10 @@ public class StickersFragment extends BaseToolbarFragment {
|
|||||||
setTGBotKey(editText.getText().toString());
|
setTGBotKey(editText.getText().toString());
|
||||||
if (r != null) r.run();
|
if (r != null) r.run();
|
||||||
});
|
});
|
||||||
dlg.setNegativeButton(android.R.string.cancel, null)
|
dlg.setNegativeButton(android.R.string.cancel, (dialog, which) -> {
|
||||||
.setNeutralButton(AndroidUtils.getString("stickersapi7"),
|
dialog.dismiss();
|
||||||
(dialog, which) -> alert.show());
|
});
|
||||||
|
dlg.setNeutralButton(AndroidUtils.getString("stickersapi7"), (dialog, which) -> alert.show());
|
||||||
var alerts = dlg.create();
|
var alerts = dlg.create();
|
||||||
|
|
||||||
alerts.show();
|
alerts.show();
|
||||||
|
|||||||
@@ -46,9 +46,6 @@
|
|||||||
android:key="lastfm_enabled"
|
android:key="lastfm_enabled"
|
||||||
android:summary="Полезный сервис по учету прослушивания песен"
|
android:summary="Полезный сервис по учету прослушивания песен"
|
||||||
android:title="Включить скробблинг" />
|
android:title="Включить скробблинг" />
|
||||||
<Preference
|
|
||||||
android:key="lastfm_reset"
|
|
||||||
android:title="Выйти из аккаунта" />
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
<PreferenceCategory android:title="Музыка">
|
<PreferenceCategory android:title="Музыка">
|
||||||
<com.vtosters.lite.ui.MaterialSwitchPreference
|
<com.vtosters.lite.ui.MaterialSwitchPreference
|
||||||
|
|||||||
Reference in New Issue
Block a user