13Poker by gametower unlimited gems v0.4版本的 MD5 值为:51324fc0f195c34821074948ab266846

以下内容为反编译后的 DrawerContentView.java 源代码,内容仅作参考


package com.adeco.adsdk.widget;

import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Shader;
import android.graphics.Typeface;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.GradientDrawable;
import android.net.Uri;
import android.os.AsyncTask;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.GridView;
import android.widget.LinearLayout;
import android.widget.ListAdapter;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.adeco.adsdk.ads.util.MeasurmentUtils;
import com.adeco.adsdk.mediation.AdsProvider;
import com.adeco.adsdk.model.AdParameters;
import com.adeco.adsdk.model.AppWall;
import com.adeco.adsdk.model.AppWallItem;
import com.adeco.adsdk.net.ServerCommunicationException;
import com.adeco.adsdk.res.ResourceHelper;
import com.adfonic.android.utils.HtmlFormatter;
import java.util.ArrayList;
public class DrawerContentView extends FrameLayout {
    private final GridViewAdapter adapter;
    private AsyncTask<AdParameters, Void, Object> appWallTask;
    private final Button feedbackButton;
    private final GridView gridView;
    private AdParameters params;
    private final ProgressBar progressBar;
    private final Button rateusButton;

    private static class GridViewAdapter extends BaseAdapter {
        private AppWall appWall;
        private final Context context;

        private GridViewAdapter(Context context) {
            this.context = context;
        }

        GridViewAdapter(Context context, GridViewAdapter gridViewAdapter) {
            this(context);
        }

        @Override
        public int getCount() {
            if (this.appWall == null) {
                return 0;
            }
            return this.appWall.getItems().size();
        }

        @Override
        public Object getItem(int arg0) {
            return this.appWall.getItems().get(arg0);
        }

        @Override
        public long getItemId(int arg0) {
            return arg0;
        }

        @Override
        public View getView(int arg0, View content, ViewGroup parent) {
            String[] trackingPixels;
            AppWallItem item = this.appWall.getItems().get(arg0);
            LinearLayout layout = new LinearLayout(this.context);
            layout.setLayoutParams(new AbsListView.LayoutParams(parent.getWidth() / 3, parent.getWidth() / 3));
            int padding = MeasurmentUtils.dip2pixel(10, this.context);
            layout.setPadding(padding, padding, padding, padding);
            layout.setOrientation(1);
            AsyncImageView imageView = new AsyncImageView(this.context);
            LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(-1, 0);
            lparams.weight = 1.0f;
            imageView.setLayoutParams(lparams);
            ArrayList<Uri> uris = new ArrayList<>();
            if (item.getTrackingPixels() != null) {
                for (String str : item.getTrackingPixels()) {
                    uris.add(Uri.parse(str));
                }
            }
            uris.add(Uri.parse(item.getIcon()));
            imageView.setImageUris((Uri[]) uris.toArray(new Uri[uris.size()]));
            layout.addView(imageView);
            TextView textView = new TextView(this.context);
            textView.setText(item.getTitle());
            textView.setTextColor(-1);
            textView.setLayoutParams(new FrameLayout.LayoutParams(-1, -2));
            textView.setGravity(1);
            textView.setTextSize(10.0f);
            textView.setLines(2);
            layout.addView(textView);
            return layout;
        }

        public void setAppWall(AppWall appWall) {
            this.appWall = appWall;
            notifyDataSetChanged();
        }

        public AppWall getAppWall() {
            return this.appWall;
        }
    }

    public DrawerContentView(Context context) {
        super(context);
        LinearLayout linearLayout = new LinearLayout(context);
        this.feedbackButton = new Button(context);
        this.feedbackButton.setText("FEEDBACK");
        this.feedbackButton.setBackgroundDrawable(ResourceHelper.getPanelButton(context));
        this.feedbackButton.setTypeface(Typeface.DEFAULT_BOLD);
        this.feedbackButton.setTextColor(-1);
        this.feedbackButton.setPadding(0, 0, 0, 0);
        this.feedbackButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {
                Intent intent = new Intent("android.intent.action.SEND");
                intent.setType(HtmlFormatter.TEXT_HTML);
                intent.putExtra("android.intent.extra.EMAIL", new String[]{"adecosystems.questions@gmail.com"});
                ApplicationInfo info = DrawerContentView.this.getContext().getApplicationInfo();
                intent.putExtra("android.intent.extra.SUBJECT", DrawerContentView.this.getContext().getPackageManager().getApplicationLabel(info));
                DrawerContentView.this.getContext().startActivity(Intent.createChooser(intent, "Send Email"));
            }
        });
        this.rateusButton = new Button(context);
        this.rateusButton.setText("RATE US");
        this.rateusButton.setBackgroundDrawable(ResourceHelper.getPanelButton(context));
        this.rateusButton.setTypeface(Typeface.DEFAULT_BOLD);
        this.rateusButton.setTextColor(-1);
        this.rateusButton.setPadding(0, 0, 0, 0);
        this.rateusButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent("android.intent.action.VIEW");
                intent.setData(Uri.parse("market://details?id=" + DrawerContentView.this.getContext().getPackageName()));
                DrawerContentView.this.getContext().startActivity(intent);
            }
        });
        LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(-1, MeasurmentUtils.dip2pixel(40, context));
        p.bottomMargin = MeasurmentUtils.dip2pixel(8, context);
        linearLayout.addView(this.rateusButton, p);
        int padding = MeasurmentUtils.dip2pixel(12, context);
        linearLayout.setPadding(padding, padding, padding, padding);
        linearLayout.addView(this.feedbackButton, new LinearLayout.LayoutParams(-1, MeasurmentUtils.dip2pixel(40, context)));
        TextView title = new TextView(getContext());
        title.setPadding(0, padding / 2, 0, padding / 2);
        title.setText("YOU MIGHT ALSO LIKE");
        title.setGravity(1);
        title.setTypeface(Typeface.DEFAULT_BOLD);
        title.setTextColor(-1);
        title.setTextSize(16.0f);
        linearLayout.addView(title, new LinearLayout.LayoutParams(-1, -2));
        this.progressBar = new ProgressBar(context);
        FrameLayout layout = new FrameLayout(context);
        this.adapter = new GridViewAdapter(context, null);
        this.gridView = new GridView(context);
        this.gridView.setNumColumns(3);
        this.gridView.setColumnWidth(-1);
        this.gridView.setAdapter((ListAdapter) this.adapter);
        this.gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
                AppWallItem item = (AppWallItem) arg0.getItemAtPosition(position);
                Intent intent = new Intent("android.intent.action.VIEW");
                intent.setData(Uri.parse(item.getLink()));
                DrawerContentView.this.getContext().startActivity(intent);
            }
        });
        layout.addView(this.gridView, new FrameLayout.LayoutParams(-1, -1));
        FrameLayout.LayoutParams lparams = new FrameLayout.LayoutParams(-2, -2);
        lparams.gravity = 17;
        layout.addView(this.progressBar, lparams);
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(-1, 0);
        params.weight = 1.0f;
        linearLayout.addView(layout, params);
        BitmapDrawable d = (BitmapDrawable) ResourceHelper.getDrawable("sandpaper.png", context);
        d.setTileModeXY(Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
        setBackgroundDrawable(d);
        linearLayout.setOrientation(1);
        FrameLayout gradient = new FrameLayout(context);
        GradientDrawable g = new GradientDrawable(GradientDrawable.Orientation.BOTTOM_TOP, new int[]{Color.parseColor("#1e7b89"), Color.parseColor("#589fb4")}) {
            @Override
            public void draw(Canvas canvas) {
                super.draw(canvas);
            }
        };
        gradient.setBackgroundDrawable(g);
        addView(gradient, new FrameLayout.LayoutParams(-1, -1));
        addView(linearLayout, new FrameLayout.LayoutParams(-1, -1));
    }

    public void load(AdParameters params) {
        this.params = params;
        reload();
    }

    private void reload() {
        this.progressBar.setVisibility(0);
        this.gridView.setVisibility(4);
        if (this.appWallTask != null) {
            this.appWallTask.cancel(true);
        }
        final Context fContext = getContext().getApplicationContext();
        this.appWallTask = new AsyncTask<AdParameters, Void, Object>() {
            @Override
            public Object doInBackground(AdParameters... params) {
                try {
                    return AdsProvider.get(fContext).loadAppWallSync(params[0]).getExtras().get("com.adeco.adsdk.mediation.AdsProvider.EXTRA_AD");
                } catch (ServerCommunicationException e) {
                    return e;
                }
            }

            @Override
            protected void onPostExecute(Object result) {
                DrawerContentView.this.appWallTask = null;
                if (result instanceof AppWall) {
                    DrawerContentView.this.adapter.setAppWall((AppWall) result);
                }
                DrawerContentView.this.gridView.setVisibility(0);
                DrawerContentView.this.progressBar.setVisibility(4);
            }
        };
        this.appWallTask.execute(this.params);
    }
}