VirusActivity.java 11.2 KB
package com.lotus.town.clean;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.ad.lib.AdInfo;
import com.ad.lib.AdManager;
import com.ad.lib.AdPlacement;
import com.ad.lib.IAdCallback;
import com.ad.lib.RequestInfo;
import com.bumptech.glide.Glide;
import com.bytedance.sdk.openadsdk.AdSlot;
import com.controller.IADController;
import com.lotus.town.R;
import com.lotus.town.config.SupportAction;
import com.umeng.analytics.MobclickAgent;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;

public class VirusActivity extends Activity implements View.OnClickListener {

    TextView mMainWord;
    TextView mDesc;
    LinearLayout mSecondStatusTitle;
    private int checkItem;
    private boolean isExit = false;
    ImageView CloseAd;
    private List<String> items = Arrays.asList(
            "实时保护",
            "浏览器历史",
            "wifi检测",
            "应用隐私扫描",
            "剪切板隐私问题",
            "应用查杀",
            "广告检测"
            ,"病毒扫描");

    int virus = 0;
    int count = 0;
    private RelativeLayout mAdPlace;
    private LinearLayout mNoAdLayout;

    @Override
    protected void onResume() {
        super.onResume();
        MobclickAgent.onResume(this);
    }

    @Override
    protected void onPause() {
        super.onPause();
        MobclickAgent.onPause(this);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_virus);
        initView();
        initListener();
        long lastTime = getSharedPreferences("usage",0).getLong("virus_time",0);
        String deliver = getIntent().getStringExtra("deliver");
        if(TextUtils.isEmpty(deliver)) {
            if (lastTime == 0) {
                virus = 2 + new Random().nextInt(2);
            } else if (isLessOneDay(lastTime)) {
                virus = 0;
            } else {
                virus = new Random().nextInt(2);
            }
        } else {
            virus = 1+new Random().nextInt(2);
        }
        getSharedPreferences("usage",0).edit().putLong("virus_time",System.currentTimeMillis()).commit();
        delayHandler.sendEmptyMessageDelayed(0,1000);
        delayHandler.sendEmptyMessage(1);
        if(IADController.getInstance().isShowInner()) {
            initBigAd();
        } else {
            mAdPlace.setVisibility(View.GONE);

            LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) mNoAdLayout.getLayoutParams();
            params.topMargin = 255;//在此处设置weight
            mNoAdLayout.setLayoutParams(params);
        }
    }

    Handler delayHandler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if(msg.what == 0) {
                if (count == virus) {

                    final int time = new Random().nextInt(3000);
                    new Handler().postDelayed(new Runnable() {

                        @Override
                        public void run() {

                            new Handler().postDelayed(new Runnable() {
                                @Override
                                public void run() {
                                    if(isExit){
                                        return;
                                    }
                                    Intent i = new Intent();
                                    i.setClass(VirusActivity.this, ResultActivity.class);
                                    i.putExtra(SupportAction.PASS_INFO, virus);
                                    i.putExtra(SupportAction.FROM, SupportAction.VIRUS_FLAG);
                                    startActivity(i);
                                    VirusActivity.this.finish();
                                }
                            }, time);
                        }
                    }, 1000);
                    return;
                }
                count++;
                mMainWord.setText(count+"");
                delayHandler.sendEmptyMessageDelayed(0,1000);

            } else if(msg.what == 1){
                if(checkItem <items.size()){
                    mDesc.setText(items.get(checkItem++));
                    delayHandler.sendEmptyMessageDelayed(1,300);
                }
            }
        }
    };




    private boolean isLessOneDay(long lastTime){
        float s = (System.currentTimeMillis() - lastTime) / (1000 * 60)/60/24;
        if(s >3){
            return false;
        }
        return true;
    }

    private void initView(){
        mSecondStatusTitle = findViewById(R.id.second_status_title);
        mAdPlace = findViewById(R.id.ad_placement);
        mNoAdLayout = findViewById(R.id.clean_layout_id);
        mDesc = findViewById(R.id.clean_item);
        mMainWord = findViewById(R.id.clean_size);
        CloseAd = findViewById(R.id.close_ad);

        initBigView();
    }


    ImageView bigAdFromLogo;
    ImageView bigAdImage;
    ImageView bigAdIcon;
    TextView bigTitle;
    TextView bigSubtTitle;
    Button bigButton;
    LinearLayout bigLayout;

    private void initBigView(){
        bigLayout = (LinearLayout) findViewById(R.id.big_layout);
        bigAdFromLogo = (ImageView) findViewById(R.id.big_ad_from_logo);
        bigAdImage = (ImageView) findViewById(R.id.big_ad_image);
        bigAdIcon = (ImageView) findViewById(R.id.big_ad_icon);
        bigTitle = (TextView) findViewById(R.id.big_ad_title);
        bigSubtTitle = (TextView) findViewById(R.id.big_ad_subtitle);
        bigButton = (Button)findViewById(R.id.big_btn);

    }

    private void initBigAd() {
        RequestInfo info = new RequestInfo();
        info.setId(AdPlacement.getWorkId2());
        info.setWidth(1280);
        info.setHeight(720);
        info.setType(AdSlot.TYPE_BANNER);
        final int adType = 0;

        AdManager.getInstance().getAdController(this,adType).loadFeedAd(info, new IAdCallback() {
            @Override
            public void onADLoaded(final AdInfo info) {
                try {
                    if (VirusActivity.this.isFinishing()) {
                        return;
                    }
                    if (info == null) {
                        return;
                    }
                    mAdPlace.setVisibility(View.VISIBLE);
                    CloseAd.setVisibility(View.VISIBLE);
                    info.getReporter().bindDislikeView(VirusActivity.this, CloseAd);
                    if (info.getAdIcon() != null) {
                        bigAdFromLogo.setImageBitmap(info.getAdIcon());
                    }
                    if (info.getImageList() != null && info.getImageList().size() > 0) {
                        Glide.with(VirusActivity.this).load(info.getImageList().get(0)).into(bigAdImage);
                    } else {
                        Glide.with(VirusActivity.this).load(info.getIconUrl()).into(bigAdImage);
                    }
                    Glide.with(VirusActivity.this).load(info.getIconUrl()).into(bigAdIcon);
                    bigTitle.setText(info.getTitle());
                    bigSubtTitle.setText(info.getSubtitle());
                    bigButton.setText(info.getButtonLabel());
                    if (adType == 0) {
                        List<View> clickViewList = new ArrayList<>();
                        clickViewList.add(bigLayout);
                        clickViewList.add(bigButton);
                        info.getReporter().impress(bigLayout, clickViewList, "j_s_a_d", "j_s_c");

                    } else if (adType == 1) {
                        if (info.getView() == null) {
                            return;
                        }
                        bigLayout.removeAllViews();

                        ViewGroup.LayoutParams params = info.getView().getLayoutParams();
                        if (params == null) {
                            params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
                        }
                        info.getView().setLayoutParams(params);
                        bigLayout.addView(info.getView());
                        info.getReporter().render();
                        info.getReporter().impress(bigLayout, "gdt_j_s_a_d");
                        info.getReporter().impress(bigButton, "gdt_j_s_a_d");
                        bigLayout.setOnClickListener(new View.OnClickListener() {
                            @Override
                            public void onClick(View view) {
                                info.getReporter().click(view, "gdt_j_s_c"); // 点击接口
                            }
                        });
                        bigButton.setOnClickListener(new View.OnClickListener() {
                            @Override
                            public void onClick(View view) {
                                info.getReporter().click(view, "gdt_j_s_c"); // 点击接口
                            }
                        });

                    } else if (adType == 2) {

                        info.getReporter().impress(bigLayout, "j_s_a_d");
                        info.getReporter().impress(bigButton, "j_s_a_d");
                        bigLayout.setOnClickListener(new View.OnClickListener() {
                            @Override
                            public void onClick(View view) {
                                info.getReporter().click(view, "j_s_c"); // 点击接口
                            }
                        });
                        bigButton.setOnClickListener(new View.OnClickListener() {
                            @Override
                            public void onClick(View view) {
                                info.getReporter().click(view, "j_s_c"); // 点击接口
                            }
                        });
                    }
                } catch (Exception e){

                }
            }

            @Override
            public void onADError() {

            }

            @Override
            public void onClicked() {

            }
        });
    }


    private void initListener(){
        mSecondStatusTitle.setOnClickListener(this);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();

        isExit = true;
        delayHandler.removeMessages(0);
        delayHandler.removeMessages(1);
    }
    @Override
    public void onBackPressed() {
    }
    @Override
    public void onClick(View v) {
        if (v.getId() == R.id.second_status_title) {
            isExit = true;
            Intent i = new Intent();
            i.setClass(VirusActivity.this, ResultActivity.class);
            i.putExtra(SupportAction.PASS_INFO, virus);
            i.putExtra(SupportAction.FROM, SupportAction.VIRUS_FLAG);
            startActivity(i);
            VirusActivity.this.finish();
        }
    }
}