From c7621c44d5ad3729a7aa225caf89f9b230298ac1 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sun, 31 Jul 2022 18:27:39 +0300 Subject: [PATCH] video history delete --- .../lite/ui/fragments/MediaFragment.java | 36 +++++++++++++++++++ smali/res/xml/preferences_media.xml | 4 +++ 2 files changed, 40 insertions(+) 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 a7247536d..2c8b6f9bc 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,10 +1,12 @@ package ru.vtosters.lite.ui.fragments; import static ru.vtosters.lite.music.Scrobbler.isLoggedIn; +import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; 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.ThemesUtils.getAccentColor; import static ru.vtosters.lite.utils.ThemesUtils.getAlertStyle; @@ -15,6 +17,7 @@ import android.content.Context; import android.content.DialogInterface; import android.content.res.ColorStateList; import android.os.Bundle; +import android.util.Log; import android.view.LayoutInflater; import android.view.ViewGroup; import android.widget.EditText; @@ -25,10 +28,15 @@ import androidx.appcompat.app.AlertDialog; import androidx.preference.Preference; import com.vk.core.dialogs.alert.VkAlertDialog; +import com.vk.core.network.Network; import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; +import java.io.IOException; import java.util.Arrays; +import okhttp3.Headers; +import okhttp3.OkHttpClient; +import okhttp3.Request; import ru.vtosters.lite.downloaders.VideoDownloader; import ru.vtosters.lite.music.Scrobbler; import ru.vtosters.lite.ui.adapters.ImagineArrayAdapter; @@ -107,6 +115,30 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment { alert.getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(getAccentColor()); } + public static void deleteVideoHistory() { + Thread thread = new Thread(() -> { + try { + var request = new Request.a() + .b("https://api.vk.com/method/" + "video.clearViewingHistoryRecords" + "?https=1" + "&access_token=" + getUserToken() + "&v=5.187") + .a(Headers.a("User-Agent", Network.l.c().a(), "Content-Type", "application/x-www-form-urlencoded; charset=utf-8")) + .a(); + + try { + var response = new OkHttpClient().a(request).execute().a().g(); + Log.d("VideoHistory", response); + } catch (IOException e) { + e.printStackTrace(); + } + } catch (Exception e) { + e.printStackTrace(); + } + }); + + thread.start(); + + sendToast("История просмотра видео очищена"); + } + @Override public void onCreate(Bundle bundle) { super.onCreate(bundle); @@ -116,6 +148,10 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment { private void prefs() { findPreference("download_video").setOnPreferenceClickListener(new MediaFragment.download()); + findPreference("clearvideohistory").setOnPreferenceClickListener(preference -> { + deleteVideoHistory(); + return true; + }); findPreference("dateformat").setOnPreferenceChangeListener(new MediaFragment.restart()); findPreference("lastfm_auth").setOnPreferenceClickListener(preference -> { if (isLoggedIn()) { diff --git a/smali/res/xml/preferences_media.xml b/smali/res/xml/preferences_media.xml index 8c86009d1..4260ce02a 100644 --- a/smali/res/xml/preferences_media.xml +++ b/smali/res/xml/preferences_media.xml @@ -80,6 +80,10 @@ android:key="__dbg_disable_video_feed" android:summary="@string/interfacevideorecsum" android:title="@string/interfacevideorec" /> +