summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSvetoslav <svetoslavganov@google.com>2013-10-29 08:28:45 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-10-29 08:28:45 -0700
commita4e1f4352149b15fa64e9b85928f0b1ba00486fb (patch)
tree06073d9e0c259ac41617ef518faf2ca0d77edc1f
parent330c6be9dcda95cc2666c2a0cb62ea1cfc9a1d48 (diff)
parentac5d3827409dff757531347c5232bb34ea727274 (diff)
downloadframeworks_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.java20
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;