SplashPresentation.java 5.73 KB
package com.studymachine.www.ui.presentation;

import static com.blankj.utilcode.util.CacheDoubleStaticUtils.getString;
import static com.hjq.http.EasyUtils.post;

import android.app.Activity;
import android.app.Application;
import android.app.Presentation;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Rect;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Message;
import android.os.SystemClock;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.lifecycle.LifecycleOwner;
import androidx.recyclerview.widget.RecyclerView;

import com.hjq.bar.TitleBar;
import com.hjq.base.BaseDialog;
import com.hjq.http.EasyHttp;
import com.hjq.http.listener.HttpCallback;
import com.hjq.http.listener.OnHttpListener;
import com.studymachine.www.R;
import com.studymachine.www.action.TitleBarAction;
import com.studymachine.www.aop.CheckNet;
import com.studymachine.www.app.AppPresentation;
import com.studymachine.www.domain.AiDTO;
import com.studymachine.www.enumtype.TopicEnum;
import com.studymachine.www.event.SwfEvent;
import com.studymachine.www.http.api.HostApi;
import com.studymachine.www.http.api.PointDetailApi;
import com.studymachine.www.http.glide.GlideApp;
import com.studymachine.www.http.model.HttpData;
import com.studymachine.www.js.MainJavaScriptInterface;
import com.studymachine.www.manager.ActivityManager;
import com.studymachine.www.manager.ControllerView;
import com.studymachine.www.manager.DictionariesManager;
import com.studymachine.www.manager.EventBusManager;
import com.studymachine.www.manager.GlobalParameterManager;
import com.studymachine.www.manager.UserManager;
import com.studymachine.www.other.AppConfig;
import com.studymachine.www.ui.activity.AiDetailActivity;

import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Locale;

import com.studymachine.www.action.StatusAction;
import com.studymachine.www.ui.activity.HomeActivity;
import com.studymachine.www.ui.activity.LoginActivity;
import com.studymachine.www.ui.activity.NoNetworkActivity;
import com.studymachine.www.ui.activity.RegisterActivity;
import com.studymachine.www.ui.dialog.ConfirmDialog;
import com.studymachine.www.widget.StatusLayout;
import com.studymachine.www.widget.X5WebView;
import com.tencent.mmkv.MMKV;
import com.tencent.smtt.sdk.WebChromeClient;
import com.tencent.smtt.sdk.WebView;
import com.tencent.smtt.sdk.WebViewClient;

import timber.log.Timber;

public class SplashPresentation extends AppPresentation {

    public SplashPresentation(Context outerContext, Display display) {
        super(outerContext, display);
    }

    public SplashPresentation(Context outerContext, Display display, int theme) {
        super(outerContext, display, theme);
    }

    @Override
    public int getLayout() {
        return R.layout.splash_activity;
    }


    /**
     * 获取动态域名
     */
    @CheckNet
    private void getHost() {
        EasyHttp.get((LifecycleOwner) getOwnerActivity())
                .api(new HostApi())
                .request(new HttpCallback<HttpData<HostApi.Bean>>(this) {
                    @Override
                    public void onSucceed(HttpData<HostApi.Bean> result) {
                        if (result.getData() != null) {
                            if (AppConfig.isDebug()) {
                                AppConfig.setHostUrl("http://192.168.1.23:8100/");
                                AppConfig.setWebHostUrl("http://192.168.1.26:8086/");
                            } else {
                                AppConfig.setHostUrl(result.getData().getApi());
                                AppConfig.setWebHostUrl(result.getData().getH5Url());
                            }
                            AppConfig.setHostUrl(result.getData().getApi());
                            AppConfig.setWebHostUrl(result.getData().getH5Url());
//                            AppConfig.setHostUrl("http://192.168.1.23:8100/");
//                            AppConfig.setWebHostUrl("http://192.168.1.26:8086/");
                            initConfig();
                        }
                    }

                    @Override
                    public void onFail(Exception e) {
                        super.onFail(e);
                        NoNetworkActivity.start(getContext());
                    }
                });
    }

    @Override
    public void initData() {
        getHost();
    }

    private void initConfig() {
        DictionariesManager.getInstance();
        GlobalParameterManager.getInstance().getData();

        MMKV mmkv = MMKV.defaultMMKV();
        String isFirstRun = mmkv.decodeString("isFirstRun");
        if (TextUtils.isEmpty(isFirstRun)) {
            RegisterActivity.start(getContext());
            mmkv.encode("isFirstRun", "true");
        } else {
            if (TextUtils.isEmpty(UserManager.getInstance().getToken())) {
                LoginActivity.start(getContext());
            } else {
                // 刷新用户信息
                UserManager.getInstance().getUserInfo();
                HomeActivity.start(getContext());
            }
        }
        finish();
    }

    private void finish() {
        dismiss();
        getOwnerActivity().finish();
    }

}