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

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

Merge "Prevent ClassCastException" into sc-v2-dev am: c8f32a43 am: 570f42a6

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

Change-Id: Ic8d3135c49411a63b7551060e3488925cd65306e
parents 406b4940 570f42a6
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -345,8 +345,12 @@ public class TileServices extends IQSService.Stub {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (TileService.ACTION_REQUEST_LISTENING.equals(intent.getAction())) {
                requestListening(
                        (ComponentName) intent.getParcelableExtra(Intent.EXTRA_COMPONENT_NAME));
                try {
                    ComponentName c = intent.getParcelableExtra(Intent.EXTRA_COMPONENT_NAME);
                    requestListening(c);
                } catch (ClassCastException ex) {
                    Log.e(TAG, "Bad component name", ex);
                }
            }
        }
    };
+12 −0
Original line number Diff line number Diff line
@@ -27,7 +27,9 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Handler;
import android.os.Looper;
@@ -151,6 +153,16 @@ public class TileServicesTest extends SysuiTestCase {
        assertTrue(captor.getValue().hasAction(TileService.ACTION_REQUEST_LISTENING));
    }

    @Test
    public void testBadComponentName_doesntCrash() {
        ArgumentCaptor<BroadcastReceiver> captor = ArgumentCaptor.forClass(BroadcastReceiver.class);
        verify(mBroadcastDispatcher).registerReceiver(captor.capture(), any(), any(), eq(
                UserHandle.ALL));
        Intent intent = new Intent(TileService.ACTION_REQUEST_LISTENING)
                .putExtra(Intent.EXTRA_COMPONENT_NAME, "abc");
        captor.getValue().onReceive(mContext, intent);
    }

    @Test
    public void testRecalculateBindAllowance() {
        // Add some fake tiles.