aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillPreferenceActivity.java
diff options
context:
space:
mode:
authorMatthew Wong <wongma@protonmail.ch>2015-08-14 13:31:23 -0400
committerMatthew Wong <wongma@protonmail.ch>2015-08-14 17:38:17 -0400
commit8388d8530a63d1484607aa83faa27a99adb40f8e (patch)
treec45b0dd6d027a5ba45cbd8542a280698c9a997be /app/src/main/java/com/zeapo/pwdstore/autofill/AutofillPreferenceActivity.java
parentb260a19be7172ad34487669a02c3002bc234b3b2 (diff)
downloadHardenedPass-8388d8530a63d1484607aa83faa27a99adb40f8e.tar.gz
HardenedPass-8388d8530a63d1484607aa83faa27a99adb40f8e.zip
Load icons & labels async beforehand as well
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/autofill/AutofillPreferenceActivity.java')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/autofill/AutofillPreferenceActivity.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillPreferenceActivity.java b/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillPreferenceActivity.java
index 1170d7b7..16867bcd 100644
--- a/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillPreferenceActivity.java
+++ b/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillPreferenceActivity.java
@@ -4,6 +4,7 @@ import android.app.DialogFragment;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
+import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.NavUtils;
@@ -13,12 +14,14 @@ import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.SearchView;
+import android.util.Pair;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import com.zeapo.pwdstore.R;
+import java.util.HashMap;
import java.util.List;
public class AutofillPreferenceActivity extends AppCompatActivity {
@@ -60,7 +63,14 @@ public class AutofillPreferenceActivity extends AppCompatActivity {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> allApps = pm.queryIntentActivities(intent, 0);
- recyclerAdapter = new AutofillRecyclerAdapter(allApps, pm, AutofillPreferenceActivity.this);
+
+ HashMap<String, Pair<Drawable, String>> iconMap = new HashMap<>(allApps.size());
+ for (ResolveInfo app : allApps) {
+ iconMap.put(app.activityInfo.packageName
+ , Pair.create(app.loadIcon(pm), app.loadLabel(pm).toString()));
+ }
+
+ recyclerAdapter = new AutofillRecyclerAdapter(allApps, iconMap, pm, AutofillPreferenceActivity.this);
return null;
}