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

import android.app.Activity;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.TranslateAnimation;
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.List;
import java.util.Random;

public class BoosterActivity extends Activity implements View.OnClickListener {

    RelativeLayout mCleanPhone;
    TextView mMainWord;
    TextView mSubWord;
    LinearLayout mHomeStatusTitle;
    LinearLayout mSecondStatusTitle;
    private RelativeLayout mAdPlace;
    private LinearLayout mNoAdLayout;
    ImageView CloseAd;
    Handler handler = new Handler();
    private void startTranslateAnimation() {

        TranslateAnimation translateAnimation = new TranslateAnimation(0.0f, 50.0f, 0.0f, -50.0f);
        translateAnimation.setFillAfter(false);
        translateAnimation.setDuration(1000);

        translateAnimation.setRepeatCount(9999);
        }
    private boolean isLessOneMinite(long lastTime){
        float s = (System.currentTimeMillis() - lastTime) / (1000 * 60);
        if(s >1){
            return false;
        }
        return true;
    }

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

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

    int num;
    int totalNum;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_booster);
        initView();
        initListener();
        num = new Random().nextInt(5);
        long lastTime = getSharedPreferences("usage",0).getLong("boost_time",0);
        if(lastTime == 0){
            num = 5 + new Random().nextInt(10);
            lessHandler.sendEmptyMessage(0);
        }else if(isLessOneMinite(lastTime)){
            num = 0;
            Intent i = new Intent();
            i.putExtra(SupportAction.FROM,SupportAction.BOOSTER_PHONE_FLAG);
            i.setClass(BoosterActivity.this, ResultActivity.class);
            startActivity(i);
            BoosterActivity.this.finish();
        } else {
            num = 3 + new Random().nextInt(10);
            lessHandler.sendEmptyMessage(0);
        }
        totalNum = num;
        getSharedPreferences("usage",0).edit().putLong("boost_time",System.currentTimeMillis()).commit();

        mMainWord.setText(num+"");
//        startTranslateAnimation();
        onClearMemory(this);
        if(IADController.getInstance().isShowInner()) {
            initBigAd();
        } else {
            mAdPlace.setVisibility(View.GONE);

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

    public void onClearMemory(Context context) {
        ActivityManager activityManger = (ActivityManager) context
                .getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningAppProcessInfo> list = activityManger
                .getRunningAppProcesses();
        if (list != null)
            for (int i = 0; i < list.size(); i++) {
                ActivityManager.RunningAppProcessInfo apinfo = list.get(i);

                String[] pkgList = apinfo.pkgList;

                if (apinfo.importance >=
                        ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {

                    for (int j = 0; j < pkgList.length; j++) {
                        if (pkgList[j].equals(context.getPackageName())) {
                            continue;
                        }
                        if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.FROYO) {
                            activityManger.restartPackage(pkgList[j]);
                        } else {
                            activityManger.killBackgroundProcesses(pkgList[j]);
                        }
                    }
                }
            }

    }

    private boolean isExit = false;
    Handler lessHandler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            if(num == 0){
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        if(isExit){
                            return;
                        }
                        Intent i = new Intent();
                        i.putExtra(SupportAction.FROM,SupportAction.BOOSTER_PHONE_FLAG);
                        i.putExtra(SupportAction.PASS_INFO,totalNum);
                        i.setClass(BoosterActivity.this, ResultActivity.class);
                        startActivity(i);
                        BoosterActivity.this.finish();
                    }
                },1000);
                return;
            }
            mMainWord.setText(--num+"");


            lessHandler.sendEmptyMessageDelayed(0,400);
        }
    };


    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 (BoosterActivity.this.isFinishing()) {
                        return;
                    }
                    mAdPlace.setVisibility(View.VISIBLE);
                    CloseAd.setVisibility(View.VISIBLE);
                    info.getReporter().bindDislikeView(BoosterActivity.this, CloseAd);
                    if (info.getAdIcon() != null) {
                        bigAdFromLogo.setImageBitmap(info.getAdIcon());
                    }
                    if (info.getImageList() != null && info.getImageList().size() > 0) {
                        Glide.with(BoosterActivity.this).load(info.getImageList().get(0)).into(bigAdImage);
                    } else {
                        Glide.with(BoosterActivity.this).load(info.getIconUrl()).into(bigAdImage);
                    }
                    Glide.with(BoosterActivity.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 initView(){
        mSecondStatusTitle = findViewById(R.id.second_status_title);
        mMainWord = findViewById(R.id.clean_size);
        mAdPlace = findViewById(R.id.ad_placement);
        mNoAdLayout = findViewById(R.id.clean_layout_id);
        CloseAd = findViewById(R.id.close_ad);

        initBigView();
    }

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


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

    @Override
    public void onBackPressed() {
    }
    @Override
    public void onClick(View v) {
        if (v.getId() == R.id.second_status_title) {
            Intent i = new Intent();
            i.putExtra(SupportAction.FROM,SupportAction.BOOSTER_PHONE_FLAG);
            i.putExtra(SupportAction.PASS_INFO,totalNum);
            i.setClass(BoosterActivity.this, ResultActivity.class);
            startActivity(i);
            BoosterActivity.this.finish();
            isExit = true;
        }
    }
}