diff options
author | Svetoslav <svetoslavganov@google.com> | 2013-10-29 08:28:45 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-10-29 08:28:45 -0700 |
commit | a4e1f4352149b15fa64e9b85928f0b1ba00486fb (patch) | |
tree | 06073d9e0c259ac41617ef518faf2ca0d77edc1f | |
parent | 330c6be9dcda95cc2666c2a0cb62ea1cfc9a1d48 (diff) | |
parent | ac5d3827409dff757531347c5232bb34ea727274 (diff) | |
download | frameworks_base-a4e1f4352149b15fa64e9b85928f0b1ba00486fb.zip frameworks_base-a4e1f4352149b15fa64e9b85928f0b1ba00486fb.tar.gz frameworks_base-a4e1f4352149b15fa64e9b85928f0b1ba00486fb.tar.bz2 |
am ac5d3827: Merge "Share pack historical sorting using wrong keys." into klp-dev
* commit 'ac5d3827409dff757531347c5232bb34ea727274':
Share pack historical sorting using wrong keys.
-rw-r--r-- | core/java/android/widget/ActivityChooserModel.java | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/core/java/android/widget/ActivityChooserModel.java b/core/java/android/widget/ActivityChooserModel.java index 00a92ca..61df922 100644 --- a/core/java/android/widget/ActivityChooserModel.java +++ b/core/java/android/widget/ActivityChooserModel.java @@ -938,29 +938,31 @@ public class ActivityChooserModel extends DataSetObservable { private final class DefaultSorter implements ActivitySorter { private static final float WEIGHT_DECAY_COEFFICIENT = 0.95f; - private final Map<String, ActivityResolveInfo> mPackageNameToActivityMap = - new HashMap<String, ActivityResolveInfo>(); + private final Map<ComponentName, ActivityResolveInfo> mPackageNameToActivityMap = + new HashMap<ComponentName, ActivityResolveInfo>(); public void sort(Intent intent, List<ActivityResolveInfo> activities, List<HistoricalRecord> historicalRecords) { - Map<String, ActivityResolveInfo> packageNameToActivityMap = - mPackageNameToActivityMap; - packageNameToActivityMap.clear(); + Map<ComponentName, ActivityResolveInfo> componentNameToActivityMap = + mPackageNameToActivityMap; + componentNameToActivityMap.clear(); final int activityCount = activities.size(); for (int i = 0; i < activityCount; i++) { ActivityResolveInfo activity = activities.get(i); activity.weight = 0.0f; - String packageName = activity.resolveInfo.activityInfo.packageName; - packageNameToActivityMap.put(packageName, activity); + ComponentName componentName = new ComponentName( + activity.resolveInfo.activityInfo.packageName, + activity.resolveInfo.activityInfo.name); + componentNameToActivityMap.put(componentName, activity); } final int lastShareIndex = historicalRecords.size() - 1; float nextRecordWeight = 1; for (int i = lastShareIndex; i >= 0; i--) { HistoricalRecord historicalRecord = historicalRecords.get(i); - String packageName = historicalRecord.activity.getPackageName(); - ActivityResolveInfo activity = packageNameToActivityMap.get(packageName); + ComponentName componentName = historicalRecord.activity; + ActivityResolveInfo activity = componentNameToActivityMap.get(componentName); if (activity != null) { activity.weight += historicalRecord.weight * nextRecordWeight; nextRecordWeight = nextRecordWeight * WEIGHT_DECAY_COEFFICIENT; |