From 0c06f5c179fe530730d20067cb83726741bc429d Mon Sep 17 00:00:00 2001 From: "kai.cao" Date: Thu, 16 Apr 2015 10:15:45 +0800 Subject: [PATCH] [CMFileManager] The remember selection don't work when open a file Preconditions the system have two Activity have the same package name and the two activity receive the same action(Such as MediaPlaybackActivity and AudioPreview in "om.android.music" Procedures 1.Go into Music directory,open a mp3 file. 2.select remember selection in music(this is MediaPlaybackActivity). 3.back to filemanager,and open the file again. The file open as AudioPreview,it should open as MediaPlaybackActivity. Change-Id: I58469b0bf5bece221fdec8be8f2368c8c157a0fb --- .../cyanogenmod/filemanager/ui/policy/IntentsActionPolicy.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) mode change 100644 => 100755 src/com/cyanogenmod/filemanager/ui/policy/IntentsActionPolicy.java diff --git a/src/com/cyanogenmod/filemanager/ui/policy/IntentsActionPolicy.java b/src/com/cyanogenmod/filemanager/ui/policy/IntentsActionPolicy.java old mode 100644 new mode 100755 index aeeb4c9..043a362 --- a/src/com/cyanogenmod/filemanager/ui/policy/IntentsActionPolicy.java +++ b/src/com/cyanogenmod/filemanager/ui/policy/IntentsActionPolicy.java @@ -686,11 +686,15 @@ public final class IntentsActionPolicy extends ActionsPolicy { intentList.add(filter); packageManager.getPreferredActivities( intentList, prefActList, ri.activityInfo.packageName); - if (prefActList.size() > 0) { - pref.add(ri); + int count = prefActList.size(); + String activityName = ri.activityInfo.name; + for (int index = 0;index < count; index++) { + if (prefActList.get(index).getClassName().equals(activityName)) { + pref.add(ri); + break; + } } } - // No preferred activity is selected if (pref.size() == 0) { return null; -- 2.11.0