summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2019-01-29 22:49:22 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-01-29 22:49:22 +0000
commit3e8a69cd9d192479b44efb95753c7660e8485f3e (patch)
treedb451c93020aa8a9987b1655b0216ca8e5aa4ad1
parente2c6ce4b0beb4c8c6a035e3bf15077f4281f6a36 (diff)
parentd4caf851d32b2f1e87a1f43c876886d65506b9c9 (diff)
Merge "Fix typo: decrement not increment"
-rw-r--r--services/core/java/com/android/server/am/BroadcastDispatcher.java2
-rw-r--r--tests/ActivityTests/src/com/google/android/test/activity/ActivityTestMain.java26
2 files changed, 27 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/am/BroadcastDispatcher.java b/services/core/java/com/android/server/am/BroadcastDispatcher.java
index 0d46379112aa..6371cd376d19 100644
--- a/services/core/java/com/android/server/am/BroadcastDispatcher.java
+++ b/services/core/java/com/android/server/am/BroadcastDispatcher.java
@@ -312,7 +312,7 @@ public class BroadcastDispatcher {
final Intent intent = r.intent;
// Any in-flight broadcast has already been popped, and cannot be replaced.
// (This preserves existing behavior of the replacement API)
- for (int i = list.size() - 1; i >= 0; i++) {
+ for (int i = list.size() - 1; i >= 0; i--) {
old = list.get(i);
if (old.userId == r.userId && intent.filterEquals(old.intent)) {
if (DEBUG_BROADCAST) {
diff --git a/tests/ActivityTests/src/com/google/android/test/activity/ActivityTestMain.java b/tests/ActivityTests/src/com/google/android/test/activity/ActivityTestMain.java
index 2581e083cc64..d5549cc1355e 100644
--- a/tests/ActivityTests/src/com/google/android/test/activity/ActivityTestMain.java
+++ b/tests/ActivityTests/src/com/google/android/test/activity/ActivityTestMain.java
@@ -77,6 +77,7 @@ public class ActivityTestMain extends Activity {
static final int MSG_SPAM_ALARM = 2;
static final int MSG_SLOW_RECEIVER = 3;
static final int MSG_SLOW_ALARM_RECEIVER = 4;
+ static final int MSG_REPLACE_BROADCAST = 5;
final Handler mHandler = new Handler() {
@Override
@@ -138,6 +139,20 @@ public class ActivityTestMain extends Activity {
Log.i(TAG, "Setting alarm for now + 5 seconds");
am.setExact(AlarmManager.ELAPSED_REALTIME, now + 5_000, pi);
} break;
+ case MSG_REPLACE_BROADCAST: {
+ Intent intent = new Intent(ActivityTestMain.this, SlowReceiver.class);
+ intent.setAction(SLOW_RECEIVER_ACTION);
+ intent.putExtra(SLOW_RECEIVER_EXTRA, 1);
+ sendOrderedBroadcast(intent, null, mSlowReceiverCompletion, mHandler,
+ Activity.RESULT_OK, null, null);
+ intent.putExtra(SLOW_RECEIVER_EXTRA, 2);
+ sendOrderedBroadcast(intent, null, mSlowReceiverCompletion, mHandler,
+ Activity.RESULT_OK, null, null);
+ intent.putExtra(SLOW_RECEIVER_EXTRA, 5038);
+ intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING);
+ sendOrderedBroadcast(intent, null, mSlowReceiverCompletion, mHandler,
+ Activity.RESULT_OK, null, null);
+ } break;
}
super.handleMessage(msg);
}
@@ -418,6 +433,12 @@ public class ActivityTestMain extends Activity {
return true;
}
});
+ menu.add("Replace broadcast").setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
+ @Override public boolean onMenuItemClick(MenuItem item) {
+ scheduleReplaceBroadcast();
+ return true;
+ }
+ });
menu.add("Stack Doc").setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override public boolean onMenuItemClick(MenuItem item) {
ActivityManager.AppTask task = findDocTask();
@@ -616,6 +637,11 @@ public class ActivityTestMain extends Activity {
mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_SLOW_ALARM_RECEIVER), 500);
}
+ void scheduleReplaceBroadcast() {
+ mHandler.removeMessages(MSG_REPLACE_BROADCAST);
+ mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_REPLACE_BROADCAST), 500);
+ }
+
private View scrollWrap(View view) {
ScrollView scroller = new ScrollView(this);
scroller.addView(view, new ScrollView.LayoutParams(ScrollView.LayoutParams.MATCH_PARENT,