123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- package com.taiyi.tyusbsdk.pulse;
- import android.annotation.SuppressLint;
- import android.app.Activity;
- import android.app.Application;
- import android.content.Context;
- import android.content.Intent;
- import android.os.Build;
- import androidx.annotation.Nullable;
- import com.taiyi.tyusbsdk.ResultListener;
- import com.taiyi.tyusbsdk.pulse.net.HttpImpl;
- import com.taiyi.tyusbsdk.pulse.net.HttpUtil;
- import com.taiyi.tyusbsdk.pulse.ui.SuccessActivity;
- import com.taiyi.tyusbsdk.pulse.util.AppManager;
- import org.greenrobot.eventbus.EventBus;
- import java.lang.reflect.Constructor;
- import java.lang.reflect.Field;
- import java.lang.reflect.Method;
- /**
- * Created by zbh on 2021/11/23.
- * Version: 1.0
- */
- public class TaiyiManager {
- private String appId;
- private String appSecret;
- private String uid;
- private static TaiyiManager instance;
- private static TaiyiConfig _config;
- private Context context;
- public static final int CAPTURE_REQUEST = 10101;
- public static final String CAPTURE_IMG_PATH = "img_path";
- private String pulseResult;
- private String pulseReport;
- private ResultListener mResultListener;
- public void setResultListener(ResultListener listener) {
- mResultListener = listener;
- }
- public String getPulseReport() {
- return pulseReport;
- }
- public void setPulseReport(String pulseReport) {
- this.pulseReport = pulseReport;
- }
- public String getPulseResult() {
- return pulseResult;
- }
- public void setPulseResult(String pulseResult) {
- this.pulseResult = pulseResult;
- }
- public void onResult(String pr,String measureId,String reportData) {
- if (mResultListener != null) {
- mResultListener.onResult(pr, measureId,reportData);
- }
- }
- public void onSkip() {
- if (mSkipInterface != null) {
- mSkipInterface.onSkip();
- }
- }
- public String getUrl(String measureId) {
- return "https://hybrid.reborn-tech.com/report.html#/?mid=" + measureId + "&access_session=" + HttpUtil.AuthorizationValue + "&appId=" + appId;
- }
- public void getAsyncUrl(String measureId, final HttpImpl<String> callback) {
- HttpUtil.getInstance().webViewCheck(new HttpImpl<String>() {
- @Override
- public void showError(String error) {
- callback.showError(error);
- }
- @Override
- public void showResponse(String response) {
- HttpUtil.AuthorizationValue = response;
- callback.showResponse(getUrl(measureId));
- }
- });
- }
- private TaiyiManager() {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
- closeAndroid10Dialog();
- }
- }
- @SuppressLint({"SoonBlockedPrivateApi", "PrivateApi", "DiscouragedPrivateApi"})
- private void closeAndroid10Dialog() {
- try {
- Class aClass = Class.forName("android.content.pm.PackageParser$Package");
- Constructor declaredConstructor = aClass.getDeclaredConstructor(String.class);
- declaredConstructor.setAccessible(true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- try {
- Class cls = Class.forName("android.app.ActivityThread");
- Method declaredMethod = cls.getDeclaredMethod("currentActivityThread");
- declaredMethod.setAccessible(true);
- Object activityThread = declaredMethod.invoke(null);
- Field mHiddenApiWarningShown = cls.getDeclaredField("mHiddenApiWarningShown");
- mHiddenApiWarningShown.setAccessible(true);
- mHiddenApiWarningShown.setBoolean(activityThread, true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public static TaiyiManager getInstance() {
- if (instance == null) {
- synchronized (TaiyiManager.class) {
- if (instance == null) {
- instance = new TaiyiManager();
- }
- }
- }
- return instance;
- }
- public static TaiyiConfig getConfig() {
- return _config;
- }
- public void init(Application application) {
- this.init(application, null);
- }
- public void init(String appId, String appSecret, Application application) {
- this.init(application, new TaiyiConfig(appId, appSecret));
- }
- public void init(Application application, @Nullable TaiyiConfig config) {
- this.context = application;
- _config = config == null ? TaiyiConfig.getDefault(context.getApplicationContext()) : config;
- this.appId = _config.getAppId();
- this.appSecret = _config.getAppSecret();
- ProxyManager.getInstance().init(_config.proxy, _config.agencyOfOSS);
- }
- public void toGoMeasure(boolean isLeft) {
- if (isLeft) {
- EventBus.getDefault().post(new EventTestMaiMessage(0));
- } else {
- EventBus.getDefault().post(new EventTestMaiMessage(1));
- }
- }
- private SkipInterface mSkipInterface;
- public SkipInterface getSkipInterface() {
- return mSkipInterface;
- }
- public interface SkipInterface {
- void onSkip();
- }
- public String getAppId() {
- return appId;
- }
- public String getUid() {
- return uid;
- }
- public String getAppSecret() {
- return appSecret;
- }
- public void toMeasure(String uid, Activity activity,Class target, TaiyiManager.SkipInterface skipInterface, ResultListener listener) {
- this.uid = uid;
- Intent intent = new Intent(activity, target);
- activity.startActivity(intent);
- mSkipInterface = skipInterface;
- setResultListener(listener);
- }
- public void clearMeasure() {
- AppManager.finishActivity(SuccessActivity.class);
- }
- }
|