This commit is contained in:
FongMi 2023-05-01 23:02:16 +08:00
parent 0d53046476
commit 9d9704d3c2
6 changed files with 26 additions and 28 deletions

View File

@ -1,9 +1,7 @@
package com.github.catvod.ali; package com.github.catvod.ali;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.content.ComponentName;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.os.SystemClock; import android.os.SystemClock;
@ -23,7 +21,6 @@ import com.github.catvod.bean.ali.Sorter;
import com.github.catvod.bean.ali.User; import com.github.catvod.bean.ali.User;
import com.github.catvod.crawler.SpiderDebug; import com.github.catvod.crawler.SpiderDebug;
import com.github.catvod.net.OkHttp; import com.github.catvod.net.OkHttp;
import com.github.catvod.spider.Ctx;
import com.github.catvod.spider.Init; import com.github.catvod.spider.Init;
import com.github.catvod.spider.Proxy; import com.github.catvod.spider.Proxy;
import com.github.catvod.utils.Prefers; import com.github.catvod.utils.Prefers;
@ -34,7 +31,13 @@ import org.json.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.util.*; import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -143,6 +146,8 @@ public class API {
private boolean isManyRequest(String result) { private boolean isManyRequest(String result) {
if (!result.contains("Too Many Requests")) return false; if (!result.contains("Too Many Requests")) return false;
Init.show("洗洗睡吧Too Many Requests。"); Init.show("洗洗睡吧Too Many Requests。");
oauth.clean().save();
user.clean().save();
return true; return true;
} }
@ -353,7 +358,6 @@ public class API {
SpiderDebug.log(json); SpiderDebug.log(json);
return new JSONObject(json).getString("url"); return new JSONObject(json).getString("url");
} catch (Exception e) { } catch (Exception e) {
Init.execute(this::deleteAll);
e.printStackTrace(); e.printStackTrace();
return ""; return "";
} finally { } finally {
@ -375,7 +379,6 @@ public class API {
JSONArray taskList = new JSONObject(json).getJSONObject("video_preview_play_info").getJSONArray("live_transcoding_task_list"); JSONArray taskList = new JSONObject(json).getJSONObject("video_preview_play_info").getJSONArray("live_transcoding_task_list");
return getPreviewQuality(taskList, flag); return getPreviewQuality(taskList, flag);
} catch (Exception e) { } catch (Exception e) {
Init.execute(this::deleteAll);
e.printStackTrace(); e.printStackTrace();
return ""; return "";
} finally { } finally {
@ -432,8 +435,13 @@ public class API {
} }
private void getQRCode() { private void getQRCode() {
Data data = Data.objectFrom(OkHttp.string("https://passport.aliyundrive.com/newlogin/qrcode/generate.do?appName=aliyun_drive&fromSite=52&appName=aliyun_drive&appEntrance=web&isMobile=false&lang=zh_CN&returnUrl=&bizParams=&_bx-v=2.2.3")).getContent().getData(); if (Utils.isMobile()) {
Init.run(() -> showQRCode(data)); user.setRefreshToken(refreshToken);
refreshAccessToken();
} else {
Data data = Data.objectFrom(OkHttp.string("https://passport.aliyundrive.com/newlogin/qrcode/generate.do?appName=aliyun_drive&fromSite=52&appName=aliyun_drive&appEntrance=web&isMobile=false&lang=zh_CN&returnUrl=&bizParams=&_bx-v=2.2.3")).getContent().getData();
Init.run(() -> showQRCode(data));
}
} }
private void showQRCode(Data data) { private void showQRCode(Data data) {
@ -449,9 +457,6 @@ public class API {
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
Init.execute(() -> startService(data.getParams())); Init.execute(() -> startService(data.getParams()));
Init.show("請使用阿里雲盤 App 掃描二維碼"); Init.show("請使用阿里雲盤 App 掃描二維碼");
Intent intent = new Intent().setComponent(new ComponentName(new Ctx(Init.context()), "com.alicloud.databox.biz.scan.CustomizeCaptureActivity"));
intent.putExtra("qr_scan_result", data.getCodeContent());
Init.getActivity().startActivity(intent);
} catch (Exception ignored) { } catch (Exception ignored) {
} }
} }

View File

@ -44,6 +44,10 @@ public class User {
return TextUtils.isEmpty(refreshToken) ? "" : refreshToken; return TextUtils.isEmpty(refreshToken) ? "" : refreshToken;
} }
public void setRefreshToken(String refreshToken) {
this.refreshToken = refreshToken;
}
public String getAuthorization() { public String getAuthorization() {
return getTokenType() + " " + getAccessToken(); return getTokenType() + " " + getAccessToken();
} }

View File

@ -1,16 +0,0 @@
package com.github.catvod.spider;
import android.content.Context;
import android.content.ContextWrapper;
public class Ctx extends ContextWrapper {
public Ctx(Context base) {
super(base);
}
@Override
public String getPackageName() {
return "com.alicloud.databox";
}
}

View File

@ -1,5 +1,6 @@
package com.github.catvod.utils; package com.github.catvod.utils;
import android.content.pm.PackageManager;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.util.DisplayMetrics; import android.util.DisplayMetrics;
@ -33,6 +34,10 @@ public class Utils {
return Sniffer.RULE.matcher(url).find(); return Sniffer.RULE.matcher(url).find();
} }
public static boolean isMobile() {
return Init.context().getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY);
}
public static boolean isSub(String ext) { public static boolean isSub(String ext) {
return ext.equals("srt") || ext.equals("ass") || ext.equals("ssa"); return ext.equals("srt") || ext.equals("ass") || ext.equals("ssa");
} }

Binary file not shown.

View File

@ -1 +1 @@
aedbadb415514ba8de16bf26957fda52 a50f5026c571ca789721f21e88056bcf