Merge "Fix issue #2538228: Intents targeting browsers constantly nagging" into froyo
This commit is contained in:
committed by
Android (Google) Code Review
commit
4c8a63ca4d
@@ -154,6 +154,42 @@ public class Am {
|
|||||||
} else if (opt.equals("-f")) {
|
} else if (opt.equals("-f")) {
|
||||||
String str = nextArgRequired();
|
String str = nextArgRequired();
|
||||||
intent.setFlags(Integer.decode(str).intValue());
|
intent.setFlags(Integer.decode(str).intValue());
|
||||||
|
} else if (opt.equals("--grant-read-uri-permission")) {
|
||||||
|
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
|
||||||
|
} else if (opt.equals("--grant-write-uri-permission")) {
|
||||||
|
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
|
||||||
|
} else if (opt.equals("--debug-log-resolution")) {
|
||||||
|
intent.addFlags(Intent.FLAG_DEBUG_LOG_RESOLUTION);
|
||||||
|
} else if (opt.equals("--activity-brought-to-front")) {
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
|
||||||
|
} else if (opt.equals("--activity-clear-top")) {
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||||
|
} else if (opt.equals("--activity-clear-when-task-reset")) {
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
|
||||||
|
} else if (opt.equals("--activity-exclude-from-recents")) {
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
|
||||||
|
} else if (opt.equals("--activity-launched-from-history")) {
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
|
||||||
|
} else if (opt.equals("--activity-multiple-task")) {
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
|
||||||
|
} else if (opt.equals("--activity-no-animation")) {
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
|
||||||
|
} else if (opt.equals("--activity-no-history")) {
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
|
||||||
|
} else if (opt.equals("--activity-no-user-action")) {
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_NO_USER_ACTION);
|
||||||
|
} else if (opt.equals("--activity-previous-is-top")) {
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
|
||||||
|
} else if (opt.equals("--activity-reorder-to-front")) {
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
|
||||||
|
} else if (opt.equals("--activity-reset-task-if-needed")) {
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
|
||||||
|
} else if (opt.equals("--activity-single-top")) {
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
|
||||||
|
} else if (opt.equals("--receiver-registered-only")) {
|
||||||
|
intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY);
|
||||||
|
} else if (opt.equals("--receiver-replace-pending")) {
|
||||||
|
intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING);
|
||||||
} else if (opt.equals("-D")) {
|
} else if (opt.equals("-D")) {
|
||||||
mDebugOption = true;
|
mDebugOption = true;
|
||||||
} else if (opt.equals("-W")) {
|
} else if (opt.equals("-W")) {
|
||||||
@@ -565,7 +601,18 @@ public class Am {
|
|||||||
" [--esn <EXTRA_KEY> ...]\n" +
|
" [--esn <EXTRA_KEY> ...]\n" +
|
||||||
" [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]\n" +
|
" [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]\n" +
|
||||||
" [-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]\n" +
|
" [-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]\n" +
|
||||||
" [-n <COMPONENT>] [-f <FLAGS>] [<URI>]\n"
|
" [-n <COMPONENT>] [-f <FLAGS>]\n" +
|
||||||
|
" [--grant-read-uri-permission] [--grant-write-uri-permission]\n" +
|
||||||
|
" [--debug-log-resolution]\n" +
|
||||||
|
" [--activity-brought-to-front] [--activity-clear-top]\n" +
|
||||||
|
" [--activity-clear-when-task-reset] [--activity-exclude-from-recents]\n" +
|
||||||
|
" [--activity-launched-from-history] [--activity-multiple-task]\n" +
|
||||||
|
" [--activity-no-animation] [--activity-no-history]\n" +
|
||||||
|
" [--activity-no-user-action] [--activity-previous-is-top]\n" +
|
||||||
|
" [--activity-reorder-to-front] [--activity-reset-task-if-needed]\n" +
|
||||||
|
" [--activity-single-top]\n" +
|
||||||
|
" [--receiver-registered-only] [--receiver-replace-pending]\n" +
|
||||||
|
" [<URI>]\n"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -133,31 +133,39 @@ public class ResolverActivity extends AlertActivity implements
|
|||||||
filter = null;
|
filter = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (data != null && data.getScheme() != null) {
|
}
|
||||||
filter.addDataScheme(data.getScheme());
|
if (data != null && data.getScheme() != null) {
|
||||||
|
// We need the data specification if there was no type,
|
||||||
// Look through the resolved filter to determine which part
|
// OR if the scheme is not one of our magical "file:"
|
||||||
// of it matched the original Intent.
|
// or "content:" schemes (see IntentFilter for the reason).
|
||||||
Iterator<IntentFilter.AuthorityEntry> aIt = ri.filter.authoritiesIterator();
|
if (cat != IntentFilter.MATCH_CATEGORY_TYPE
|
||||||
if (aIt != null) {
|
|| (!"file".equals(data.getScheme())
|
||||||
while (aIt.hasNext()) {
|
&& !"content".equals(data.getScheme()))) {
|
||||||
IntentFilter.AuthorityEntry a = aIt.next();
|
filter.addDataScheme(data.getScheme());
|
||||||
if (a.match(data) >= 0) {
|
|
||||||
int port = a.getPort();
|
// Look through the resolved filter to determine which part
|
||||||
filter.addDataAuthority(a.getHost(),
|
// of it matched the original Intent.
|
||||||
port >= 0 ? Integer.toString(port) : null);
|
Iterator<IntentFilter.AuthorityEntry> aIt = ri.filter.authoritiesIterator();
|
||||||
break;
|
if (aIt != null) {
|
||||||
|
while (aIt.hasNext()) {
|
||||||
|
IntentFilter.AuthorityEntry a = aIt.next();
|
||||||
|
if (a.match(data) >= 0) {
|
||||||
|
int port = a.getPort();
|
||||||
|
filter.addDataAuthority(a.getHost(),
|
||||||
|
port >= 0 ? Integer.toString(port) : null);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
Iterator<PatternMatcher> pIt = ri.filter.pathsIterator();
|
||||||
Iterator<PatternMatcher> pIt = ri.filter.pathsIterator();
|
if (pIt != null) {
|
||||||
if (pIt != null) {
|
String path = data.getPath();
|
||||||
String path = data.getPath();
|
while (path != null && pIt.hasNext()) {
|
||||||
while (path != null && pIt.hasNext()) {
|
PatternMatcher p = pIt.next();
|
||||||
PatternMatcher p = pIt.next();
|
if (p.match(path)) {
|
||||||
if (p.match(path)) {
|
filter.addDataPath(p.getPath(), p.getType());
|
||||||
filter.addDataPath(p.getPath(), p.getType());
|
break;
|
||||||
break;
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user