ResultActivity.java 11.8 KB
package com.lotus.town.clean;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.ScaleAnimation;
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.sdk.utils.NetworkUtils;
import com.umeng.analytics.MobclickAgent;

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

public class ResultActivity extends Activity implements View.OnClickListener {

    TextView title;
    TextView name;
    TextView nameDesc;
    LinearLayout mHomeStatusTitle;
    LinearLayout mSecondStatusTitle;

    LinearLayout AdLayout = null;
    RelativeLayout mBackgroundImage;

    private int flag = 0;
    private long desc = 0;
    private ImageView mStart1;
    private ImageView mStart2;
    private ImageView mStart3;
    private ImageView mTure;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_result);

        flag = getIntent().getIntExtra(SupportAction.FROM,0);
        desc = getIntent().getLongExtra(SupportAction.PASS_INFO,0);

        initView();
        initInfo();
        initListener();

        if(IADController.getInstance().isShowInner()) {
            nameDesc.setVisibility(View.VISIBLE);
            LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) mHomeStatusTitle.getLayoutParams();
            params.weight = 2;//在此处设置weight
            Button button = new Button(ResultActivity.this);
            button.setLayoutParams(params);
            mHomeStatusTitle.setLayoutParams(params);
            mBackgroundImage.setVisibility(View.GONE);
            AdLayout.setVisibility(View.VISIBLE);
            initBigAd();
        } else {
            setAnim2(mStart1);
            setAnim2(mStart2);
            setAnim2(mStart3);
            setAnim2(mTure);
        }
    }
    ImageView bigAdFromLogo;
    ImageView bigAdImage;
    ImageView bigAdIcon;
    ImageView mClose;
    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);
        mClose = (ImageView)findViewById(R.id.close_ad);

    }

    private void initBigAd() {
        RequestInfo info = new RequestInfo();
        info.setId(AdPlacement.getResultPageId1());
        info.setWidth(1080);
        info.setHeight(1920);
        info.setType(AdSlot.TYPE_BANNER);
        final int adType = 0;

        AdManager.getInstance().getAdController(this,adType).loadNativeAd(info, new IAdCallback() {
            @Override
            public void onADLoaded(final AdInfo info) {
                if(info.getAdIcon() != null) {
                    bigAdFromLogo.setImageBitmap(info.getAdIcon());
                }
                if(info.getImageList() != null && info.getImageList().size()>0){
                    Glide.with(ResultActivity.this).load(info.getImageList().get(0)).into(bigAdImage);
                } else {
                    Glide.with(ResultActivity.this).load(info.getIconUrl()).into(bigAdImage);
                }
                Glide.with(ResultActivity.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(AdLayout);
                    clickViewList.add(bigButton);
                    info.getReporter().impress(AdLayout,clickViewList,"r_s_a_d","r_s_c");

                } else if(adType == 1 || adType == 2){
                    info.getReporter().impress(bigLayout,"r_s_a_d");
                    info.getReporter().impress(bigButton,"r_s_a_d");
                    bigLayout.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            info.getReporter().click(view,"r_s_c"); // 点击接口
                        }
                    });
                    bigButton.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            info.getReporter().click(view,"r_s_c"); // 点击接口
                        }
                    });
                }
            }

            @Override
            public void onADError() {

            }

            @Override
            public void onClicked() {

            }
        });
    }


    @Override
    protected void onResume() {
        MobclickAgent.onEvent(this,"r_s_p");
        MobclickAgent.onResume(this);
        super.onResume();
    }

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

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
    }

    private void setAnim2(View view) {
        AnimationSet as = new AnimationSet(true);
        ScaleAnimation scaleAnimation = new ScaleAnimation(0f, 1f, 0f, 1f,
                ScaleAnimation.RELATIVE_TO_SELF, 0.5f,
                ScaleAnimation.RELATIVE_TO_SELF, 0.5f);
        //渐变动画
        scaleAnimation.setDuration(1000);

        as.setDuration(1000);
        as.addAnimation(scaleAnimation);
        view.startAnimation(as);

        as.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {

            }

            @Override
            public void onAnimationEnd(Animation animation) {
                nameDesc.setVisibility(View.VISIBLE);
                if(IADController.getInstance().isShowInner()) {
                    LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) mHomeStatusTitle.getLayoutParams();
                    params.weight = 2;//在此处设置weight
                    Button button = new Button(ResultActivity.this);
                    button.setLayoutParams(params);
                    mHomeStatusTitle.setLayoutParams(params);
                    mBackgroundImage.setVisibility(View.GONE);
                    AdLayout.setVisibility(View.VISIBLE);
                    initBigAd();
                }

            }

            @Override
            public void onAnimationRepeat(Animation animation) {

            }
        });
    }

    private void initView(){
        mSecondStatusTitle = findViewById(R.id.result_status_title);
        mHomeStatusTitle = findViewById(R.id.second_status_title);
        title = findViewById(R.id.title_result);
        name = findViewById(R.id.name_result);
        nameDesc = findViewById(R.id.name_desc);
        mBackgroundImage = findViewById(R.id.background_image);

        mStart1 = findViewById(R.id.start_1);
        mStart2 = findViewById(R.id.start_2);
        mStart3 = findViewById(R.id.start_3);
        mTure = findViewById(R.id.ture);



        AdLayout = findViewById(R.id.ad_layout);
        initBigView();
//        mAdLogo = findViewById(R.id.ad_logo);
    }


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

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

    }

    @Override
    public void onBackPressed() {
        if(NetworkUtils.isNetworkConnected(this) && IADController.getInstance().isShowInner()){
            Intent i = new Intent();
            i.setClass(ResultActivity.this, ResultInterstitialActivity.class);
            startActivity(i);
        }
        finish();
    }

    @Override
    public void onClick(View v) {
        if (v.getId() == R.id.result_status_title) {
            if(NetworkUtils.isNetworkConnected(this) && IADController.getInstance().isShowInner()){
                Intent i = new Intent();
                i.setClass(ResultActivity.this, ResultInterstitialActivity.class);
                startActivity(i);
            }
            finish();
        } else if(v.getId() == R.id.close){
            if(NetworkUtils.isNetworkConnected(this) && IADController.getInstance().isShowInner()){
                Intent i = new Intent();
                i.setClass(ResultActivity.this, ResultInterstitialActivity.class);
                startActivity(i);
            }
            finish();
        }
    }

    private void initInfo(){

        switch (flag){
            case SupportAction.BOOSTER_PHONE_FLAG:
                title.setText("加速");
                name.setText("已加速");
                float littleSecond = new Random().nextFloat();
                DecimalFormat df = new DecimalFormat("#.0");

                float second = new Random().nextInt(3)+Float.parseFloat(df.format(littleSecond));

                int percent = new Random().nextInt(28)+70;

                nameDesc.setText("比上次快了"+second+"秒,超过了"+percent+"%的手机");
                break;
            case SupportAction.CLEAN_PHONE_FLAG:
                title.setText("清理");
                name.setText("已清理");
                String momery = null;

                if(desc/1024/1024 >1024){
                    DecimalFormat dff = new DecimalFormat("#.00");
                    momery = dff.format(desc/1024.0/1024.0/1024.0)+"GB";
                }else if(desc/1024 >1024){
                    DecimalFormat dff = new DecimalFormat("#.00");
                    momery = dff.format(desc/1024.0/1024.0)+"MB";
                } else {
                    momery = desc/1024+"KB";
                }
                nameDesc.setText(momery+"空间已经释放");

                break;
            case SupportAction.VIRUS_FLAG:
                title.setText("杀毒");
                name.setText("已杀毒");
                nameDesc.setText("您的手机处于安全状态");
                break;
            case SupportAction.AD_FLAG:
                title.setText("广告拦截");
                name.setText("已拦截");
                nameDesc.setText("已拦截"+desc+"个应用弹出广告");
                break;
            case SupportAction.BATTERY_FLAG:
                title.setText("超强省电");
                name.setText("已优化");
                nameDesc.setText("电池使用时间提升"+desc+"%");
                break;
            case SupportAction.CONTACT_FLAG:
                title.setText("通讯录守卫");
                name.setText("已守卫");
                nameDesc.setText("您的手机通讯录处于安全状态");
                break;
            case SupportAction.CPU_FLAG:
                title.setText("CPU降温");
                name.setText("已降温");
                nameDesc.setText("手机CPU已降温"+desc+"°C");
                break;
        }
    }
}