Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e106a018 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Put broadcast timekeeping on its own thread" into sc-dev am: 3bdaabfc

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13428345

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7da3a646cf588724db81e153a2afeb1bd5b6c726
parents 54cc48ec 3bdaabfc
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -35,6 +35,8 @@
            android:label="@string/permlab_testDenied"
            android:description="@string/permdesc_testDenied" />

    <uses-permission android:name="com.android.frameworks.coretests.permission.TEST_GRANTED" />

    <uses-permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM" />
    <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER" />
    <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED" />
@@ -76,7 +78,6 @@
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SMS"/>
    <uses-permission android:name="android.permission.TEST_GRANTED" />
    <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
    <uses-permission android:name="com.google.android.googleapps.permission.ACCESS_GOOGLE_PASSWORD" />
    <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH" />
@@ -1455,6 +1456,7 @@
            </intent-filter>
        </receiver>
        <receiver android:name="android.app.activity.RemoteGrantedReceiver"
                android:process=":remoteReceiver"
                android:permission="com.android.frameworks.coretests.permission.TEST_GRANTED"
                android:exported="true">
            <intent-filter android:priority="2">
@@ -1462,6 +1464,7 @@
            </intent-filter>
        </receiver>
        <receiver android:name="android.app.activity.RemoteDeniedReceiver"
                android:process=":remoteReceiver"
                android:permission="com.android.frameworks.coretests.permission.TEST_DENIED"
                android:exported="true">
            <intent-filter android:priority="2">
+28 −11
Original line number Diff line number Diff line
@@ -56,6 +56,8 @@ public class BroadcastTest extends ActivityTestsBase {
            "com.android.frameworks.coretests.activity.BROADCAST_MULTI";
    public static final String BROADCAST_ABORT =
            "com.android.frameworks.coretests.activity.BROADCAST_ABORT";
    public static final String BROADCAST_RESULT =
            "com.android.frameworks.coretests.activity.BROADCAST_RESULT";

    public static final String BROADCAST_STICKY1 =
            "com.android.frameworks.coretests.activity.BROADCAST_STICKY1";
@@ -106,7 +108,14 @@ public class BroadcastTest extends ActivityTestsBase {
    }

    public Intent makeBroadcastIntent(String action) {
        return makeBroadcastIntent(action, false);
    }

    public Intent makeBroadcastIntent(String action, boolean makeImplicit) {
        Intent intent = new Intent(action, null);
        if (makeImplicit) {
            intent.addFlags(intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
        }
        intent.putExtra("caller", mCallTarget);
        return intent;
    }
@@ -277,7 +286,7 @@ public class BroadcastTest extends ActivityTestsBase {
            map.putString("foo", "you");
            map.putString("remove", "me");
            getContext().sendOrderedBroadcast(
                    new Intent("com.android.frameworks.coretests.activity.BROADCAST_RESULT"),
                    makeBroadcastIntent(BROADCAST_RESULT, true),
                    null, broadcastReceiver, null, 1, "foo", map);
            while (!broadcastReceiver.mHaveResult) {
                try {
@@ -424,10 +433,13 @@ public class BroadcastTest extends ActivityTestsBase {

    public void testLocalReceivePermissionGranted() throws Exception {
        setExpectedReceivers(new String[]{RECEIVER_LOCAL});
        getContext().sendBroadcast(makeBroadcastIntent(BROADCAST_LOCAL_GRANTED));
        getContext().sendBroadcast(makeBroadcastIntent(BROADCAST_LOCAL_GRANTED, true));
        waitForResultOrThrow(BROADCAST_TIMEOUT);
    }

    /*
    // TODO: multi-package test b/c self-target broadcasts are always allowed
    // even when gated on ungranted permissions
    public void testLocalReceivePermissionDenied() throws Exception {
        setExpectedReceivers(new String[]{RECEIVER_RESULTS});

@@ -438,16 +450,17 @@ public class BroadcastTest extends ActivityTestsBase {
        };

        getContext().sendOrderedBroadcast(
                makeBroadcastIntent(BROADCAST_LOCAL_DENIED),
                makeBroadcastIntent(BROADCAST_LOCAL_DENIED, true),
                null, finish, null, Activity.RESULT_CANCELED,
                null, null);
        waitForResultOrThrow(BROADCAST_TIMEOUT);
    }
    */

    public void testLocalBroadcastPermissionGranted() throws Exception {
        setExpectedReceivers(new String[]{RECEIVER_LOCAL});
        getContext().sendBroadcast(
                makeBroadcastIntent(BROADCAST_LOCAL),
                makeBroadcastIntent(BROADCAST_LOCAL, true),
                PERMISSION_GRANTED);
        waitForResultOrThrow(BROADCAST_TIMEOUT);
    }
@@ -462,7 +475,7 @@ public class BroadcastTest extends ActivityTestsBase {
        };

        getContext().sendOrderedBroadcast(
                makeBroadcastIntent(BROADCAST_LOCAL),
                makeBroadcastIntent(BROADCAST_LOCAL, true),
                PERMISSION_DENIED, finish, null, Activity.RESULT_CANCELED,
                null, null);
        waitForResultOrThrow(BROADCAST_TIMEOUT);
@@ -470,10 +483,13 @@ public class BroadcastTest extends ActivityTestsBase {

    public void testRemoteReceivePermissionGranted() throws Exception {
        setExpectedReceivers(new String[]{RECEIVER_REMOTE});
        getContext().sendBroadcast(makeBroadcastIntent(BROADCAST_REMOTE_GRANTED));
        getContext().sendBroadcast(makeBroadcastIntent(BROADCAST_REMOTE_GRANTED, true));
        waitForResultOrThrow(BROADCAST_TIMEOUT);
    }

    /*
    // TODO: multi-package test b/c self-target broadcasts are always allowed
    // even when gated on ungranted permissions
    public void testRemoteReceivePermissionDenied() throws Exception {
        setExpectedReceivers(new String[]{RECEIVER_RESULTS});

@@ -484,16 +500,17 @@ public class BroadcastTest extends ActivityTestsBase {
        };

        getContext().sendOrderedBroadcast(
                makeBroadcastIntent(BROADCAST_REMOTE_DENIED),
                makeBroadcastIntent(BROADCAST_REMOTE_DENIED, true),
                null, finish, null, Activity.RESULT_CANCELED,
                null, null);
        waitForResultOrThrow(BROADCAST_TIMEOUT);
    }
    */

    public void testRemoteBroadcastPermissionGranted() throws Exception {
        setExpectedReceivers(new String[]{RECEIVER_REMOTE});
        getContext().sendBroadcast(
                makeBroadcastIntent(BROADCAST_REMOTE),
                makeBroadcastIntent(BROADCAST_REMOTE, true),
                PERMISSION_GRANTED);
        waitForResultOrThrow(BROADCAST_TIMEOUT);
    }
@@ -508,7 +525,7 @@ public class BroadcastTest extends ActivityTestsBase {
        };

        getContext().sendOrderedBroadcast(
                makeBroadcastIntent(BROADCAST_REMOTE),
                makeBroadcastIntent(BROADCAST_REMOTE, true),
                PERMISSION_DENIED, finish, null, Activity.RESULT_CANCELED,
                null, null);
        waitForResultOrThrow(BROADCAST_TIMEOUT);
@@ -516,13 +533,13 @@ public class BroadcastTest extends ActivityTestsBase {

    public void testReceiverCanNotRegister() throws Exception {
        setExpectedReceivers(new String[]{RECEIVER_LOCAL});
        getContext().sendBroadcast(makeBroadcastIntent(BROADCAST_FAIL_REGISTER));
        getContext().sendBroadcast(makeBroadcastIntent(BROADCAST_FAIL_REGISTER, true));
        waitForResultOrThrow(BROADCAST_TIMEOUT);
    }

    public void testReceiverCanNotBind() throws Exception {
        setExpectedReceivers(new String[]{RECEIVER_LOCAL});
        getContext().sendBroadcast(makeBroadcastIntent(BROADCAST_FAIL_BIND));
        getContext().sendBroadcast(makeBroadcastIntent(BROADCAST_FAIL_BIND, true));
        waitForResultOrThrow(BROADCAST_TIMEOUT);
    }

+25 −15
Original line number Diff line number Diff line
@@ -253,16 +253,16 @@ public class LaunchpadActivity extends Activity {
                sendBroadcast(makeBroadcastIntent(BROADCAST_REGISTERED));
            } else if (BROADCAST_LOCAL.equals(action)) {
                setExpectedReceivers(new String[]{RECEIVER_LOCAL});
                sendBroadcast(makeBroadcastIntent(BROADCAST_LOCAL));
                sendBroadcast(makeBroadcastIntent(BROADCAST_LOCAL, true));
            } else if (BROADCAST_REMOTE.equals(action)) {
                setExpectedReceivers(new String[]{RECEIVER_REMOTE});
                sendBroadcast(makeBroadcastIntent(BROADCAST_REMOTE));
                sendBroadcast(makeBroadcastIntent(BROADCAST_REMOTE, true));
            } else if (BROADCAST_ALL.equals(action)) {
                setExpectedReceivers(new String[]{
                        RECEIVER_REMOTE, RECEIVER_REG, RECEIVER_LOCAL});
                registerMyReceiver(new IntentFilter(BROADCAST_ALL));
                sCallingTest.addIntermediate("after-register");
                sendOrderedBroadcast(makeBroadcastIntent(BROADCAST_ALL), null);
                sendOrderedBroadcast(makeBroadcastIntent(BROADCAST_ALL, true), null);
            } else if (BROADCAST_MULTI.equals(action)) {
                setExpectedReceivers(new String[]{
                        RECEIVER_REMOTE, RECEIVER_REG, RECEIVER_LOCAL,
@@ -277,23 +277,26 @@ public class LaunchpadActivity extends Activity {
                        RECEIVER_REMOTE, RECEIVER_LOCAL});
                registerMyReceiver(new IntentFilter(BROADCAST_ALL));
                sCallingTest.addIntermediate("after-register");
                sendOrderedBroadcast(makeBroadcastIntent(BROADCAST_ALL), null);
                sendOrderedBroadcast(makeBroadcastIntent(BROADCAST_ALL), null);
                sendOrderedBroadcast(makeBroadcastIntent(BROADCAST_ALL), null);
                sendOrderedBroadcast(makeBroadcastIntent(BROADCAST_LOCAL), null);
                sendOrderedBroadcast(makeBroadcastIntent(BROADCAST_REMOTE), null);
                sendOrderedBroadcast(makeBroadcastIntent(BROADCAST_LOCAL), null);
                sendOrderedBroadcast(makeBroadcastIntent(BROADCAST_REMOTE), null);
                sendOrderedBroadcast(makeBroadcastIntent(BROADCAST_ALL), null);
                sendOrderedBroadcast(makeBroadcastIntent(BROADCAST_ALL), null);
                sendOrderedBroadcast(makeBroadcastIntent(BROADCAST_ALL), null);
                sendOrderedBroadcast(makeBroadcastIntent(BROADCAST_REPEAT), null);
                final Intent allIntent = makeBroadcastIntent(BROADCAST_ALL, true);
                final Intent localIntent = makeBroadcastIntent(BROADCAST_LOCAL, true);
                final Intent remoteIntent = makeBroadcastIntent(BROADCAST_REMOTE, true);
                sendOrderedBroadcast(allIntent, null);
                sendOrderedBroadcast(allIntent, null);
                sendOrderedBroadcast(allIntent, null);
                sendOrderedBroadcast(localIntent, null);
                sendOrderedBroadcast(remoteIntent, null);
                sendOrderedBroadcast(localIntent, null);
                sendOrderedBroadcast(remoteIntent, null);
                sendOrderedBroadcast(allIntent, null);
                sendOrderedBroadcast(allIntent, null);
                sendOrderedBroadcast(allIntent, null);
                sendOrderedBroadcast(makeBroadcastIntent(BROADCAST_REPEAT, true), null);
            } else if (BROADCAST_ABORT.equals(action)) {
                setExpectedReceivers(new String[]{
                        RECEIVER_REMOTE, RECEIVER_ABORT});
                registerMyReceiver(new IntentFilter(BROADCAST_ABORT));
                sCallingTest.addIntermediate("after-register");
                sendOrderedBroadcast(makeBroadcastIntent(BROADCAST_ABORT), null);
                sendOrderedBroadcast(makeBroadcastIntent(BROADCAST_ABORT, true), null);
            } else if (BROADCAST_STICKY1.equals(action)) {
                setExpectedReceivers(new String[]{RECEIVER_REG});
                setExpectedData(new String[]{DATA_1});
@@ -436,7 +439,14 @@ public class LaunchpadActivity extends Activity {
    }

    private Intent makeBroadcastIntent(String action) {
        return makeBroadcastIntent(action, false);
    }

    private Intent makeBroadcastIntent(String action, boolean makeImplicit) {
        Intent intent = new Intent(action, null);
        if (makeImplicit) {
            intent.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
        }
        intent.putExtra("caller", mCallTarget);
        return intent;
    }
+1 −1
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ import android.os.RemoteException;
import android.os.IBinder;
import android.os.Parcel;

class LocalDeniedReceiver extends BroadcastReceiver {
public class LocalDeniedReceiver extends BroadcastReceiver {
    public LocalDeniedReceiver() {
    }

+1 −1
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ import android.os.RemoteException;
import android.os.IBinder;
import android.os.Parcel;

class RemoteDeniedReceiver extends BroadcastReceiver {
public class RemoteDeniedReceiver extends BroadcastReceiver {
    public RemoteDeniedReceiver() {
    }

Loading