导航菜单

页面标题

页面副标题

Tasker v6.6.3 - IpackIconSelect.java 源代码

正在查看: Tasker v6.6.3 应用的 IpackIconSelect.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package net.dinglisch.android.taskerm;

import android.app.Activity;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListAdapter;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import net.dinglisch.android.taskerm.ud;

public class IpackIconSelect extends Activity {
    private GridView s;
    private int i = 60;
    private int q = 90;
    private int r = 863467383;
    private List<Integer> t = new ArrayList();
    private Bundle u = new Bundle();
    private d v = null;

    class a extends BaseAdapter {
        a() {
        }

        @Override
        public final int getCount() {
            return IpackIconSelect.this.t.size();
        }

        @Override
        public final Object getItem(int i) {
            return IpackIconSelect.this.t.get(i);
        }

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

        @Override
        public View getView(int i, View view, ViewGroup viewGroup) {
            ImageView imageView;
            if (view == null) {
                imageView = new ImageView(IpackIconSelect.this);
                imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
                imageView.setLayoutParams(new AbsListView.LayoutParams(IpackIconSelect.this.q, IpackIconSelect.this.q));
                int i2 = (IpackIconSelect.this.q - IpackIconSelect.this.i) / 2;
                imageView.setPadding(i2, i2, i2, i2);
            } else {
                imageView = (ImageView) view;
            }
            try {
                imageView.setImageResource(((Integer) IpackIconSelect.this.t.get(i)).intValue());
            } catch (OutOfMemoryError unused) {
                Log.w("IpackIconSelect", "getView: oom");
            }
            return imageView;
        }
    }

    class b implements Comparator<Integer> {
        final boolean i;
        final Map q;
        final Map r;

        b(boolean z, Map map, Map map2) {
            this.i = z;
            this.q = map;
            this.r = map2;
        }

        @Override
        public int compare(Integer num, Integer num2) {
            if (this.i) {
                return ((String) this.q.get(num2)).compareToIgnoreCase((String) this.q.get(num));
            }
            Integer num3 = (Integer) this.r.get(num);
            Integer num4 = (Integer) this.r.get(num2);
            return num3 == num4 ? ((String) this.q.get(num2)).compareToIgnoreCase((String) this.q.get(num)) : num4.compareTo(num3);
        }
    }

    class c implements AdapterView.OnItemClickListener {
        c() {
        }

        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long j) {
            String str;
            int intValue = ((Integer) IpackIconSelect.this.t.get(i)).intValue();
            String resourceEntryName = IpackIconSelect.this.getResources().getResourceEntryName(intValue);
            Iterator<String> it = IpackIconSelect.this.u.keySet().iterator();
            while (true) {
                if (!it.hasNext()) {
                    str = null;
                    break;
                } else {
                    str = it.next();
                    if (IpackIconSelect.this.u.getInt(str) == intValue) {
                        break;
                    }
                }
            }
            Intent intent = new Intent();
            intent.setData(Uri.parse("android.resource://" + IpackIconSelect.this.getPackageName() + "/" + resourceEntryName));
            if (str != null) {
                intent.putExtra("net.dinglisch.android.ipack.extras.ICON_LABEL", str);
            }
            intent.putExtra("net.dinglisch.android.ipack.extras.ICON_NAME", resourceEntryName);
            intent.putExtra("net.dinglisch.android.ipack.extras.ICON_ID", intValue);
            IpackIconSelect.this.setResult(-1, intent);
            IpackIconSelect.this.finish();
        }
    }

    public class d extends AsyncTask<Boolean, Integer, Boolean> {
        public d() {
        }

        @Override
        public Boolean doInBackground(Boolean... boolArr) {
            IpackIconSelect.this.k(boolArr[0].booleanValue());
            return Boolean.TRUE;
        }

        @Override
        public void onPostExecute(Boolean bool) {
            try {
                IpackIconSelect.this.v = null;
                IpackIconSelect.this.i();
                IpackIconSelect.this.setProgressBarIndeterminateVisibility(false);
            } catch (Exception unused) {
            }
        }
    }

    private TextView g() {
        TextView textView = new TextView(this);
        StringBuilder sb = new StringBuilder();
        sb.append("#");
        sb.append(this.u.size());
        String str = u5.a;
        if (!TextUtils.isEmpty(str)) {
            sb.append(" [");
            sb.append(str);
            sb.append("]");
        }
        textView.setText(sb.toString());
        textView.setTextSize(16.0f);
        textView.setPadding(5, 5, 5, 5);
        textView.setTypeface(Typeface.defaultFromStyle(2), 2);
        return textView;
    }

    private void h() {
        Bundle extras = getIntent().getExtras();
        if (extras != null) {
            try {
                if (extras.containsKey("net.dinglisch.android.ipack.extras.GRID_BACK_COLOUR")) {
                    this.r = extras.getInt("net.dinglisch.android.ipack.extras.GRID_BACK_COLOUR");
                }
                if (extras.containsKey("net.dinglisch.android.ipack.extras.CELL_SIZE")) {
                    this.q = extras.getInt("net.dinglisch.android.ipack.extras.CELL_SIZE");
                }
                if (extras.containsKey("net.dinglisch.android.ipack.extras.ICON_DISPLAY_SIZE")) {
                    this.q = extras.getInt("net.dinglisch.android.ipack.extras.ICON_DISPLAY_SIZE");
                }
            } catch (Exception e) {
                Log.d("Tasker Built-In", "exception parsing intent: " + e.toString());
            }
        }
    }

    public void i() {
        this.s.setAdapter((ListAdapter) new a());
    }

    private void j() {
        GridView gridView = new GridView(this);
        this.s = gridView;
        gridView.setBackgroundColor(this.r);
        this.s.setGravity(17);
        this.s.setPadding(10, 10, 10, 10);
        this.s.setNumColumns(getResources().getDisplayMetrics().widthPixels / this.q);
        this.s.setOnItemClickListener(new c());
    }

    public void k(boolean z) {
        Resources resources = getResources();
        HashMap hashMap = new HashMap();
        HashMap hashMap2 = new HashMap();
        Bundle bundle = this.u;
        if (bundle == null) {
            Log.e("IpackIconSelect", "sortIcons: null");
            return;
        }
        for (String str : bundle.keySet()) {
            int i = this.u.getInt(str);
            if (!z) {
                try {
                    Drawable g = ud.k0.g(resources, i, null);
                    if (g != null) {
                        hashMap.put(Integer.valueOf(i), Integer.valueOf(g.getIntrinsicHeight() * g.getIntrinsicWidth()));
                    }
                } catch (Resources.NotFoundException unused) {
                    Log.e("Tasker Built-In", "sort icons: resource not found: " + str);
                }
            }
            List<Integer> list = this.t;
            if (list != null) {
                list.add(Integer.valueOf(i));
            }
            hashMap2.put(Integer.valueOf(i), str);
        }
        Collections.sort(this.t, new b(z, hashMap2, hashMap));
    }

    @Override
    public void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setResult(0);
        u5.a(getResources(), this.u);
        h();
        j();
        requestWindowFeature(5);
        setTitle("Tasker Built-In");
        LinearLayout linearLayout = new LinearLayout(this);
        linearLayout.setId(2131297325);
        linearLayout.setOrientation(1);
        linearLayout.addView(g());
        linearLayout.addView(this.s);
        setContentView(linearLayout);
        setProgressBarIndeterminateVisibility(true);
        d dVar = new d();
        this.v = dVar;
        dVar.execute(Boolean.FALSE);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        this.s.setAdapter((ListAdapter) null);
        this.s = null;
        this.t = null;
        this.u = null;
        this.v = null;
    }
}