OtherActivity.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.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.FrameLayout;
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.controller.NotifyType;
import com.lotus.town.R;
import com.lotus.town.config.SupportAction;
import com.umeng.analytics.MobclickAgent;

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

public class OtherActivity extends Activity implements View.OnClickListener {

    TextView mMainWord;
//    LinearLayout mHomeStatusTitle;
    LinearLayout mSecondStatusTitle;
    TextView mCleanItem;
    TextView mCleanPrefix;
    ImageView CloseAd;
    long size = 0;
    long totalSize= 0;
    private RelativeLayout mAdPlace;
    private LinearLayout mNoAdLayout;
    private long Number = 0;
    private int mFromFlag = -1;
    private TextView mDescText;
    private TextView mCleanText;

    @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_clean);

        int from = getIntent().getIntExtra("from",-1);
        initView();

        if(from == NotifyType.BATTERY_NOTIFY){
            mCleanText.setText("超强省电");
            Number = 10+new Random().nextInt(20);
            mFromFlag = SupportAction.BATTERY_FLAG;
            mDescText.setText("正在优化");
        } else if(from == NotifyType.AD_NOTIFY){
            mCleanText.setText("广告拦截");
            Number = 5+new Random().nextInt(15);
            mFromFlag = SupportAction.AD_FLAG;
            mDescText.setText("正在扫描");
        } else if(from == NotifyType.CPU_NOTIFY){
            mCleanText.setText("CPU降温");
            Number = 5+new Random().nextInt(15);
            mFromFlag = SupportAction.CPU_FLAG;
            mDescText.setText("正在降温");
        } else if(from == NotifyType.CONTACT_NOTIFY){
            mCleanText.setText("通讯录守卫");
            Number = 3+new Random().nextInt(7);
            mFromFlag = SupportAction.CONTACT_FLAG;
            mDescText.setText("正在检查");
        }
        initListener();

        initCleanManager();
        if(IADController.getInstance().isShowInner()) {
            initBigAd();
        } else {
            mAdPlace.setVisibility(View.GONE);
            LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) mNoAdLayout.getLayoutParams();
            params.topMargin = 255;//在此处设置weight
            mNoAdLayout.setLayoutParams(params);
        }
    }


    private int process = 0;
    private boolean isExit = false;

    Handler workHandler = new Handler(){
        @Override
        public void dispatchMessage(Message msg) {

            if(Number == process++){
                if(isExit){
                    return;
                }
                OtherActivity.this.finish();
                Intent i = new Intent();

                i.putExtra(SupportAction.FROM,mFromFlag);
                i.putExtra(SupportAction.PASS_INFO,Number);
                i.setClass(OtherActivity.this, ResultActivity.class);
                startActivity(i);
                return;
            }
            if(mFromFlag == SupportAction.BATTERY_FLAG) {
                mCleanPrefix.setText("已优化电量" + process + "%");
            } else if(mFromFlag == SupportAction.AD_FLAG){
                mCleanPrefix.setText("已拦截"+process+"个广告");
            } else if(mFromFlag == SupportAction.CONTACT_FLAG){
                mCleanPrefix.setText("已阻止获取通讯录" + process);
            } else if(mFromFlag == SupportAction.CPU_FLAG){
                mCleanPrefix.setText("已降温" + process+"°C");
            }
            workHandler.sendEmptyMessageDelayed(0,500);
        }
    };

    private void initCleanManager() {
        workHandler.sendEmptyMessage(0);
    }

    private void initView(){
//        mHomeStatusTitle = findViewById(R.id.home_status_title);

        mDescText = findViewById(R.id.desc_text);
        mCleanText = findViewById(R.id.clean_name);
        mSecondStatusTitle = findViewById(R.id.second_status_title);
        mAdPlace = findViewById(R.id.ad_placement);
        mNoAdLayout = findViewById(R.id.clean_layout_id);
        mMainWord = findViewById(R.id.clean_size);
        mCleanItem = findViewById(R.id.clean_item);
        mCleanPrefix = findViewById(R.id.clean_size_prefix);
        CloseAd = findViewById(R.id.close_ad);
        mMainWord.setVisibility(View.GONE);
        initBigView();
    }

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


    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 (info == null) {
                        return;
                    }
                    if (OtherActivity.this.isFinishing()) {
                        return;
                    }
                    mAdPlace.setVisibility(View.VISIBLE);
                    CloseAd.setVisibility(View.VISIBLE);

                    info.getReporter().bindDislikeView(OtherActivity.this, CloseAd);
                    if (info.getAdIcon() != null) {
                        bigAdFromLogo.setImageBitmap(info.getAdIcon());
                    }
                    if (info.getImageList() != null && info.getImageList().size() > 0) {
                        Glide.with(OtherActivity.this).load(info.getImageList().get(0)).into(bigAdImage);
                    } else {
                        Glide.with(OtherActivity.this).load(info.getIconUrl()).into(bigAdImage);
                    }
                    Glide.with(OtherActivity.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();

                        FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) info.getView().getLayoutParams();
                        if (params == null) {
                            params = new FrameLayout.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){
                    return;
                }
            }

            @Override
            public void onADError() {

            }

            @Override
            public void onClicked() {

            }
        });
    }


    @Override
    public void onBackPressed() {
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        isExit = true;
    }

    @Override
    public void onClick(View v) {
        if (v.getId() == R.id.clean_phone) {
        } else if (v.getId() == R.id.virus_check) {

        } else if (v.getId() == R.id.phone_faster) {

        } else if(v.getId() == R.id.second_status_title){
            isExit = true;
            OtherActivity.this.finish();
            Intent i = new Intent();
            i.putExtra(SupportAction.FROM,mFromFlag);
            i.putExtra(SupportAction.PASS_INFO,Number);
            i.setClass(OtherActivity.this, ResultActivity.class);
            startActivity(i);
        }
    }
}