refactored video alert adapter
This commit is contained in:
@@ -4,12 +4,17 @@ import static ru.vtosters.lite.net.Request.makeRequest;
|
|||||||
import static ru.vtosters.lite.proxy.ProxyUtils.getApi;
|
import static ru.vtosters.lite.proxy.ProxyUtils.getApi;
|
||||||
import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken;
|
import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken;
|
||||||
import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext;
|
import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext;
|
||||||
|
import static ru.vtosters.lite.utils.ThemesUtils.getTextAttr;
|
||||||
|
|
||||||
import android.app.DownloadManager;
|
import android.app.DownloadManager;
|
||||||
import android.app.ProgressDialog;
|
import android.app.ProgressDialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.vk.core.dialogs.alert.VkAlertDialog;
|
import com.vk.core.dialogs.alert.VkAlertDialog;
|
||||||
@@ -27,6 +32,7 @@ import java.util.List;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
import ru.vtosters.lite.utils.ExternalLinkParser;
|
import ru.vtosters.lite.utils.ExternalLinkParser;
|
||||||
|
import ru.vtosters.lite.utils.LifecycleUtils;
|
||||||
|
|
||||||
public class VideoDownloader {
|
public class VideoDownloader {
|
||||||
private static final int DOWNLOAD_ID = 0;
|
private static final int DOWNLOAD_ID = 0;
|
||||||
@@ -97,29 +103,28 @@ public class VideoDownloader {
|
|||||||
max[i] = list.get(i);
|
max[i] = list.get(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (context == null) {
|
if (context == null) context = LifecycleUtils.getCurrentActivity();
|
||||||
var url = urls.get(urls.size() - 1);
|
|
||||||
|
|
||||||
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
|
var adapter = new ArrayAdapter(context, android.R.layout.simple_list_item_1, max) {
|
||||||
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
|
@Override
|
||||||
request.setTitle(videoFile.toString());
|
public View getView(int position, View convertView, ViewGroup parent) {
|
||||||
request.allowScanningByMediaScanner();
|
TextView textView = (TextView) super.getView(position, convertView, parent);
|
||||||
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_MOVIES, videoFile + ".mp4");
|
textView.setTextColor(getTextAttr());
|
||||||
((DownloadManager) getGlobalContext().getSystemService(Context.DOWNLOAD_SERVICE)).enqueue(request);
|
return textView;
|
||||||
return;
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
new VkAlertDialog.Builder(context)
|
new VkAlertDialog.Builder(context)
|
||||||
.setItems(max, ((dialog, which) -> {
|
.setAdapter(adapter, (dialog, which) -> {
|
||||||
var url = urls.get(which);
|
var url = urls.get(which);
|
||||||
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
|
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
|
||||||
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
|
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
|
||||||
request.setTitle(videoFile.toString());
|
request.setTitle(videoFile.toString());
|
||||||
request.allowScanningByMediaScanner();
|
request.allowScanningByMediaScanner();
|
||||||
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_MOVIES, videoFile + ".mp4");
|
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_MOVIES, videoFile + ".mp4");
|
||||||
((DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE)).enqueue(request);
|
((DownloadManager) getGlobalContext().getSystemService(Context.DOWNLOAD_SERVICE)).enqueue(request);
|
||||||
}))
|
})
|
||||||
.show();
|
.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void parseVideoLink(String url, Context ctx) {
|
public static void parseVideoLink(String url, Context ctx) {
|
||||||
|
|||||||
Reference in New Issue
Block a user